mirror of
https://gitlab.nic.cz/turris/reforis/foris-js.git
synced 2025-06-15 13:36:35 +02:00
Compare commits
53 Commits
Author | SHA1 | Date | |
---|---|---|---|
30fd6f91b4 | |||
5a53eca138 | |||
8d2a4dc108 | |||
2481a0c025 | |||
71697424c5 | |||
07f8e3b9de | |||
c9f2b24095 | |||
087ecfa670 | |||
e6365ecac4 | |||
e57722caa0 | |||
babdf92ddd | |||
42294316d9 | |||
b65e034b04 | |||
14b90bbbd4 | |||
85b207b1dd | |||
79e61d9507 | |||
6795c3941b | |||
969e8e6411 | |||
0099759279 | |||
87c81a2a2d | |||
81b71f8153 | |||
c0fd0adbc9 | |||
1ec0a26199 | |||
76e37b738a | |||
8a69d14429 | |||
4d5395c826 | |||
1fb83e08ea | |||
e6cfc6dbb0 | |||
a93a64bf96 | |||
1ab77decfd | |||
b6e1e0adae | |||
a7a4e76cd1 | |||
e7758cab9a | |||
bf88b76613 | |||
3cf85a9516 | |||
7c8442300a | |||
e849397aa2 | |||
c1b44d498c | |||
1b5a5da953 | |||
7f45201f05 | |||
f34d9bbdbd | |||
c7ff3f42f6 | |||
a1036514dd | |||
a352f12279 | |||
acfbeb2c43 | |||
3bef624ce4 | |||
7d0d52666d | |||
52fe5d65a6 | |||
b99add91cf | |||
b7a4613cf4 | |||
9e2278e016 | |||
83a6ff75f6 | |||
02f3803265 |
65
CHANGELOG.md
65
CHANGELOG.md
@ -8,6 +8,64 @@ and this project adheres to
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [6.5.0] - 2024-11-13
|
||||
|
||||
### Added
|
||||
|
||||
- Added & updated Weblate translations
|
||||
- Added RichTable component with pagination and sorting
|
||||
- Added @tanstack/react-table v8.20.5 to dependencies
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated documentation
|
||||
- Replaced RebootButton with ActionButtonWithModal component
|
||||
- Fixed import path for CustomizationContextMock in customTestRender.js
|
||||
|
||||
## [6.4.0] - 2024-10-02
|
||||
|
||||
### Changed
|
||||
|
||||
- Refactored Alert component to include dismiss animation and timeout
|
||||
- Refactored ThreeDotsMenu component to include additional props
|
||||
|
||||
## [6.3.0] - 2024-09-27
|
||||
|
||||
### Added
|
||||
|
||||
- Added ThreeDotsMenu component
|
||||
|
||||
### Changed
|
||||
|
||||
- Refactored EmailInput description
|
||||
- Refactored RadioSet & ignore Radio component
|
||||
- Refactored npm package badge in introduction.md
|
||||
- NPM audit fix
|
||||
|
||||
## [6.2.1] - 2024-09-25
|
||||
|
||||
### Added
|
||||
|
||||
- Added & updated Weblate translations
|
||||
|
||||
### Changed
|
||||
|
||||
- Refactored CopyInput component
|
||||
- Refactored ForisURLs to include new URLs for Overview page
|
||||
|
||||
## [6.2.0] - 2024-09-20
|
||||
|
||||
### Added
|
||||
|
||||
- Added useFocusTrap hook
|
||||
- Added extendSession endpoint
|
||||
|
||||
### Changed
|
||||
|
||||
- Refactored Spinner.css to use CSS variable for color
|
||||
- Refactored Modal component to use useFocusTrap hook
|
||||
- Refactored Alert component to use useFocusTrap hook
|
||||
|
||||
## [6.1.1] - 2024-08-30
|
||||
|
||||
### Added
|
||||
@ -361,7 +419,12 @@ and this project adheres to
|
||||
## [0.0.7] - 2019-09-02
|
||||
|
||||
[unreleased]:
|
||||
https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.1.1...master
|
||||
https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.5.0...dev
|
||||
[6.5.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.4.0...v6.5.0
|
||||
[6.4.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.3.0...v6.4.0
|
||||
[6.3.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.1...v6.3.0
|
||||
[6.2.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.0...v6.2.1
|
||||
[6.2.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.1.1...v6.2.0
|
||||
[6.1.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.1.0...v6.1.1
|
||||
[6.1.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.3...v6.1.0
|
||||
[6.0.3]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.2...v6.0.3
|
||||
|
@ -33,5 +33,4 @@ To install a specific version:
|
||||
npm install foris@version
|
||||
```
|
||||
|
||||
<a target="_blank" href="https://www.npmjs.com/package/foris">Check
|
||||
on<img width="100px" src="./docs/forisjs-npm.svg"></a>
|
||||
[](https://badge.fury.io/js/foris)
|
||||
|
298
package-lock.json
generated
298
package-lock.json
generated
@ -1,18 +1,19 @@
|
||||
{
|
||||
"name": "foris",
|
||||
"version": "6.1.1",
|
||||
"version": "6.5.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "foris",
|
||||
"version": "6.1.1",
|
||||
"version": "6.5.0",
|
||||
"license": "GPL-3.0",
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-svg-core": "^6.6.0",
|
||||
"@fortawesome/free-regular-svg-icons": "^6.6.0",
|
||||
"@fortawesome/free-solid-svg-icons": "^6.6.0",
|
||||
"@fortawesome/react-fontawesome": "^0.2.2",
|
||||
"@tanstack/react-table": "^8.20.5",
|
||||
"axios": "^1.7.2",
|
||||
"immutability-helper": "^3.1.1",
|
||||
"moment": "^2.30.1",
|
||||
@ -3583,6 +3584,39 @@
|
||||
"@sinonjs/commons": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/react-table": {
|
||||
"version": "8.20.5",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.20.5.tgz",
|
||||
"integrity": "sha512-WEHopKw3znbUZ61s9i0+i9g8drmDo6asTWbrQh8Us63DAk/M0FkmIqERew6P71HI75ksZ2Pxyuf4vvKh9rAkiA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@tanstack/table-core": "8.20.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8",
|
||||
"react-dom": ">=16.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/table-core": {
|
||||
"version": "8.20.5",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.20.5.tgz",
|
||||
"integrity": "sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
}
|
||||
},
|
||||
"node_modules/@testing-library/dom": {
|
||||
"version": "5.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz",
|
||||
@ -5017,10 +5051,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/body-parser": {
|
||||
"version": "1.20.2",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
|
||||
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
|
||||
"version": "1.20.3",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
|
||||
"integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"bytes": "3.1.2",
|
||||
"content-type": "~1.0.5",
|
||||
@ -5030,7 +5065,7 @@
|
||||
"http-errors": "2.0.0",
|
||||
"iconv-lite": "0.4.24",
|
||||
"on-finished": "2.4.1",
|
||||
"qs": "6.11.0",
|
||||
"qs": "6.13.0",
|
||||
"raw-body": "2.5.2",
|
||||
"type-is": "~1.6.18",
|
||||
"unpipe": "1.0.0"
|
||||
@ -5045,6 +5080,7 @@
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
||||
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
@ -5054,6 +5090,7 @@
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
@ -5062,7 +5099,8 @@
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/bonjour-service": {
|
||||
"version": "1.2.1",
|
||||
@ -5902,6 +5940,7 @@
|
||||
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
|
||||
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
@ -6540,6 +6579,7 @@
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
||||
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
@ -6558,6 +6598,7 @@
|
||||
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
|
||||
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.8",
|
||||
"npm": "1.2.8000 || >= 1.4.16"
|
||||
@ -6678,7 +6719,8 @@
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.4.792",
|
||||
@ -6714,10 +6756,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/encodeurl": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
|
||||
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
@ -7909,6 +7952,7 @@
|
||||
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
||||
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
@ -8036,37 +8080,38 @@
|
||||
}
|
||||
},
|
||||
"node_modules/express": {
|
||||
"version": "4.19.2",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
|
||||
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
|
||||
"version": "4.21.0",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz",
|
||||
"integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"accepts": "~1.3.8",
|
||||
"array-flatten": "1.1.1",
|
||||
"body-parser": "1.20.2",
|
||||
"body-parser": "1.20.3",
|
||||
"content-disposition": "0.5.4",
|
||||
"content-type": "~1.0.4",
|
||||
"cookie": "0.6.0",
|
||||
"cookie-signature": "1.0.6",
|
||||
"debug": "2.6.9",
|
||||
"depd": "2.0.0",
|
||||
"encodeurl": "~1.0.2",
|
||||
"encodeurl": "~2.0.0",
|
||||
"escape-html": "~1.0.3",
|
||||
"etag": "~1.8.1",
|
||||
"finalhandler": "1.2.0",
|
||||
"finalhandler": "1.3.1",
|
||||
"fresh": "0.5.2",
|
||||
"http-errors": "2.0.0",
|
||||
"merge-descriptors": "1.0.1",
|
||||
"merge-descriptors": "1.0.3",
|
||||
"methods": "~1.1.2",
|
||||
"on-finished": "2.4.1",
|
||||
"parseurl": "~1.3.3",
|
||||
"path-to-regexp": "0.1.7",
|
||||
"path-to-regexp": "0.1.10",
|
||||
"proxy-addr": "~2.0.7",
|
||||
"qs": "6.11.0",
|
||||
"qs": "6.13.0",
|
||||
"range-parser": "~1.2.1",
|
||||
"safe-buffer": "5.2.1",
|
||||
"send": "0.18.0",
|
||||
"serve-static": "1.15.0",
|
||||
"send": "0.19.0",
|
||||
"serve-static": "1.16.2",
|
||||
"setprototypeof": "1.2.0",
|
||||
"statuses": "2.0.1",
|
||||
"type-is": "~1.6.18",
|
||||
@ -8093,10 +8138,11 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/express/node_modules/path-to-regexp": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
|
||||
"dev": true
|
||||
"version": "0.1.10",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
|
||||
"integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/express/node_modules/safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
@ -8272,13 +8318,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/finalhandler": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
|
||||
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
|
||||
"integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"debug": "2.6.9",
|
||||
"encodeurl": "~1.0.2",
|
||||
"encodeurl": "~2.0.0",
|
||||
"escape-html": "~1.0.3",
|
||||
"on-finished": "2.4.1",
|
||||
"parseurl": "~1.3.3",
|
||||
@ -8294,6 +8341,7 @@
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
@ -8302,7 +8350,8 @@
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/find-cache-dir": {
|
||||
"version": "3.3.1",
|
||||
@ -8679,6 +8728,7 @@
|
||||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
||||
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
@ -9252,6 +9302,7 @@
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
||||
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"depd": "2.0.0",
|
||||
"inherits": "2.0.4",
|
||||
@ -9366,6 +9417,7 @@
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"safer-buffer": ">= 2.1.2 < 3"
|
||||
},
|
||||
@ -13712,6 +13764,7 @@
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
@ -13729,10 +13782,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/merge-descriptors": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
||||
"integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
|
||||
"dev": true
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
|
||||
"integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/merge-stream": {
|
||||
"version": "2.0.0",
|
||||
@ -13797,6 +13854,7 @@
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
|
||||
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"mime": "cli.js"
|
||||
},
|
||||
@ -14213,6 +14271,7 @@
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
||||
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ee-first": "1.1.1"
|
||||
},
|
||||
@ -14534,10 +14593,11 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/path-to-regexp": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
|
||||
"integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
|
||||
"version": "1.9.0",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz",
|
||||
"integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"isarray": "0.0.1"
|
||||
}
|
||||
@ -15005,12 +15065,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/qs": {
|
||||
"version": "6.11.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
|
||||
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
|
||||
"version": "6.13.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
|
||||
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"side-channel": "^1.0.4"
|
||||
"side-channel": "^1.0.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.6"
|
||||
@ -15077,6 +15138,7 @@
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
|
||||
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"bytes": "3.1.2",
|
||||
"http-errors": "2.0.0",
|
||||
@ -15092,6 +15154,7 @@
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
||||
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
@ -15464,7 +15527,6 @@
|
||||
"version": "16.9.0",
|
||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.9.0.tgz",
|
||||
"integrity": "sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"loose-envify": "^1.1.0",
|
||||
"object-assign": "^4.1.1",
|
||||
@ -16218,7 +16280,6 @@
|
||||
"version": "0.15.0",
|
||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
|
||||
"integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"loose-envify": "^1.1.0",
|
||||
"object-assign": "^4.1.1"
|
||||
@ -16271,10 +16332,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/send": {
|
||||
"version": "0.18.0",
|
||||
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
|
||||
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
|
||||
"version": "0.19.0",
|
||||
"resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
|
||||
"integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"debug": "2.6.9",
|
||||
"depd": "2.0.0",
|
||||
@ -16299,6 +16361,7 @@
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
@ -16307,13 +16370,25 @@
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/send/node_modules/encodeurl": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/send/node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/serialize-javascript": {
|
||||
"version": "6.0.2",
|
||||
@ -16403,15 +16478,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/serve-static": {
|
||||
"version": "1.15.0",
|
||||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
|
||||
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
|
||||
"version": "1.16.2",
|
||||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
|
||||
"integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"encodeurl": "~1.0.2",
|
||||
"encodeurl": "~2.0.0",
|
||||
"escape-html": "~1.0.3",
|
||||
"parseurl": "~1.3.3",
|
||||
"send": "0.18.0"
|
||||
"send": "0.19.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8.0"
|
||||
@ -16453,7 +16529,8 @@
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
||||
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/shell-quote": {
|
||||
"version": "1.8.1",
|
||||
@ -16674,6 +16751,7 @@
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
||||
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
@ -17195,6 +17273,7 @@
|
||||
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
||||
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.6"
|
||||
}
|
||||
@ -17321,6 +17400,7 @@
|
||||
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
|
||||
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"media-typer": "0.3.0",
|
||||
"mime-types": "~2.1.24"
|
||||
@ -17578,6 +17658,7 @@
|
||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
@ -21053,6 +21134,19 @@
|
||||
"@sinonjs/commons": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"@tanstack/react-table": {
|
||||
"version": "8.20.5",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.20.5.tgz",
|
||||
"integrity": "sha512-WEHopKw3znbUZ61s9i0+i9g8drmDo6asTWbrQh8Us63DAk/M0FkmIqERew6P71HI75ksZ2Pxyuf4vvKh9rAkiA==",
|
||||
"requires": {
|
||||
"@tanstack/table-core": "8.20.5"
|
||||
}
|
||||
},
|
||||
"@tanstack/table-core": {
|
||||
"version": "8.20.5",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.20.5.tgz",
|
||||
"integrity": "sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg=="
|
||||
},
|
||||
"@testing-library/dom": {
|
||||
"version": "5.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz",
|
||||
@ -22279,9 +22373,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"body-parser": {
|
||||
"version": "1.20.2",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
|
||||
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
|
||||
"version": "1.20.3",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
|
||||
"integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"bytes": "3.1.2",
|
||||
@ -22292,7 +22386,7 @@
|
||||
"http-errors": "2.0.0",
|
||||
"iconv-lite": "0.4.24",
|
||||
"on-finished": "2.4.1",
|
||||
"qs": "6.11.0",
|
||||
"qs": "6.13.0",
|
||||
"raw-body": "2.5.2",
|
||||
"type-is": "~1.6.18",
|
||||
"unpipe": "1.0.0"
|
||||
@ -23517,9 +23611,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"encodeurl": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
|
||||
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
|
||||
"dev": true
|
||||
},
|
||||
"enhanced-resolve": {
|
||||
@ -24492,37 +24586,37 @@
|
||||
}
|
||||
},
|
||||
"express": {
|
||||
"version": "4.19.2",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
|
||||
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
|
||||
"version": "4.21.0",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz",
|
||||
"integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"accepts": "~1.3.8",
|
||||
"array-flatten": "1.1.1",
|
||||
"body-parser": "1.20.2",
|
||||
"body-parser": "1.20.3",
|
||||
"content-disposition": "0.5.4",
|
||||
"content-type": "~1.0.4",
|
||||
"cookie": "0.6.0",
|
||||
"cookie-signature": "1.0.6",
|
||||
"debug": "2.6.9",
|
||||
"depd": "2.0.0",
|
||||
"encodeurl": "~1.0.2",
|
||||
"encodeurl": "~2.0.0",
|
||||
"escape-html": "~1.0.3",
|
||||
"etag": "~1.8.1",
|
||||
"finalhandler": "1.2.0",
|
||||
"finalhandler": "1.3.1",
|
||||
"fresh": "0.5.2",
|
||||
"http-errors": "2.0.0",
|
||||
"merge-descriptors": "1.0.1",
|
||||
"merge-descriptors": "1.0.3",
|
||||
"methods": "~1.1.2",
|
||||
"on-finished": "2.4.1",
|
||||
"parseurl": "~1.3.3",
|
||||
"path-to-regexp": "0.1.7",
|
||||
"path-to-regexp": "0.1.10",
|
||||
"proxy-addr": "~2.0.7",
|
||||
"qs": "6.11.0",
|
||||
"qs": "6.13.0",
|
||||
"range-parser": "~1.2.1",
|
||||
"safe-buffer": "5.2.1",
|
||||
"send": "0.18.0",
|
||||
"serve-static": "1.15.0",
|
||||
"send": "0.19.0",
|
||||
"serve-static": "1.16.2",
|
||||
"setprototypeof": "1.2.0",
|
||||
"statuses": "2.0.1",
|
||||
"type-is": "~1.6.18",
|
||||
@ -24546,9 +24640,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"path-to-regexp": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
|
||||
"version": "0.1.10",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
|
||||
"integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
|
||||
"dev": true
|
||||
},
|
||||
"safe-buffer": {
|
||||
@ -24683,13 +24777,13 @@
|
||||
}
|
||||
},
|
||||
"finalhandler": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
|
||||
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
|
||||
"integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"debug": "2.6.9",
|
||||
"encodeurl": "~1.0.2",
|
||||
"encodeurl": "~2.0.0",
|
||||
"escape-html": "~1.0.3",
|
||||
"on-finished": "2.4.1",
|
||||
"parseurl": "~1.3.3",
|
||||
@ -28792,9 +28886,9 @@
|
||||
}
|
||||
},
|
||||
"merge-descriptors": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
||||
"integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
|
||||
"integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
|
||||
"dev": true
|
||||
},
|
||||
"merge-stream": {
|
||||
@ -29377,9 +29471,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"path-to-regexp": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
|
||||
"integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
|
||||
"version": "1.9.0",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz",
|
||||
"integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"isarray": "0.0.1"
|
||||
@ -29711,12 +29805,12 @@
|
||||
"requires": {}
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.11.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
|
||||
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
|
||||
"version": "6.13.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
|
||||
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"side-channel": "^1.0.4"
|
||||
"side-channel": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"qss": {
|
||||
@ -30034,7 +30128,6 @@
|
||||
"version": "16.9.0",
|
||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.9.0.tgz",
|
||||
"integrity": "sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loose-envify": "^1.1.0",
|
||||
"object-assign": "^4.1.1",
|
||||
@ -30599,7 +30692,6 @@
|
||||
"version": "0.15.0",
|
||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
|
||||
"integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loose-envify": "^1.1.0",
|
||||
"object-assign": "^4.1.1"
|
||||
@ -30639,9 +30731,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"send": {
|
||||
"version": "0.18.0",
|
||||
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
|
||||
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
|
||||
"version": "0.19.0",
|
||||
"resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
|
||||
"integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"debug": "2.6.9",
|
||||
@ -30676,6 +30768,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"encodeurl": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
||||
"dev": true
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
@ -30762,15 +30860,15 @@
|
||||
}
|
||||
},
|
||||
"serve-static": {
|
||||
"version": "1.15.0",
|
||||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
|
||||
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
|
||||
"version": "1.16.2",
|
||||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
|
||||
"integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"encodeurl": "~1.0.2",
|
||||
"encodeurl": "~2.0.0",
|
||||
"escape-html": "~1.0.3",
|
||||
"parseurl": "~1.3.3",
|
||||
"send": "0.18.0"
|
||||
"send": "0.19.0"
|
||||
}
|
||||
},
|
||||
"set-function-length": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "foris",
|
||||
"version": "6.1.1",
|
||||
"version": "6.5.0",
|
||||
"description": "Foris JS library is a set of components and utils for reForis application and plugins.",
|
||||
"author": "CZ.NIC, z.s.p.o.",
|
||||
"repository": {
|
||||
@ -18,6 +18,7 @@
|
||||
"@fortawesome/free-regular-svg-icons": "^6.6.0",
|
||||
"@fortawesome/free-solid-svg-icons": "^6.6.0",
|
||||
"@fortawesome/react-fontawesome": "^0.2.2",
|
||||
"@tanstack/react-table": "^8.20.5",
|
||||
"axios": "^1.7.2",
|
||||
"immutability-helper": "^3.1.1",
|
||||
"moment": "^2.30.1",
|
||||
|
@ -5,10 +5,12 @@
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
import React, { useRef, useEffect, useState } from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { useFocusTrap } from "../utils/hooks";
|
||||
|
||||
export const ALERT_TYPES = Object.freeze({
|
||||
PRIMARY: "primary",
|
||||
SECONDARY: "secondary",
|
||||
@ -37,17 +39,37 @@ Alert.defaultProps = {
|
||||
};
|
||||
|
||||
function Alert({ type, onDismiss, children }) {
|
||||
const alertRef = useRef();
|
||||
const [isVisible, setIsVisible] = useState(true);
|
||||
useFocusTrap(alertRef, !!onDismiss);
|
||||
|
||||
useEffect(() => {
|
||||
if (onDismiss) {
|
||||
const timeout = setTimeout(() => setIsVisible(false), 7000);
|
||||
return () => clearTimeout(timeout);
|
||||
}
|
||||
}, [onDismiss]);
|
||||
|
||||
const handleAnimationEnd = () => {
|
||||
if (!isVisible && onDismiss) {
|
||||
onDismiss();
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div
|
||||
className={`alert alert-${type} ${
|
||||
ref={alertRef}
|
||||
className={`alert alert-${type} ${isVisible ? "alert-fade-in" : "alert-slide-out-top"} ${
|
||||
onDismiss ? "alert-dismissible" : ""
|
||||
}`.trim()}
|
||||
role="alert"
|
||||
onAnimationEnd={handleAnimationEnd}
|
||||
>
|
||||
{onDismiss && (
|
||||
<button
|
||||
type="button"
|
||||
className="btn-close"
|
||||
onClick={onDismiss}
|
||||
onClick={() => setIsVisible(false)}
|
||||
aria-label={_("Close")}
|
||||
/>
|
||||
)}
|
||||
|
@ -48,15 +48,13 @@ function CopyInput({ value, ...props }) {
|
||||
|
||||
return (
|
||||
<Input type="text" value={value} ref={inputTextRef} {...props}>
|
||||
<div className="input-group-append">
|
||||
<button
|
||||
className="btn btn-outline-secondary"
|
||||
type="button"
|
||||
onClick={handleCopyClick}
|
||||
>
|
||||
<span>{isCopied ? _("Copied!") : _("Copy")}</span>
|
||||
</button>
|
||||
</div>
|
||||
<button
|
||||
className="btn btn-outline-secondary"
|
||||
type="button"
|
||||
onClick={handleCopyClick}
|
||||
>
|
||||
<span>{isCopied ? _("Copied!") : _("Copy")}</span>
|
||||
</button>
|
||||
</Input>
|
||||
);
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ All additional `props` are passed to the `<input type="email">` HTML component.
|
||||
|
||||
```js
|
||||
import { useState } from "react";
|
||||
import Button from "./Button";
|
||||
const [email, setEmail] = useState("Wrong email");
|
||||
<form onSubmit={(e) => e.preventDefault()}>
|
||||
<EmailInput
|
||||
@ -14,6 +15,6 @@ const [email, setEmail] = useState("Wrong email");
|
||||
helpText="Read the small text!"
|
||||
onChange={(event) => setEmail(event.target.value)}
|
||||
/>
|
||||
<button type="submit">Try to submit</button>
|
||||
<Button type="submit">Try to submit</Button>
|
||||
</form>;
|
||||
```
|
||||
|
@ -9,7 +9,7 @@ import React, { useRef, useEffect } from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { useClickOutside } from "../utils/hooks";
|
||||
import { useClickOutside, useFocusTrap } from "../utils/hooks";
|
||||
import Portal from "../utils/Portal";
|
||||
import "./Modal.css";
|
||||
|
||||
@ -29,10 +29,11 @@ Modal.propTypes = {
|
||||
};
|
||||
|
||||
export function Modal({ shown, setShown, scrollable, size, children }) {
|
||||
const dialogRef = useRef();
|
||||
const modalRef = useRef();
|
||||
let modalSize = "modal-";
|
||||
|
||||
useClickOutside(dialogRef, () => setShown(false));
|
||||
useClickOutside(modalRef, () => setShown(false));
|
||||
useFocusTrap(modalRef, shown);
|
||||
|
||||
useEffect(() => {
|
||||
const handleEsc = (event) => {
|
||||
@ -65,11 +66,13 @@ export function Modal({ shown, setShown, scrollable, size, children }) {
|
||||
return (
|
||||
<Portal containerId="modal-container">
|
||||
<div
|
||||
ref={modalRef}
|
||||
className={`modal fade ${shown ? "show" : ""}`.trim()}
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
aria-labelledby="modal-title"
|
||||
>
|
||||
<div
|
||||
ref={dialogRef}
|
||||
className={`${modalSize.trim()} modal-dialog modal-dialog-centered ${
|
||||
scrollable ? "modal-dialog-scrollable" : ""
|
||||
}`.trim()}
|
||||
@ -90,7 +93,7 @@ ModalHeader.propTypes = {
|
||||
export function ModalHeader({ setShown, title }) {
|
||||
return (
|
||||
<div className="modal-header">
|
||||
<h5 className="modal-title">{title}</h5>
|
||||
<h1 className="modal-title fs-5">{title}</h1>
|
||||
<button
|
||||
type="button"
|
||||
className="btn-close"
|
||||
|
48
src/bootstrap/Radio.js
Normal file
48
src/bootstrap/Radio.js
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright (C) 2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
Radio.propTypes = {
|
||||
label: PropTypes.oneOfType([
|
||||
PropTypes.string,
|
||||
PropTypes.element,
|
||||
PropTypes.node,
|
||||
PropTypes.arrayOf(PropTypes.node),
|
||||
]).isRequired,
|
||||
id: PropTypes.string.isRequired,
|
||||
inline: PropTypes.bool,
|
||||
helpText: PropTypes.string,
|
||||
className: PropTypes.string,
|
||||
};
|
||||
|
||||
function Radio({ label, id, helpText, inline, className, ...props }) {
|
||||
return (
|
||||
<div
|
||||
className={`${className || "mb-3"} ${inline ? "form-check form-check-inline" : ""}`.trim()}
|
||||
>
|
||||
<input
|
||||
id={id}
|
||||
className="form-check-input me-2"
|
||||
type="radio"
|
||||
{...props}
|
||||
/>
|
||||
<label className="form-check-label" htmlFor={id}>
|
||||
{label}
|
||||
{helpText && (
|
||||
<div className="form-text">
|
||||
<small>{helpText}</small>
|
||||
</div>
|
||||
)}
|
||||
</label>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default Radio;
|
@ -10,6 +10,8 @@ import React from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import { useUID } from "react-uid";
|
||||
|
||||
import Radio from "./Radio";
|
||||
|
||||
RadioSet.propTypes = {
|
||||
/** Name attribute of the input HTML tag. */
|
||||
name: PropTypes.string.isRequired,
|
||||
@ -73,40 +75,4 @@ function RadioSet({ name, label, choices, value, helpText, inline, ...props }) {
|
||||
);
|
||||
}
|
||||
|
||||
Radio.propTypes = {
|
||||
label: PropTypes.oneOfType([
|
||||
PropTypes.string,
|
||||
PropTypes.element,
|
||||
PropTypes.node,
|
||||
PropTypes.arrayOf(PropTypes.node),
|
||||
]).isRequired,
|
||||
id: PropTypes.string.isRequired,
|
||||
inline: PropTypes.bool,
|
||||
helpText: PropTypes.string,
|
||||
className: PropTypes.string,
|
||||
};
|
||||
|
||||
export function Radio({ label, id, helpText, inline, className, ...props }) {
|
||||
return (
|
||||
<div
|
||||
className={`${className || "mb-3"} ${inline ? "form-check form-check-inline" : ""}`.trim()}
|
||||
>
|
||||
<input
|
||||
id={id}
|
||||
className="form-check-input me-2"
|
||||
type="radio"
|
||||
{...props}
|
||||
/>
|
||||
<label className="form-check-label" htmlFor={id}>
|
||||
{label}
|
||||
{helpText && (
|
||||
<div className="form-text">
|
||||
<small>{helpText}</small>
|
||||
</div>
|
||||
)}
|
||||
</label>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default RadioSet;
|
||||
|
@ -9,7 +9,7 @@
|
||||
.spinner-wrapper .spinner-border {
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
color: #00a2e2;
|
||||
color: var(--bs-primary);
|
||||
}
|
||||
|
||||
.spinner-fs-background {
|
||||
|
42
src/bootstrap/ThreeDotsMenu.js
Normal file
42
src/bootstrap/ThreeDotsMenu.js
Normal file
@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright (C) 2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import { faEllipsisVertical } from "@fortawesome/free-solid-svg-icons";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import Button from "./Button";
|
||||
|
||||
ThreeDotsMenu.propTypes = {
|
||||
/** Menu items. */
|
||||
children: PropTypes.arrayOf(PropTypes.node).isRequired,
|
||||
};
|
||||
|
||||
function ThreeDotsMenu({ children, ...props }) {
|
||||
return (
|
||||
<div className="dropdown position-static" {...props}>
|
||||
<Button
|
||||
className="btn-sm btn-link text-body"
|
||||
data-bs-toggle="dropdown"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<FontAwesomeIcon icon={faEllipsisVertical} />
|
||||
</Button>
|
||||
<ul className="dropdown-menu">
|
||||
{children.map((child) => (
|
||||
<li key={child.key || child.props.id || Math.random()}>
|
||||
{child}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default ThreeDotsMenu;
|
40
src/bootstrap/ThreeDotsMenu.md
Normal file
40
src/bootstrap/ThreeDotsMenu.md
Normal file
@ -0,0 +1,40 @@
|
||||
ThreeDotsMenu Bootstrap component is a dropdown menu that appears when the user
|
||||
clicks on three dots. It is used to display a list of actions that can be
|
||||
performed on a particular item.
|
||||
|
||||
```js
|
||||
import { useState } from "react";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import { faEdit, faTrash } from "@fortawesome/free-solid-svg-icons";
|
||||
|
||||
const threeDotsMenuItems = [
|
||||
{
|
||||
text: "Edit",
|
||||
icon: faEdit,
|
||||
onClick: () => {
|
||||
alert("Edit clicked");
|
||||
},
|
||||
},
|
||||
{
|
||||
text: "Delete",
|
||||
icon: faTrash,
|
||||
onClick: () => {
|
||||
alert("Delete clicked");
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
<ThreeDotsMenu>
|
||||
{threeDotsMenuItems.map((item, index) => (
|
||||
<button key={index} onClick={item.onClick} className="dropdown-item">
|
||||
<FontAwesomeIcon
|
||||
icon={item.icon}
|
||||
className="me-1"
|
||||
width="1rem"
|
||||
size="sm"
|
||||
/>
|
||||
{item.text}
|
||||
</button>
|
||||
))}
|
||||
</ThreeDotsMenu>;
|
||||
```
|
135
src/common/ActionButtonWithModal/ActionButtonWithModal.js
Normal file
135
src/common/ActionButtonWithModal/ActionButtonWithModal.js
Normal file
@ -0,0 +1,135 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React, { useState, useEffect } from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { useAPIPost } from "../../api/hooks";
|
||||
import { API_STATE } from "../../api/utils";
|
||||
import Button from "../../bootstrap/Button";
|
||||
import {
|
||||
Modal,
|
||||
ModalHeader,
|
||||
ModalBody,
|
||||
ModalFooter,
|
||||
} from "../../bootstrap/Modal";
|
||||
import { useAlert } from "../../context/alertContext/AlertContext";
|
||||
|
||||
ActionButtonWithModal.propTypes = {
|
||||
/** Component that triggers the action. */
|
||||
actionTrigger: PropTypes.elementType.isRequired,
|
||||
/** URL to send the action to. */
|
||||
actionUrl: PropTypes.string.isRequired,
|
||||
/** Title of the modal. */
|
||||
modalTitle: PropTypes.string.isRequired,
|
||||
/** Message of the modal. */
|
||||
modalMessage: PropTypes.string.isRequired,
|
||||
/** Text of the action button in the modal. */
|
||||
modalActionText: PropTypes.string,
|
||||
/** Props for the action button in the modal. */
|
||||
modalActionProps: PropTypes.object,
|
||||
/** Message to display on successful action. */
|
||||
successMessage: PropTypes.string,
|
||||
/** Message to display on failed action. */
|
||||
errorMessage: PropTypes.string,
|
||||
};
|
||||
|
||||
function ActionButtonWithModal({
|
||||
actionTrigger: ActionTriggerComponent,
|
||||
actionUrl,
|
||||
modalTitle,
|
||||
modalMessage,
|
||||
modalActionText,
|
||||
modalActionProps,
|
||||
successMessage,
|
||||
errorMessage,
|
||||
}) {
|
||||
const [triggered, setTriggered] = useState(false);
|
||||
const [modalShown, setModalShown] = useState(false);
|
||||
const [triggerActionStatus, triggerAction] = useAPIPost(actionUrl);
|
||||
|
||||
const [setAlert] = useAlert();
|
||||
useEffect(() => {
|
||||
if (triggerActionStatus.state === API_STATE.SUCCESS) {
|
||||
setAlert(
|
||||
successMessage || _("Action successful."),
|
||||
API_STATE.SUCCESS
|
||||
);
|
||||
}
|
||||
if (triggerActionStatus.state === API_STATE.ERROR) {
|
||||
setAlert(errorMessage || _("Action failed."));
|
||||
}
|
||||
}, [triggerActionStatus, setAlert, successMessage, errorMessage]);
|
||||
|
||||
const actionHandler = () => {
|
||||
setTriggered(true);
|
||||
triggerAction();
|
||||
setModalShown(false);
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<ActionModal
|
||||
shown={modalShown}
|
||||
setShown={setModalShown}
|
||||
onAction={actionHandler}
|
||||
title={modalTitle}
|
||||
message={modalMessage}
|
||||
actionText={modalActionText}
|
||||
actionProps={modalActionProps}
|
||||
/>
|
||||
<ActionTriggerComponent
|
||||
loading={triggered}
|
||||
disabled={triggered}
|
||||
onClick={() => setModalShown(true)}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
ActionModal.propTypes = {
|
||||
shown: PropTypes.bool.isRequired,
|
||||
setShown: PropTypes.func.isRequired,
|
||||
onAction: PropTypes.func.isRequired,
|
||||
title: PropTypes.string.isRequired,
|
||||
message: PropTypes.string.isRequired,
|
||||
actionText: PropTypes.string,
|
||||
actionProps: PropTypes.object,
|
||||
};
|
||||
|
||||
function ActionModal({
|
||||
shown,
|
||||
setShown,
|
||||
onAction,
|
||||
title,
|
||||
message,
|
||||
actionText,
|
||||
actionProps,
|
||||
}) {
|
||||
return (
|
||||
<Modal shown={shown} setShown={setShown}>
|
||||
<ModalHeader setShown={setShown} title={title} />
|
||||
<ModalBody>
|
||||
<p className="mb-0">{message}</p>
|
||||
</ModalBody>
|
||||
<ModalFooter>
|
||||
<Button
|
||||
className="btn-secondary"
|
||||
onClick={() => setShown(false)}
|
||||
>
|
||||
{_("Cancel")}
|
||||
</Button>
|
||||
<Button onClick={onAction} {...actionProps}>
|
||||
{actionText || _("Confirm")}
|
||||
</Button>
|
||||
</ModalFooter>
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
|
||||
export default ActionButtonWithModal;
|
39
src/common/ActionButtonWithModal/ActionButtonWithModal.md
Normal file
39
src/common/ActionButtonWithModal/ActionButtonWithModal.md
Normal file
@ -0,0 +1,39 @@
|
||||
RebootButton component is a button that opens a modal dialog to confirm the
|
||||
reboot of the device.
|
||||
|
||||
## Usage
|
||||
|
||||
```jsx
|
||||
import React, { useEffect, createContext } from "react";
|
||||
|
||||
import Button from "../../bootstrap/Button";
|
||||
import { AlertContextProvider } from "../../context/alertContext/AlertContext";
|
||||
import ActionButtonWithModal from "./ActionButtonWithModal";
|
||||
|
||||
window.AlertContext = React.createContext();
|
||||
|
||||
const RebootButtonExample = () => {
|
||||
const ActionButton = (props) => {
|
||||
return <Button {...props}>Action</Button>;
|
||||
};
|
||||
|
||||
return (
|
||||
<AlertContextProvider>
|
||||
<div id="modal-container" />
|
||||
<div id="alert-container" />
|
||||
<ActionButtonWithModal
|
||||
actionTrigger={ActionButton}
|
||||
actionUrl="/reforis/api/action"
|
||||
modalTitle="Warning!"
|
||||
modalMessage="Are you sure you want to perform this action?"
|
||||
modalActionText="Confirm action"
|
||||
modalActionProps={{ className: "btn-danger" }}
|
||||
successMessage="Action request succeeded."
|
||||
errorMessage="Action request failed."
|
||||
/>
|
||||
</AlertContextProvider>
|
||||
);
|
||||
};
|
||||
|
||||
<RebootButtonExample />;
|
||||
```
|
@ -1,80 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React, { useState, useEffect } from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { useAPIPost } from "../api/hooks";
|
||||
import { API_STATE } from "../api/utils";
|
||||
import Button from "../bootstrap/Button";
|
||||
import { Modal, ModalHeader, ModalBody, ModalFooter } from "../bootstrap/Modal";
|
||||
import { useAlert } from "../context/alertContext/AlertContext";
|
||||
import { ForisURLs } from "../utils/forisUrls";
|
||||
|
||||
function RebootButton(props) {
|
||||
const [triggered, setTriggered] = useState(false);
|
||||
const [modalShown, setModalShown] = useState(false);
|
||||
const [triggerRebootStatus, triggerReboot] = useAPIPost(ForisURLs.reboot);
|
||||
|
||||
const [setAlert] = useAlert();
|
||||
useEffect(() => {
|
||||
if (triggerRebootStatus.state === API_STATE.ERROR) {
|
||||
setAlert(_("Reboot request failed."));
|
||||
}
|
||||
});
|
||||
|
||||
const rebootHandler = () => {
|
||||
setTriggered(true);
|
||||
triggerReboot();
|
||||
setModalShown(false);
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<RebootModal
|
||||
shown={modalShown}
|
||||
setShown={setModalShown}
|
||||
onReboot={rebootHandler}
|
||||
/>
|
||||
<Button
|
||||
className="btn-danger"
|
||||
loading={triggered}
|
||||
disabled={triggered}
|
||||
onClick={() => setModalShown(true)}
|
||||
{...props}
|
||||
>
|
||||
{_("Reboot")}
|
||||
</Button>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
RebootModal.propTypes = {
|
||||
shown: PropTypes.bool.isRequired,
|
||||
setShown: PropTypes.func.isRequired,
|
||||
onReboot: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
function RebootModal({ shown, setShown, onReboot }) {
|
||||
return (
|
||||
<Modal shown={shown} setShown={setShown}>
|
||||
<ModalHeader setShown={setShown} title={_("Warning!")} />
|
||||
<ModalBody>
|
||||
<p>{_("Are you sure you want to restart the router?")}</p>
|
||||
</ModalBody>
|
||||
<ModalFooter>
|
||||
<Button onClick={() => setShown(false)}>{_("Cancel")}</Button>
|
||||
<Button className="btn-danger" onClick={onReboot}>
|
||||
{_("Confirm reboot")}
|
||||
</Button>
|
||||
</ModalFooter>
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
|
||||
export default RebootButton;
|
84
src/common/RichTable/RichTable.js
Normal file
84
src/common/RichTable/RichTable.js
Normal file
@ -0,0 +1,84 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React, { useMemo, useState } from "react";
|
||||
|
||||
import {
|
||||
flexRender,
|
||||
getCoreRowModel,
|
||||
getSortedRowModel,
|
||||
getPaginationRowModel,
|
||||
useReactTable,
|
||||
} from "@tanstack/react-table";
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import RichTableBody from "./RichTableBody";
|
||||
import RichTableHeader from "./RichTableHeader";
|
||||
import RichTablePagination from "./RichTablePagination";
|
||||
|
||||
const fallbackData = [];
|
||||
|
||||
RichTable.propTypes = {
|
||||
/** Columns to be displayed in the table */
|
||||
columns: PropTypes.array.isRequired,
|
||||
/** Data to be displayed in the table */
|
||||
data: PropTypes.array.isRequired,
|
||||
/** Whether to display pagination */
|
||||
withPagination: PropTypes.bool,
|
||||
/** Number of rows per page */
|
||||
pageSize: PropTypes.number,
|
||||
/** Index of the current page */
|
||||
pageIndex: PropTypes.number,
|
||||
};
|
||||
|
||||
function RichTable({
|
||||
columns,
|
||||
data,
|
||||
withPagination,
|
||||
pageSize = 5,
|
||||
pageIndex = 0,
|
||||
}) {
|
||||
const tableColumns = useMemo(() => columns, [columns]);
|
||||
const [tableData] = useState(data ?? fallbackData);
|
||||
const [sorting, setSorting] = useState([]);
|
||||
const [pagination, setPagination] = useState({
|
||||
pageIndex,
|
||||
pageSize,
|
||||
});
|
||||
|
||||
const table = useReactTable({
|
||||
data: tableData,
|
||||
columns: tableColumns,
|
||||
getCoreRowModel: getCoreRowModel(),
|
||||
getSortedRowModel: getSortedRowModel(),
|
||||
getPaginationRowModel: getPaginationRowModel(),
|
||||
onPaginationChange: setPagination,
|
||||
onSortingChange: setSorting,
|
||||
state: {
|
||||
sorting,
|
||||
pagination,
|
||||
},
|
||||
});
|
||||
|
||||
return (
|
||||
<div className="table-responsive">
|
||||
<table className="table table-hover text-nowrap">
|
||||
<RichTableHeader table={table} flexRender={flexRender} />
|
||||
<RichTableBody table={table} flexRender={flexRender} />
|
||||
</table>
|
||||
{withPagination && (
|
||||
<RichTablePagination
|
||||
table={table}
|
||||
tablePageSize={pageSize}
|
||||
allRows={tableData.length}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default RichTable;
|
135
src/common/RichTable/RichTable.md
Normal file
135
src/common/RichTable/RichTable.md
Normal file
@ -0,0 +1,135 @@
|
||||
### Description
|
||||
|
||||
Rich Table is a table component based on
|
||||
[Tanstack React Table](https://tanstack.com/table/). It adds some features to
|
||||
the table component, such as:
|
||||
|
||||
- **Pagination**: The table can be paginated.
|
||||
- **Sorting**: The table can be sorted by columns.
|
||||
- **Row Expansion**: The table rows can be expanded. (To be implemented)
|
||||
|
||||
### Example
|
||||
|
||||
```js
|
||||
import RichTable from "./RichTable";
|
||||
|
||||
const columns = [
|
||||
{
|
||||
header: "Name",
|
||||
accessorKey: "name",
|
||||
},
|
||||
{
|
||||
header: "Surname",
|
||||
accessorKey: "surname",
|
||||
},
|
||||
{
|
||||
header: "Age",
|
||||
accessorKey: "age",
|
||||
},
|
||||
{
|
||||
header: "Phone",
|
||||
accessorKey: "phone",
|
||||
},
|
||||
];
|
||||
|
||||
const data = [
|
||||
{
|
||||
name: "John",
|
||||
surname: "Coltrane",
|
||||
age: 30,
|
||||
phone: "123456789",
|
||||
},
|
||||
{
|
||||
name: "Jane",
|
||||
surname: "Doe",
|
||||
age: 25,
|
||||
phone: "987654321",
|
||||
},
|
||||
{
|
||||
name: "Alice",
|
||||
surname: "Smith",
|
||||
age: 35,
|
||||
phone: "123456789",
|
||||
},
|
||||
{
|
||||
name: "Bob",
|
||||
surname: "Smith",
|
||||
age: 40,
|
||||
phone: "987654321",
|
||||
},
|
||||
{
|
||||
name: "Charlie",
|
||||
surname: "Brown",
|
||||
age: 45,
|
||||
phone: "123456789",
|
||||
},
|
||||
{
|
||||
name: "Daisy",
|
||||
surname: "Brown",
|
||||
age: 50,
|
||||
phone: "987654321",
|
||||
},
|
||||
{
|
||||
name: "Eve",
|
||||
surname: "Johnson",
|
||||
age: 55,
|
||||
phone: "123456789",
|
||||
},
|
||||
{
|
||||
name: "Frank",
|
||||
surname: "Johnson",
|
||||
age: 60,
|
||||
phone: "987654321",
|
||||
},
|
||||
{
|
||||
name: "Grace",
|
||||
surname: "Williams",
|
||||
age: 65,
|
||||
phone: "123456789",
|
||||
},
|
||||
{
|
||||
name: "Henry",
|
||||
surname: "Williams",
|
||||
age: 70,
|
||||
phone: "987654321",
|
||||
},
|
||||
{
|
||||
name: "Ivy",
|
||||
surname: "Brown",
|
||||
age: 75,
|
||||
phone: "123456789",
|
||||
},
|
||||
{
|
||||
name: "Jack",
|
||||
surname: "Brown",
|
||||
age: 80,
|
||||
phone: "987654321",
|
||||
},
|
||||
{
|
||||
name: "Kelly",
|
||||
surname: "Johnson",
|
||||
age: 85,
|
||||
phone: "123456789",
|
||||
},
|
||||
{
|
||||
name: "Liam",
|
||||
surname: "Johnson",
|
||||
age: 90,
|
||||
phone: "987654321",
|
||||
},
|
||||
{
|
||||
name: "Mia",
|
||||
surname: "Williams",
|
||||
age: 95,
|
||||
phone: "123456789",
|
||||
},
|
||||
{
|
||||
name: "Nathan",
|
||||
surname: "Williams",
|
||||
age: 100,
|
||||
phone: "987654321",
|
||||
},
|
||||
];
|
||||
|
||||
<RichTable columns={columns} data={data} withPagination />;
|
||||
```
|
48
src/common/RichTable/RichTableBody.js
Normal file
48
src/common/RichTable/RichTableBody.js
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import propTypes from "prop-types";
|
||||
|
||||
RichTableBody.propTypes = {
|
||||
table: propTypes.shape({
|
||||
getRowModel: propTypes.func.isRequired,
|
||||
}).isRequired,
|
||||
flexRender: propTypes.func.isRequired,
|
||||
};
|
||||
|
||||
function RichTableBody({ table, flexRender }) {
|
||||
return (
|
||||
<tbody>
|
||||
{table.getRowModel().rows.map((row) => {
|
||||
return (
|
||||
<tr key={row.id} className="align-middle">
|
||||
{row.getVisibleCells().map((cell) => {
|
||||
return (
|
||||
<td
|
||||
key={cell.id}
|
||||
{...(cell.column.columnDef.className && {
|
||||
className:
|
||||
cell.column.columnDef.className,
|
||||
})}
|
||||
>
|
||||
{flexRender(
|
||||
cell.column.columnDef.cell,
|
||||
cell.getContext()
|
||||
)}
|
||||
</td>
|
||||
);
|
||||
})}
|
||||
</tr>
|
||||
);
|
||||
})}
|
||||
</tbody>
|
||||
);
|
||||
}
|
||||
|
||||
export default RichTableBody;
|
96
src/common/RichTable/RichTableHeader.js
Normal file
96
src/common/RichTable/RichTableHeader.js
Normal file
@ -0,0 +1,96 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import {
|
||||
faSquareCaretUp,
|
||||
faSquareCaretDown,
|
||||
} from "@fortawesome/free-solid-svg-icons";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import propTypes from "prop-types";
|
||||
|
||||
RichTableHeader.propTypes = {
|
||||
table: propTypes.shape({
|
||||
getHeaderGroups: propTypes.func.isRequired,
|
||||
}).isRequired,
|
||||
flexRender: propTypes.func.isRequired,
|
||||
};
|
||||
|
||||
function RichTableHeader({ table, flexRender }) {
|
||||
const getThTitle = (header) => {
|
||||
if (!header.column.getCanSort()) return undefined;
|
||||
|
||||
const nextSortingOrder = header.column.getNextSortingOrder();
|
||||
if (nextSortingOrder === "asc") return _("Sort ascending");
|
||||
if (nextSortingOrder === "desc") return _("Sort descending");
|
||||
return _("Clear sort");
|
||||
};
|
||||
|
||||
return (
|
||||
<thead className="thead-light">
|
||||
{table.getHeaderGroups().map((headerGroup) => (
|
||||
<tr key={headerGroup.id} role="row">
|
||||
{headerGroup.headers.map((header) => (
|
||||
<th
|
||||
key={header.id}
|
||||
colSpan={header.colSpan}
|
||||
{...(header.column.columnDef.headerClassName && {
|
||||
className:
|
||||
header.column.columnDef.headerClassName,
|
||||
})}
|
||||
>
|
||||
{header.isPlaceholder ||
|
||||
header.column.columnDef.headerIsHidden ? (
|
||||
<div className="d-none" aria-hidden="true">
|
||||
{flexRender(
|
||||
header.column.columnDef.header,
|
||||
header.getContext()
|
||||
)}
|
||||
</div>
|
||||
) : (
|
||||
<button
|
||||
type="button"
|
||||
className={`btn btn-link text-decoration-none text-reset fw-bold p-0 d-flex align-items-center
|
||||
${
|
||||
header.column.getCanSort()
|
||||
? "d-flex align-items-center"
|
||||
: ""
|
||||
}
|
||||
`}
|
||||
onClick={header.column.getToggleSortingHandler()}
|
||||
title={getThTitle(header)}
|
||||
>
|
||||
{flexRender(
|
||||
header.column.columnDef.header,
|
||||
header.getContext()
|
||||
)}
|
||||
{{
|
||||
asc: (
|
||||
<FontAwesomeIcon
|
||||
icon={faSquareCaretUp}
|
||||
className="ms-1 text-primary"
|
||||
/>
|
||||
),
|
||||
desc: (
|
||||
<FontAwesomeIcon
|
||||
icon={faSquareCaretDown}
|
||||
className="ms-1 text-primary"
|
||||
/>
|
||||
),
|
||||
}[header.column.getIsSorted()] ?? null}
|
||||
</button>
|
||||
)}
|
||||
</th>
|
||||
))}
|
||||
</tr>
|
||||
))}
|
||||
</thead>
|
||||
);
|
||||
}
|
||||
|
||||
export default RichTableHeader;
|
128
src/common/RichTable/RichTablePagination.js
Normal file
128
src/common/RichTable/RichTablePagination.js
Normal file
@ -0,0 +1,128 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React, { useMemo } from "react";
|
||||
|
||||
import {
|
||||
faAngleLeft,
|
||||
faAnglesLeft,
|
||||
faAngleRight,
|
||||
faAnglesRight,
|
||||
} from "@fortawesome/free-solid-svg-icons";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import propTypes from "prop-types";
|
||||
|
||||
RichTablePagination.propTypes = {
|
||||
table: propTypes.shape({
|
||||
getState: propTypes.func.isRequired,
|
||||
getCanPreviousPage: propTypes.func.isRequired,
|
||||
getCanNextPage: propTypes.func.isRequired,
|
||||
firstPage: propTypes.func.isRequired,
|
||||
previousPage: propTypes.func.isRequired,
|
||||
nextPage: propTypes.func.isRequired,
|
||||
lastPage: propTypes.func.isRequired,
|
||||
setPageSize: propTypes.func.isRequired,
|
||||
getPageCount: propTypes.func.isRequired,
|
||||
}).isRequired,
|
||||
tablePageSize: propTypes.number,
|
||||
allRows: propTypes.number,
|
||||
};
|
||||
|
||||
function RichTablePagination({ table, tablePageSize, allRows }) {
|
||||
const { pagination } = table.getState();
|
||||
const prevPagBtnDisabled = !table.getCanPreviousPage();
|
||||
const nextPagBtnDisabled = !table.getCanNextPage();
|
||||
|
||||
const pageSizes = useMemo(() => {
|
||||
return [tablePageSize ?? 5, 10, 25].filter(
|
||||
(value, index, self) => self.indexOf(value) === index
|
||||
);
|
||||
}, [tablePageSize]);
|
||||
|
||||
const renderPaginationButton = (icon, ariaLabel, onClick, disabled) => (
|
||||
<li
|
||||
className={`page-item ${disabled ? "disabled" : ""}`}
|
||||
style={{ cursor: disabled ? "not-allowed" : "pointer" }}
|
||||
>
|
||||
<button
|
||||
type="button"
|
||||
className="page-link"
|
||||
aria-label={ariaLabel}
|
||||
onClick={onClick}
|
||||
disabled={disabled}
|
||||
>
|
||||
<FontAwesomeIcon icon={icon} />
|
||||
</button>
|
||||
</li>
|
||||
);
|
||||
|
||||
return (
|
||||
<nav
|
||||
aria-label={_("Pagination navigation bar")}
|
||||
className="d-flex gap-2 justify-content-start align-items-center mx-2 mb-1 text-nowrap"
|
||||
>
|
||||
<ul className="pagination pagination-sm mb-0">
|
||||
{renderPaginationButton(
|
||||
faAnglesLeft,
|
||||
_("First page"),
|
||||
() => table.firstPage(),
|
||||
prevPagBtnDisabled
|
||||
)}
|
||||
{renderPaginationButton(
|
||||
faAngleLeft,
|
||||
_("Previous page"),
|
||||
() => table.previousPage(),
|
||||
prevPagBtnDisabled
|
||||
)}
|
||||
{renderPaginationButton(
|
||||
faAngleRight,
|
||||
_("Next page"),
|
||||
() => table.nextPage(),
|
||||
nextPagBtnDisabled
|
||||
)}
|
||||
{renderPaginationButton(
|
||||
faAnglesRight,
|
||||
_("Last page"),
|
||||
() => table.lastPage(),
|
||||
nextPagBtnDisabled
|
||||
)}
|
||||
</ul>
|
||||
<span>
|
||||
{_("Page")}
|
||||
<span className="fw-bold">
|
||||
{pagination.pageIndex + 1}
|
||||
{_("of")}
|
||||
{table.getPageCount().toLocaleString()}
|
||||
</span>
|
||||
</span>
|
||||
<div
|
||||
className="vr mx-1 align-self-center"
|
||||
style={{ height: "1.5rem" }}
|
||||
/>
|
||||
<span>{_("Rows per page:")}</span>
|
||||
<select
|
||||
className="form-select form-select-sm w-auto"
|
||||
aria-label={_("Select rows per page")}
|
||||
value={pagination.pageSize}
|
||||
onChange={(e) => {
|
||||
table.setPageSize(Number(e.target.value));
|
||||
}}
|
||||
>
|
||||
{pageSizes.map((pageSize) => (
|
||||
<option key={pageSize} value={pageSize}>
|
||||
{pageSize}
|
||||
</option>
|
||||
))}
|
||||
<option key={allRows} value={allRows}>
|
||||
{_("All")}
|
||||
</option>
|
||||
</select>
|
||||
</nav>
|
||||
);
|
||||
}
|
||||
|
||||
export default RichTablePagination;
|
92
src/common/__tests__/ActionButtonWithModal.test.js
Normal file
92
src/common/__tests__/ActionButtonWithModal.test.js
Normal file
@ -0,0 +1,92 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import Button from "bootstrap/Button";
|
||||
|
||||
import {
|
||||
fireEvent,
|
||||
getByText,
|
||||
queryByText,
|
||||
render,
|
||||
wait,
|
||||
} from "customTestRender";
|
||||
import mockAxios from "jest-mock-axios";
|
||||
import { mockJSONError } from "testUtils/network";
|
||||
import { mockSetAlert } from "testUtils/alertContextMock";
|
||||
|
||||
import ActionButtonWithModal from "../ActionButtonWithModal/ActionButtonWithModal";
|
||||
|
||||
describe("<ActionButtonWithModal/>", () => {
|
||||
let componentContainer;
|
||||
const ActionButton = (props) => (
|
||||
<Button type="button" {...props}>
|
||||
Action
|
||||
</Button>
|
||||
);
|
||||
|
||||
beforeEach(() => {
|
||||
const { container } = render(
|
||||
<>
|
||||
<div id="modal-container" />
|
||||
<div id="alert-container" />
|
||||
<ActionButtonWithModal
|
||||
actionTrigger={ActionButton}
|
||||
actionUrl="/reforis/api/action"
|
||||
modalTitle="Warning!"
|
||||
modalMessage="Are you sure you want to perform this action?"
|
||||
modalActionText="Confirm action"
|
||||
modalActionProps={{ className: "btn-danger" }}
|
||||
successMessage="Action request succeeded."
|
||||
errorMessage="Action request failed."
|
||||
/>
|
||||
</>
|
||||
);
|
||||
componentContainer = container;
|
||||
});
|
||||
|
||||
it("Render button.", () => {
|
||||
expect(componentContainer).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("Render modal.", () => {
|
||||
fireEvent.click(getByText(componentContainer, "Action"));
|
||||
expect(componentContainer).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("Confirm action.", () => {
|
||||
fireEvent.click(getByText(componentContainer, "Action"));
|
||||
fireEvent.click(getByText(componentContainer, "Confirm action"));
|
||||
expect(mockAxios.post).toHaveBeenCalledWith(
|
||||
"/reforis/api/action",
|
||||
undefined,
|
||||
expect.anything()
|
||||
);
|
||||
});
|
||||
|
||||
it("Hold error.", async () => {
|
||||
fireEvent.click(getByText(componentContainer, "Action"));
|
||||
fireEvent.click(getByText(componentContainer, "Confirm action"));
|
||||
mockJSONError();
|
||||
await wait(() =>
|
||||
expect(mockSetAlert).toBeCalledWith("Action request failed.")
|
||||
);
|
||||
});
|
||||
|
||||
it("Show success alert on successful action.", async () => {
|
||||
fireEvent.click(getByText(componentContainer, "Action"));
|
||||
fireEvent.click(getByText(componentContainer, "Confirm action"));
|
||||
mockAxios.mockResponse({ status: 200 });
|
||||
await wait(() =>
|
||||
expect(mockSetAlert).toBeCalledWith(
|
||||
"Action request succeeded.",
|
||||
"success"
|
||||
)
|
||||
);
|
||||
});
|
||||
});
|
@ -1,63 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import {
|
||||
fireEvent,
|
||||
getByText,
|
||||
queryByText,
|
||||
render,
|
||||
wait,
|
||||
} from "customTestRender";
|
||||
import mockAxios from "jest-mock-axios";
|
||||
import { mockJSONError } from "testUtils/network";
|
||||
import { mockSetAlert } from "testUtils/alertContextMock";
|
||||
|
||||
import RebootButton from "../RebootButton";
|
||||
|
||||
describe("<RebootButton/>", () => {
|
||||
let componentContainer;
|
||||
beforeEach(() => {
|
||||
const { container } = render(
|
||||
<>
|
||||
<div id="modal-container" />
|
||||
<RebootButton />
|
||||
</>
|
||||
);
|
||||
componentContainer = container;
|
||||
});
|
||||
|
||||
it("Render.", () => {
|
||||
expect(componentContainer).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("Render modal.", () => {
|
||||
expect(queryByText(componentContainer, "Confirm reboot")).toBeNull();
|
||||
fireEvent.click(getByText(componentContainer, "Reboot"));
|
||||
expect(componentContainer).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("Confirm reboot.", () => {
|
||||
fireEvent.click(getByText(componentContainer, "Reboot"));
|
||||
fireEvent.click(getByText(componentContainer, "Confirm reboot"));
|
||||
expect(mockAxios.post).toHaveBeenCalledWith(
|
||||
"/reforis/api/reboot",
|
||||
undefined,
|
||||
expect.anything()
|
||||
);
|
||||
});
|
||||
|
||||
it("Hold error.", async () => {
|
||||
fireEvent.click(getByText(componentContainer, "Reboot"));
|
||||
fireEvent.click(getByText(componentContainer, "Confirm reboot"));
|
||||
mockJSONError();
|
||||
await wait(() =>
|
||||
expect(mockSetAlert).toBeCalledWith("Reboot request failed.")
|
||||
);
|
||||
});
|
||||
});
|
@ -1,11 +1,32 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`<RebootButton/> Render modal. 1`] = `
|
||||
exports[`<ActionButtonWithModal/> Render button. 1`] = `
|
||||
<div>
|
||||
<div
|
||||
id="modal-container"
|
||||
/>
|
||||
<div
|
||||
id="alert-container"
|
||||
/>
|
||||
<button
|
||||
class="btn btn-primary d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
Action
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`<ActionButtonWithModal/> Render modal. 1`] = `
|
||||
<div>
|
||||
<div
|
||||
id="modal-container"
|
||||
>
|
||||
<div
|
||||
aria-labelledby="modal-title"
|
||||
aria-modal="true"
|
||||
class="modal fade show"
|
||||
role="dialog"
|
||||
>
|
||||
@ -19,11 +40,11 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
||||
<div
|
||||
class="modal-header"
|
||||
>
|
||||
<h5
|
||||
class="modal-title"
|
||||
<h1
|
||||
class="modal-title fs-5"
|
||||
>
|
||||
Warning!
|
||||
</h5>
|
||||
</h1>
|
||||
<button
|
||||
aria-label="Close"
|
||||
class="btn-close"
|
||||
@ -33,15 +54,17 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
||||
<div
|
||||
class="modal-body"
|
||||
>
|
||||
<p>
|
||||
Are you sure you want to restart the router?
|
||||
<p
|
||||
class="mb-0"
|
||||
>
|
||||
Are you sure you want to perform this action?
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
class="modal-footer"
|
||||
>
|
||||
<button
|
||||
class="btn btn-primary d-inline-flex justify-content-center align-items-center"
|
||||
class="btn btn-secondary d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
@ -53,7 +76,7 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
Confirm reboot
|
||||
Confirm action
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
@ -61,28 +84,15 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button
|
||||
class="btn btn-danger d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
Reboot
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`<RebootButton/> Render. 1`] = `
|
||||
<div>
|
||||
<div
|
||||
id="modal-container"
|
||||
id="alert-container"
|
||||
/>
|
||||
<button
|
||||
class="btn btn-danger d-inline-flex justify-content-center align-items-center"
|
||||
class="btn btn-primary d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
Reboot
|
||||
Action
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
@ -43,14 +43,17 @@ describe("AlertContext", () => {
|
||||
expect(componentContainer).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("should dismiss alert with alert button", () => {
|
||||
it("should dismiss alert with alert button", async () => {
|
||||
fireEvent.click(getByText(componentContainer, "Set alert"));
|
||||
// Alert is present
|
||||
expect(getByText(componentContainer, "Alert content")).toBeDefined();
|
||||
|
||||
fireEvent.click(componentContainer.querySelector(".btn-close"));
|
||||
// Alert is gone
|
||||
expect(queryByText(componentContainer, "Alert content")).toBeNull();
|
||||
await (() =>
|
||||
expect(
|
||||
queryByText(componentContainer, "Alert content")
|
||||
).toBeNull());
|
||||
});
|
||||
|
||||
it("should dismiss alert with external button", () => {
|
||||
|
@ -6,7 +6,8 @@ exports[`AlertContext should render alert 1`] = `
|
||||
id="alert-container"
|
||||
>
|
||||
<div
|
||||
class="alert alert-danger alert-dismissible"
|
||||
class="alert alert-danger alert-fade-in alert-dismissible"
|
||||
role="alert"
|
||||
>
|
||||
<button
|
||||
aria-label="Close"
|
||||
|
@ -28,19 +28,22 @@ export { default as FileInput } from "./bootstrap/FileInput";
|
||||
export { default as Input } from "./bootstrap/Input";
|
||||
export { default as NumberInput } from "./bootstrap/NumberInput";
|
||||
export { default as PasswordInput } from "./bootstrap/PasswordInput";
|
||||
export { default as RadioSet, Radio } from "./bootstrap/RadioSet";
|
||||
export { default as Radio } from "./bootstrap/Radio";
|
||||
export { default as RadioSet } from "./bootstrap/RadioSet";
|
||||
export { default as Select } from "./bootstrap/Select";
|
||||
export { default as TextInput } from "./bootstrap/TextInput";
|
||||
export { formFieldsSize, buttonFormFieldsSize } from "./bootstrap/constants";
|
||||
export { default as Switch } from "./bootstrap/Switch";
|
||||
export { default as ThreeDotsMenu } from "./bootstrap/ThreeDotsMenu";
|
||||
|
||||
export { Spinner, SpinnerElement } from "./bootstrap/Spinner";
|
||||
export { Modal, ModalBody, ModalFooter, ModalHeader } from "./bootstrap/Modal";
|
||||
|
||||
// Common
|
||||
export { default as RebootButton } from "./common/RebootButton";
|
||||
export { default as ActionButtonWithModal } from "./common/ActionButtonWithModal/ActionButtonWithModal";
|
||||
export { default as WiFiSettings } from "./common/WiFiSettings/WiFiSettings";
|
||||
export { default as ResetWiFiSettings } from "./common/WiFiSettings/ResetWiFiSettings";
|
||||
export { default as RichTable } from "./common/RichTable/RichTable";
|
||||
// Form
|
||||
export { default as ForisForm } from "./form/components/ForisForm";
|
||||
export {
|
||||
|
@ -14,7 +14,7 @@ import { render } from "@testing-library/react";
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { AlertContextMock } from "./alertContextMock";
|
||||
import { CustomizationContextMock } from "./cutomizationContextMock";
|
||||
import { CustomizationContextMock } from "./customizationContextMock";
|
||||
|
||||
Wrapper.propTypes = {
|
||||
children: PropTypes.oneOfType([
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
|
||||
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
@ -9,8 +9,10 @@ export const REFORIS_URL_PREFIX = "/reforis";
|
||||
export const REFORIS_API_URL_PREFIX = `${REFORIS_URL_PREFIX}/api`;
|
||||
|
||||
export const ForisURLs = {
|
||||
// turris-auth
|
||||
login: `/login?${REFORIS_URL_PREFIX}/`,
|
||||
logout: `/logout`,
|
||||
extendSession: `/extend-session`,
|
||||
|
||||
static: `${REFORIS_URL_PREFIX}/static/reforis`,
|
||||
wifi: `${REFORIS_URL_PREFIX}/network-settings/wifi`,
|
||||
@ -25,6 +27,13 @@ export const ForisURLs = {
|
||||
storage: `${REFORIS_URL_PREFIX}/storage`,
|
||||
sentinelAgreement: `${REFORIS_URL_PREFIX}/sentinel/agreement`,
|
||||
|
||||
// URLs without prefix for Overview page
|
||||
openvpnClientSettings: "/openvpn/client-settings",
|
||||
packageManagementPackages: "/package-management/packages",
|
||||
packageManagementUpdateSettings: "/package-management/update-settings",
|
||||
sentinelLicenseAgreement: "/sentinel/agreement",
|
||||
librespeedSpeedTest: "/librespeed/speed-test",
|
||||
|
||||
// Notifications links are used with <Link/> inside Router, thus url subdir is not required.
|
||||
overview: "/overview",
|
||||
notifications: "/overview#notifications",
|
||||
|
@ -40,3 +40,40 @@ export function useClickOutside(element, callback) {
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
/* Trap focus inside element. */
|
||||
export function useFocusTrap(elementRef, condition = true) {
|
||||
useEffect(() => {
|
||||
if (!condition) {
|
||||
return;
|
||||
}
|
||||
const currentElement = elementRef.current;
|
||||
const focusableElements = currentElement.querySelectorAll(
|
||||
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
|
||||
);
|
||||
const firstElement = focusableElements[0];
|
||||
const lastElement = focusableElements[focusableElements.length - 1];
|
||||
|
||||
const handleTab = (event) => {
|
||||
if (event.key === "Tab") {
|
||||
if (event.shiftKey) {
|
||||
if (document.activeElement === firstElement) {
|
||||
lastElement.focus();
|
||||
event.preventDefault();
|
||||
}
|
||||
} else if (document.activeElement === lastElement) {
|
||||
firstElement.focus();
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
currentElement.addEventListener("keydown", handleTab);
|
||||
|
||||
firstElement.focus();
|
||||
|
||||
return () => {
|
||||
currentElement.removeEventListener("keydown", handleTab);
|
||||
};
|
||||
}, [elementRef, condition]);
|
||||
}
|
||||
|
@ -28,11 +28,11 @@ module.exports = {
|
||||
content: "docs/development.md",
|
||||
},
|
||||
{
|
||||
name: "Components",
|
||||
name: "Common Components",
|
||||
description: "Set of main components.",
|
||||
sections: [
|
||||
{
|
||||
name: "Foris forms",
|
||||
name: "ForisForm",
|
||||
components: [
|
||||
"src/form/components/ForisForm.js",
|
||||
"src/form/components/alerts.js",
|
||||
@ -42,47 +42,52 @@ module.exports = {
|
||||
usageMode: "expand",
|
||||
},
|
||||
{
|
||||
name: "Alert Context",
|
||||
components: ["src/context/alertContext/AlertContext.js"],
|
||||
name: "RichTable",
|
||||
components: ["src/common/RichTable/RichTable.js"],
|
||||
exampleMode: "expand",
|
||||
usageMode: "expand",
|
||||
},
|
||||
{
|
||||
name: "ActionButtonWithModal",
|
||||
components: [
|
||||
"src/common/ActionButtonWithModal/ActionButtonWithModal.js",
|
||||
],
|
||||
exampleMode: "expand",
|
||||
usageMode: "expand",
|
||||
},
|
||||
],
|
||||
sectionDepth: 1,
|
||||
},
|
||||
|
||||
{
|
||||
name: "Customization Context",
|
||||
components: [
|
||||
"src/context/customizationContext/CustomizationContext.js",
|
||||
],
|
||||
exampleMode: "expand",
|
||||
usageMode: "expand",
|
||||
},
|
||||
{
|
||||
name: "Bootstrap components",
|
||||
name: "Bootstrap Components",
|
||||
description: "Set of bootstrap components.",
|
||||
components: "src/bootstrap/*.js",
|
||||
exampleMode: "expand",
|
||||
usageMode: "expand",
|
||||
ignore: ["src/bootstrap/constants.js"],
|
||||
ignore: ["src/bootstrap/constants.js", "src/bootstrap/Radio.js"],
|
||||
sectionDepth: 0,
|
||||
},
|
||||
{
|
||||
name: "Contexts",
|
||||
components: [
|
||||
"src/context/alertContext/AlertContext.js",
|
||||
"src/context/customizationContext/CustomizationContext.js",
|
||||
],
|
||||
exampleMode: "expand",
|
||||
usageMode: "expand",
|
||||
},
|
||||
],
|
||||
template: {
|
||||
favicon: "/docs/components/logo.svg",
|
||||
},
|
||||
require: [
|
||||
"babel-polyfill",
|
||||
path.join(__dirname, "src/testUtils/mockGlobals"),
|
||||
path.join(__dirname, "src/testUtils/mockGlobals.js"),
|
||||
path.join(
|
||||
__dirname,
|
||||
"node_modules/bootstrap/dist/css/bootstrap.min.css"
|
||||
),
|
||||
path.join(
|
||||
__dirname,
|
||||
"node_modules/@fortawesome/fontawesome-free/css/all.min.css"
|
||||
),
|
||||
path.join(__dirname, "node_modules/bootstrap/dist/js/bootstrap.min.js"),
|
||||
],
|
||||
styleguideComponents: {
|
||||
LogoRenderer: path.join(__dirname, "docs/components/Logo"),
|
||||
|
@ -7,13 +7,13 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"PO-Revision-Date: 2023-11-23 16:03+0000\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2024-09-25 10:15+0000\n"
|
||||
"Last-Translator: Lukas Jelinek <lukas.jelinek@nic.cz>\n"
|
||||
"Language: cs\n"
|
||||
"Language-Team: Czech <https://hosted.weblate.org/projects/turris/foris-"
|
||||
"js/cs/>\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@ -35,42 +35,89 @@ msgstr "Neobdržena žádná odezva."
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr "Došlo k neznámé chybě v aplikačním programovém rozhraní."
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
msgstr "Zavřít"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr "Zkopírováno!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr "Kopírovat"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
msgstr "Vyžadován restart."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
#, fuzzy
|
||||
msgid "Action successful."
|
||||
msgstr "Nastavení úspěšně uložena"
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Restartovat"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "Varování!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Opravdu chcete router restartovat?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušit"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Potvrdit restart"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr "Při resetu nastavení Wi-Fi došlo k chybě."
|
||||
@ -99,7 +146,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr "Wi-Fi ${deviceID + 1}"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Heslo"
|
||||
|
||||
@ -145,15 +192,14 @@ msgstr "Zapnout Wi-Fi pro hosty"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:43
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:44
|
||||
#, fuzzy
|
||||
msgid "Show QR code"
|
||||
msgstr "Wi-Fi QR kód"
|
||||
msgstr "Ukázat QR kód"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:70
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr "Wi-Fi QR kód"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr "Stáhnout PDF"
|
||||
|
||||
@ -389,3 +435,15 @@ msgstr "Neobsahuje seznam e-mailů oddělených čárkou."
|
||||
#~ "se tím odstraní aktuální konfigurace a vrátí se výchozí hodnoty.\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr "Vyžadován restart."
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Restartovat"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "Varování!"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Opravdu chcete router restartovat?"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: da\n"
|
||||
@ -34,40 +34,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -95,7 +140,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -146,7 +191,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -424,3 +469,18 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2024-01-04 21:08+0000\n"
|
||||
"Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n"
|
||||
"Language: de\n"
|
||||
@ -35,42 +35,89 @@ msgstr "Keine Antwort erhalten."
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr "Ein unbekannter API-Fehler ist aufgetreten."
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr "Kopiert!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr "Kopieren"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
msgstr "Neustart-Einleitung fehlgeschlagen."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
#, fuzzy
|
||||
msgid "Action successful."
|
||||
msgstr "Einstellungen erfolgreich gespeichert"
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Systemneustart"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "Warnung!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Sind Sie sicher, dass Sie den Router neu starten wollen?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Neustart bestätigen"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr ""
|
||||
@ -101,7 +148,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr "WLAN ${deviceID + 1}"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
@ -155,7 +202,7 @@ msgstr "WLAN QR-Code"
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr "WLAN QR-Code"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr "PDF herunterladen"
|
||||
|
||||
@ -387,3 +434,15 @@ msgstr "Enthält keine Liste von E-Mails, die durch Kommas getrennt sind."
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr "Neustart-Einleitung fehlgeschlagen."
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Systemneustart"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "Warnung!"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Sind Sie sicher, dass Sie den Router neu starten wollen?"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2021-02-09 16:50+0000\n"
|
||||
"Last-Translator: Michalis <michalisntovas@yahoo.gr>\n"
|
||||
"Language: el\n"
|
||||
@ -35,42 +35,88 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Επανεκκίνηση"
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Είστε βέβαιοι ότι θέλετε να κάνετε επανεκκίνηση του δρομολογητή;"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Άκυρο"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Επιβεβαίωση επανεκκίνησης"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr ""
|
||||
@ -96,7 +142,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -148,7 +194,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -426,3 +472,15 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Επανεκκίνηση"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Είστε βέβαιοι ότι θέλετε να κάνετε επανεκκίνηση του δρομολογητή;"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2019-10-17 09:28+0000\n"
|
||||
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
|
||||
"Language: en\n"
|
||||
@ -35,40 +35,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -96,7 +141,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -147,7 +192,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -422,3 +467,18 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,17 +7,16 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2024-08-24 13:09+0000\n"
|
||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/turris/foris-js/"
|
||||
"es/>\n"
|
||||
"Language: es\n"
|
||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/turris/foris-"
|
||||
"js/es/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.7.1-dev\n"
|
||||
"Generated-By: Babel 2.16.0\n"
|
||||
|
||||
#: src/api/utils.js:61
|
||||
@ -38,42 +37,89 @@ msgstr ""
|
||||
"Un error desconocido ha ocurrido. Compruebe la consola para mas "
|
||||
"informaciòn."
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr "¡Copiado!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr "Copiar"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
msgstr "La petición de reinicio ha fallado."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
#, fuzzy
|
||||
msgid "Action successful."
|
||||
msgstr "Los ajustes se han guardado correctamente"
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Reiniciar"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "¡Atención!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "¿Estás seguro de que quieres reiniciar el router?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar reinicio"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr "Ocurrió un error durante el reseteo de los ajustes Wi-Fi."
|
||||
@ -102,7 +148,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr "Wi-Fi ${deviceID + 1}"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Contraseña"
|
||||
|
||||
@ -155,7 +201,7 @@ msgstr "Mostrar el código QR"
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr "Código QR Wi-Fi"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr "Descargar PDF"
|
||||
|
||||
@ -446,3 +492,16 @@ msgstr "No contiene una lista de correos electrónicos separados por comas."
|
||||
#~ " default option with 20 MHz wide "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr "La petición de reinicio ha fallado."
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Reiniciar"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "¡Atención!"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "¿Estás seguro de que quieres reiniciar el router?"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: fi\n"
|
||||
@ -34,40 +34,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -95,7 +140,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -146,7 +191,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -424,3 +469,18 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: fo\n"
|
||||
@ -34,40 +34,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -95,7 +140,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -146,7 +191,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -424,3 +469,18 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -6,9 +6,9 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Foris JS 6.1.0\n"
|
||||
"Project-Id-Version: Foris JS 6.5.0\n"
|
||||
"Report-Msgid-Bugs-To: tech.support@turris.cz\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -33,40 +33,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -94,7 +139,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -145,7 +190,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2024-07-27 01:09+0000\n"
|
||||
"Last-Translator: Moha684 <nahil82466@gmail.com>\n"
|
||||
"Language: fr\n"
|
||||
@ -35,42 +35,89 @@ msgstr "Aucun réponse reçue."
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr "Une erreur d’API inconnue s’est produite."
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr "Copié!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr "Copier"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
msgstr "La demande de redémarrage a échoué."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
#, fuzzy
|
||||
msgid "Action successful."
|
||||
msgstr "Paramètres enregistrés avec succès"
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Redémarrer"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "Attention !"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Voulez-vous vraiment redémarrer le routeur ?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer le redémarrage"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr ""
|
||||
@ -98,7 +145,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr "Wi-Fi ${deviceID + 1}"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
@ -153,7 +200,7 @@ msgstr "Code QR Wi-Fi"
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr "Code QR Wi-Fi"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr "Télécharger le PDF"
|
||||
|
||||
@ -415,3 +462,15 @@ msgstr ""
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr "La demande de redémarrage a échoué."
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Redémarrer"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "Attention !"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Voulez-vous vraiment redémarrer le routeur ?"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2022-09-29 14:17+0000\n"
|
||||
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
|
||||
"Language: hr\n"
|
||||
@ -36,40 +36,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -97,7 +142,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Lozinka"
|
||||
|
||||
@ -148,7 +193,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -426,3 +471,18 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2021-01-07 01:26+0000\n"
|
||||
"Last-Translator: Zoli <boritek@gmail.com>\n"
|
||||
"Language: hu\n"
|
||||
@ -35,40 +35,86 @@ msgstr "Nem érkezett válasz."
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr "Ismeretlen API-hiba történt."
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
#, fuzzy
|
||||
msgid "Action successful."
|
||||
msgstr "Beállítások sikeresen elmentve"
|
||||
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -96,7 +142,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -147,7 +193,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -419,3 +465,18 @@ msgstr "Nem tartalmaz vesszővel elválasztott e-mail listát."
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2022-12-31 23:48+0000\n"
|
||||
"Last-Translator: Anselmo <anselmo@casinadicornia.com>\n"
|
||||
"Language: it\n"
|
||||
@ -35,40 +35,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -96,7 +141,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
@ -147,7 +192,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -425,3 +470,18 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2019-10-16 10:08+0000\n"
|
||||
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
|
||||
"Language: ja\n"
|
||||
@ -35,40 +35,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "再起動"
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -96,7 +141,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -148,7 +193,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -426,3 +471,18 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "再起動"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: ko\n"
|
||||
@ -34,40 +34,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -95,7 +140,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -146,7 +191,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -424,3 +469,18 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: lt\n"
|
||||
@ -35,40 +35,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -96,7 +141,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -147,7 +192,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -425,3 +470,18 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2023-03-02 11:40+0000\n"
|
||||
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
|
||||
"Language: nb_NO\n"
|
||||
@ -36,43 +36,89 @@ msgstr "Fikk ikke svar."
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr "Ukjent API-feil."
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr "Kopiert"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr "Kopier"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
#, fuzzy
|
||||
msgid "Reboot request failed."
|
||||
msgstr "Omstart kreves"
|
||||
msgid "Action successful."
|
||||
msgstr "Innstillinger lagret"
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Start på ny"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "Advarsel!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Er du sikker på at du vil utføre omstart av ruteren?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Bekreft omstart"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
#, fuzzy
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
@ -103,7 +149,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr "Wi-Fi ${deviceID + 1}"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Passord"
|
||||
|
||||
@ -161,7 +207,7 @@ msgstr "QR-kode for Wi-Fi"
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr "QR-kode for Wi-Fi"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr "Last ned PDF"
|
||||
|
||||
@ -403,3 +449,15 @@ msgstr "Inneholder ikke en kommainndelt liste med e-postadresser."
|
||||
#~ "gjeldende Wi-Fi-oppsett og tilbakestiller forvalgte verdier.\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr "Omstart kreves"
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Start på ny"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "Advarsel!"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Er du sikker på at du vil utføre omstart av ruteren?"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2024-01-04 21:08+0000\n"
|
||||
"Last-Translator: powerburner-nl <peter.mulder.1981@gmail.com>\n"
|
||||
"Language: nl\n"
|
||||
@ -35,43 +35,88 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
#, fuzzy
|
||||
msgid "Reboot request failed."
|
||||
msgstr "Opnieuw opstarten is vereist"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Opnieuw opstarten"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "Waarschuwing!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Weet u zeker dat u de router opnieuw wilt opstarten?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Opnieuw opstarten bevestigen"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr ""
|
||||
@ -97,7 +142,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Wachtwoord"
|
||||
|
||||
@ -149,7 +194,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -428,3 +473,15 @@ msgstr "Bevat geen lijst met e-mails gescheiden door komma's."
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr "Opnieuw opstarten is vereist"
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Opnieuw opstarten"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "Waarschuwing!"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Weet u zeker dat u de router opnieuw wilt opstarten?"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2023-03-07 16:37+0000\n"
|
||||
"Last-Translator: Arusekk <arek_koz@o2.pl>\n"
|
||||
"Language: pl\n"
|
||||
@ -36,42 +36,89 @@ msgstr "Brak odpowiedzi."
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr "Wystąpił nieznany błąd API."
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
#, fuzzy
|
||||
msgid "Action successful."
|
||||
msgstr "Ustawienia zostały zapisane"
|
||||
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Restart"
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "Ostrzeżenie!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Czy na pewno zrestartować router?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Potwierdź restart"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr ""
|
||||
@ -97,7 +144,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
@ -148,7 +195,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -426,3 +473,15 @@ msgstr "Nie zawiera listy e-maili oddzielonych przecinkami."
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Restart"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "Ostrzeżenie!"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Czy na pewno zrestartować router?"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2021-12-21 12:52+0000\n"
|
||||
"Last-Translator: c10l <weblate.org@a.c10l.cc>\n"
|
||||
"Language: pt_BR\n"
|
||||
@ -35,42 +35,88 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Reinício"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "Atenção!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Você tem certeza de que quer reiniciar o roteador?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Confirma reinício"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr ""
|
||||
@ -96,7 +142,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -147,7 +193,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -403,3 +449,15 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Reinício"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "Atenção!"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Você tem certeza de que quer reiniciar o roteador?"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2019-02-19 13:35+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: ro\n"
|
||||
@ -35,40 +35,85 @@ msgstr ""
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
@ -96,7 +141,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@ -147,7 +192,7 @@ msgstr ""
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr ""
|
||||
|
||||
@ -425,3 +470,18 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Confirm reboot"
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2022-12-07 12:47+0000\n"
|
||||
"Last-Translator: Алексей Леньшин <alenshin@gmail.com>\n"
|
||||
"Language: ru\n"
|
||||
@ -36,42 +36,89 @@ msgstr "Ответ не получен."
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr "Неизвестная ошибка программного интерфейса приложения."
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr "Скопировано!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr "Копировать"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
msgstr "Запрос на перезагрузку не выполнен."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
#, fuzzy
|
||||
msgid "Action successful."
|
||||
msgstr "Настройки были успешно сохранены"
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Перезагрузка"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "Предупреждение!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Вы уверены, что хотите перезагрузить маршрутизатор?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Подтвердите перезагрузку"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr "При сбросе настроек Wi-Fi произошла ошибка."
|
||||
@ -100,7 +147,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr "Wi-Fi ${deviceID + 1}"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
@ -154,7 +201,7 @@ msgstr "QR-код Wi-Fi"
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr "QR-код Wi-Fi"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr "Скачать PDF"
|
||||
|
||||
@ -394,3 +441,15 @@ msgstr "Не содержит списка электронных адресов
|
||||
#~ "значений по умолчанию.\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr "Запрос на перезагрузку не выполнен."
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Перезагрузка"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "Предупреждение!"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Вы уверены, что хотите перезагрузить маршрутизатор?"
|
||||
|
||||
|
@ -7,13 +7,13 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"PO-Revision-Date: 2023-01-17 22:51+0000\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2024-09-09 18:09+0000\n"
|
||||
"Last-Translator: Atec <dr.atec@gmail.com>\n"
|
||||
"Language: sk\n"
|
||||
"Language-Team: Slovak <https://hosted.weblate.org/projects/turris/foris-"
|
||||
"js/sk/>\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@ -35,42 +35,89 @@ msgstr "Nenastala žiadna odozva."
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr "Nastala neznáma chyba v API."
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
msgstr "Zatvoriť"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr "Skopírované!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr "Kopírovať"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
msgstr "Požiadavka na reštart neúspešná."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
#, fuzzy
|
||||
msgid "Action successful."
|
||||
msgstr "Nastavenia boli úspešne uložené"
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Reštartovať"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "Výstraha!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Naozaj sa má router reštartovať?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušiť"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Potvrdiť reštart"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr "Pri resete nastavení Wi-Fi nastala chyba."
|
||||
@ -99,7 +146,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr "Wi-Fi ${deviceID + 1}"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Heslo"
|
||||
|
||||
@ -145,15 +192,14 @@ msgstr "Povoliť Wi-Fi pre hostí"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:43
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:44
|
||||
#, fuzzy
|
||||
msgid "Show QR code"
|
||||
msgstr "Wi-Fi QR kód"
|
||||
msgstr "Zobraziť QR kód"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:70
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr "Wi-Fi QR kód"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr "Stiahnuť PDF"
|
||||
|
||||
@ -184,7 +230,7 @@ msgstr "Heslo nesmie obsahovať viac ako 63 znakov"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:9
|
||||
msgid "Disabled"
|
||||
msgstr "Zakázané"
|
||||
msgstr "Vypnuté"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:10
|
||||
msgid "802.11n - 20 MHz wide channel"
|
||||
@ -390,3 +436,15 @@ msgstr "Neobsahuje zoznam e-mailov oddelených čiarkami."
|
||||
#~ " a obnovia sa východiskové hodnoty.\n"
|
||||
#~ " "
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr "Požiadavka na reštart neúspešná."
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Reštartovať"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "Výstraha!"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Naozaj sa má router reštartovať?"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||
"POT-Creation-Date: 2024-11-13 14:06+0100\n"
|
||||
"PO-Revision-Date: 2023-09-22 21:00+0000\n"
|
||||
"Last-Translator: Kristoffer Grundström "
|
||||
"<swedishsailfishosuser@tutanota.com>\n"
|
||||
@ -36,42 +36,88 @@ msgstr "Inget svar togs emot."
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr "Ett okänt API-fel inträffade."
|
||||
|
||||
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copied!"
|
||||
msgstr "Kopierades!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:57
|
||||
#: src/bootstrap/CopyInput.js:56
|
||||
msgid "Copy"
|
||||
msgstr "Kopiera"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
msgstr "Förfrågning för omstart misslyckades."
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
|
||||
msgid "Action successful."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:51
|
||||
msgid "Reboot"
|
||||
msgstr "Starta om"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
|
||||
msgid "Action failed."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr "Varning!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr "Är du säker på att du vill starta om routern?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
|
||||
#, fuzzy
|
||||
msgid "Confirm"
|
||||
msgstr "Bekräfta omstart"
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:29
|
||||
msgid "Sort ascending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:30
|
||||
msgid "Sort descending"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTableHeader.js:31
|
||||
msgid "Clear sort"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:65
|
||||
msgid "Pagination navigation bar"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:71
|
||||
msgid "First page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:77
|
||||
msgid "Previous page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:83
|
||||
msgid "Next page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:89
|
||||
msgid "Last page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:95
|
||||
msgid "Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:98
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:106
|
||||
msgid "Rows per page:"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:109
|
||||
msgid "Select rows per page"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/RichTable/RichTablePagination.js:121
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:39
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr "Ett fel inträffade under återställningen av Wi-Fi-inställningarna."
|
||||
@ -100,7 +146,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
||||
msgstr "Wi-Fi ${deviceID + 1}"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
||||
msgid "Password"
|
||||
msgstr "Lösenord"
|
||||
|
||||
@ -154,7 +200,7 @@ msgstr "QR-kod för Wi-Fi"
|
||||
msgid "Wi-Fi QR Code"
|
||||
msgstr "QR-kod för Wi-Fi"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
||||
msgid "Download PDF"
|
||||
msgstr "Ladda ner PDF"
|
||||
|
||||
@ -440,3 +486,15 @@ msgstr ""
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "Reboot request failed."
|
||||
#~ msgstr "Förfrågning för omstart misslyckades."
|
||||
|
||||
#~ msgid "Reboot"
|
||||
#~ msgstr "Starta om"
|
||||
|
||||
#~ msgid "Warning!"
|
||||
#~ msgstr "Varning!"
|
||||
|
||||
#~ msgid "Are you sure you want to restart the router?"
|
||||
#~ msgstr "Är du säker på att du vill starta om routern?"
|
||||
|
||||
|
Reference in New Issue
Block a user