1
0
mirror of https://gitlab.nic.cz/turris/reforis/foris-js.git synced 2025-06-15 13:36:35 +02:00

Compare commits

...

88 Commits

Author SHA1 Message Date
30fd6f91b4 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!256
2024-11-13 14:24:26 +01:00
5a53eca138 Merge branch 'bump-650' into 'dev'
Bump v6.5.0

See merge request turris/reforis/foris-js!255
2024-11-13 14:14:04 +01:00
8d2a4dc108 Bump v6.5.0
* Add & update Weblate translations
* Add RichTable component with pagination and sorting
* Add @tanstack/react-table v8.20.5 to dependencies
* Update documentation
* Replace RebootButton with ActionButtonWithModal component
* Fix import path for CustomizationContextMock in customTestRender.js
2024-11-13 14:08:53 +01:00
2481a0c025 Update translation messages 2024-11-13 14:08:12 +01:00
71697424c5 Create translation messages 2024-11-13 14:07:26 +01:00
07f8e3b9de Merge branch 'add-action-btn-with-modal' into 'dev'
Replace RebootButton with ActionButtonWithModal component and update documentation

See merge request turris/reforis/foris-js!254
2024-11-12 17:48:20 +01:00
c9f2b24095 Replace RebootButton with ActionButtonWithModal component and update documentation 2024-11-12 17:39:01 +01:00
087ecfa670 Merge branch 'add-tanstack-and-richtable-component' into 'dev'
Add RichTable component

See merge request turris/reforis/foris-js!253
2024-11-08 23:52:53 +01:00
e6365ecac4 Update Snapshots 2024-11-08 17:59:15 +01:00
e57722caa0 Add RebootButton and RichTable components to documentation 2024-11-08 17:59:15 +01:00
babdf92ddd Fix import path for CustomizationContextMock in customTestRender.js 2024-11-08 17:59:02 +01:00
42294316d9 Add RichTable component with header, body, and pagination 2024-11-08 17:59:02 +01:00
b65e034b04 Add @tanstack/react-table v8.20.5 to dependencies 2024-11-04 22:27:14 +01:00
14b90bbbd4 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!251
2024-10-02 14:35:17 +02:00
85b207b1dd Merge branch 'bump-version-640' into 'dev'
Bump v6.4.0

See merge request turris/reforis/foris-js!250
2024-10-02 14:31:57 +02:00
79e61d9507 Bump v6.4.0
* Refactor Alert component to include dismiss animation and timeout
* Refactor ThreeDotsMenu component to include additional props
2024-10-02 14:30:09 +02:00
6795c3941b Merge branch 'add-alert-animation-and-timeout' into 'dev'
Add Alert animation and timeout

See merge request turris/reforis/foris-js!249
2024-10-02 13:48:31 +02:00
969e8e6411 Update Snapshots 2024-10-02 13:16:45 +02:00
0099759279 Fix tests 2024-10-02 13:16:37 +02:00
87c81a2a2d Refactor Alert component to include dismiss animation and timeout 2024-10-02 13:14:48 +02:00
81b71f8153 Refactor ThreeDotsMenu component to include additional props 2024-10-02 13:14:40 +02:00
c0fd0adbc9 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!248
2024-09-27 15:48:49 +02:00
1ec0a26199 Merge branch 'bump-version-630' into 'dev'
Bump v6.3.0

See merge request turris/reforis/foris-js!247
2024-09-27 15:39:42 +02:00
76e37b738a Bump v6.3.0
* Add ThreeDotsMenu component
* Refactor EmailInput description
* Refactor RadioSet & ignore Radio component
* Refactor npm package badge in introduction.md
* NPM audit fix
2024-09-27 15:36:10 +02:00
8a69d14429 NPM audit fix 2024-09-27 15:35:45 +02:00
4d5395c826 Add ThreeDotsMenu component to index.js 2024-09-27 15:29:46 +02:00
1fb83e08ea Merge branch 'add-threedotsmenu-component' into 'dev'
Add ThreeDotsMenu component

See merge request turris/reforis/foris-js!246
2024-09-27 15:17:55 +02:00
e6cfc6dbb0 docs: Refactor npm package badge in introduction.md 2024-09-27 15:13:29 +02:00
a93a64bf96 docs: Refactor EmailInput description 2024-09-27 15:13:28 +02:00
1ab77decfd docs: Refactor RadioSet & ignore Radio component 2024-09-27 15:13:28 +02:00
b6e1e0adae Add ThreeDotsMenu component
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.
2024-09-27 15:13:12 +02:00
a7a4e76cd1 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!245
2024-09-25 16:22:09 +02:00
e7758cab9a Merge branch 'bump-version-621' into 'dev'
Bump v6.2.1

See merge request turris/reforis/foris-js!243
2024-09-25 16:20:01 +02:00
bf88b76613 Bump v6.2.1
* Add & update Weblate translations
* Refactor CopyInput component
* Refactor ForisURLs to include new URLs for Overview page
2024-09-25 16:15:56 +02:00
3cf85a9516 Merge branch 'update-translations' into 'dev'
Add & update Weblate translations

See merge request turris/reforis/foris-js!244
2024-09-25 16:14:48 +02:00
7c8442300a Update translation messages 2024-09-25 16:11:22 +02:00
e849397aa2 Create translation messages 2024-09-25 16:11:07 +02:00
c1b44d498c Translated using Weblate (Czech)
Currently translated at 100.0% (71 of 71 strings)

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/cs/
2024-09-25 10:15:45 +00:00
1b5a5da953 Merge branch 'add-overview-links' into 'dev'
Refactor ForisURLs to include new URLs for Overview page

See merge request turris/reforis/foris-js!242
2024-09-24 13:19:55 +02:00
7f45201f05 Refactor ForisURLs to include new URLs for Overview page 2024-09-23 17:09:13 +02:00
f34d9bbdbd Merge branch 'fix-copy-input' into 'dev'
Refactor CopyInput component

See merge request turris/reforis/foris-js!241
2024-09-23 14:07:06 +02:00
c7ff3f42f6 Refactor CopyInput component
Remove unnecessary input-group-append div and simplify structure
2024-09-23 13:59:31 +02:00
a1036514dd Translated using Weblate (Slovak)
Currently translated at 100.0% (71 of 71 strings)

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/sk/
2024-09-20 14:06:15 +02:00
a352f12279 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!240
2024-09-20 14:06:10 +02:00
acfbeb2c43 Merge branch 'bump-version-620' into 'dev'
Bump v6.2.0

See merge request turris/reforis/foris-js!239
2024-09-20 13:51:48 +02:00
3bef624ce4 Bump v6.2.0
* Add useFocusTrap hook
* Add extendSession endpoint
* Refactor Spinner.css to use CSS variable for color
* Refactor Modal component to use useFocusTrap hook
* Refactor Alert component to use useFocusTrap hook
2024-09-20 13:36:45 +02:00
7d0d52666d Merge branch 'add-extend-session-url' into 'dev'
Add extendSession endpoint ot ForisURLs

See merge request turris/reforis/foris-js!238
2024-09-20 13:27:22 +02:00
52fe5d65a6 Refactor Spinner.css to use CSS variable for color 2024-09-20 13:23:01 +02:00
b99add91cf Refactor ForisURLs.js to add extendSession endpoint 2024-09-20 13:23:01 +02:00
b7a4613cf4 Merge branch 'modal-focus-trap' into 'dev'
Introduce useFocusTrap hook and refactor Modal & Alert components

See merge request turris/reforis/foris-js!237
2024-09-19 13:18:26 +02:00
9e2278e016 Update Snapshots 2024-09-17 14:33:41 +02:00
83a6ff75f6 Refactor Alert component to use useFocusTrap hook 2024-09-17 14:33:19 +02:00
02f3803265 Refactor Modal component to use useFocusTrap hook 2024-09-17 14:13:26 +02:00
bb559cbe53 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!236
2024-08-30 16:03:17 +02:00
c86e2c8944 Merge branch 'bump-611' into 'dev'
Bump v6.1.1

See merge request turris/reforis/foris-js!235
2024-08-30 16:00:56 +02:00
b96ccde81c Bump v6.1.1
* Add & updated Weblate translations
* Update icon color classes to use "text-secondary" instead of "text-dark"
* Update Wi-Fi QRCodeModal component to use new styles & add close button
* Refactore WiFiGuestForm component to get rid of obsolete div element
* NPM audit fix
2024-08-30 15:56:08 +02:00
cfa6eade17 NPM audit fix 2024-08-30 15:51:23 +02:00
380a388a38 Merge branch 'fix-icons-color' into 'dev'
Update icon color classes & refactoring

See merge request turris/reforis/foris-js!233
2024-08-30 15:49:45 +02:00
cc19b4b293 Update Snapshots 2024-08-30 15:46:45 +02:00
e7ec494bb2 Update Wi-Fi QRCodeModal component to use new button styles & add close button 2024-08-30 15:46:45 +02:00
ea590e443c Refactor WiFiGuestForm component to get rid of obsolete "input-group-append" div element 2024-08-30 15:46:45 +02:00
b127bf5edf Update icon color classes to use "text-secondary" instead of "text-dark" 2024-08-30 15:46:45 +02:00
40e4a9a4e3 Merge branch 'update-translations' into 'dev'
Add & update Weblate translations

See merge request turris/reforis/foris-js!234
2024-08-30 15:44:51 +02:00
bcb7c43863 Translated using Weblate (Spanish)
Currently translated at 100.0% (71 of 71 strings)

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/es/
2024-08-24 15:09:22 +02:00
c809817283 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!232
2024-08-23 14:22:50 +02:00
a429b7c1bf Merge branch 'bump-version-610' into 'dev'
Bump v6.1.0

See merge request turris/reforis/foris-js!231
2024-08-23 14:19:24 +02:00
4e6f6e7413 Bump v6.1.0
* Add & update  Weblate translations
* Migrate to Font Awesome v6
* NPM audit fix
2024-08-23 14:03:48 +02:00
e6356de57f NPM audit fix 2024-08-23 14:03:48 +02:00
d4a71c346c Update translation messages 2024-08-23 14:03:48 +02:00
eb9582db96 Create translation messages 2024-08-23 14:03:47 +02:00
036f191949 Merge branch 'update-translations' into 'dev'
Add & update Weblate translations

See merge request turris/reforis/foris-js!230
2024-08-23 13:42:58 +02:00
2f73516384 Merge branch 'migrate-to-fontawesome-v6' into 'dev'
Migrate to FontAwesome v6

See merge request turris/reforis/foris-js!229
2024-08-22 16:10:21 +02:00
b97ba379ec Update Snapshots 2024-08-22 16:05:41 +02:00
5f1372bb37 Migrate to FontAwesome v6 2024-08-22 16:05:40 +02:00
7c9cd9451b Translated using Weblate (French)
Currently translated at 82.6% (57 of 69 strings)

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/fr/
2024-07-27 03:09:24 +02:00
7e0752fc17 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!228
2024-07-26 16:12:26 +02:00
4c5aeed26e Merge branch 'bump-603' into 'dev'
Bump v6.0.3

See merge request turris/reforis/foris-js!227
2024-07-26 16:08:09 +02:00
d90e39a570 Bump v6.0.3
* Update WiFiQRCode component
2024-07-26 17:06:38 +03:00
2e2f326ade Merge branch 'wifi-qr-icon' into 'dev'
Update WiFiQRCode component

See merge request turris/reforis/foris-js!226
2024-07-26 14:26:00 +02:00
541ca7a784 Update WiFiQRCode component
Remove custom QR icon image with a standard fontawesome icon
2024-07-25 17:31:30 +03:00
8e0c60a576 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!225
2024-06-28 14:22:41 +02:00
928cf716d6 Merge branch 'bump-602' into 'dev'
Bump v6.0.2

See merge request turris/reforis/foris-js!224
2024-06-28 13:08:32 +02:00
bd8d5bc8cb Bump v6.0.2
* Add className prop to CheckBox and Radio components
2024-06-28 14:03:19 +03:00
804e0022eb Update Snapshots 2024-06-28 10:30:25 +03:00
d69398ac06 Add className prop to CheckBox and Radio components 2024-06-28 10:29:41 +03:00
e297410f16 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!223
2024-06-26 15:05:29 +02:00
0ea5d43c75 Merge branch 'dev' into 'master'
Bump v6.0.0

See merge request turris/reforis/foris-js!220
2024-06-11 14:29:46 +02:00
bee4bee300 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!215
2024-01-19 19:56:06 +01:00
65 changed files with 4453 additions and 2463 deletions

View File

@ -8,15 +8,109 @@ and this project adheres to
## [Unreleased] ## [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
- Added & updated Weblate translations
### Changed
- Updated icon color classes to use "text-secondary" instead of "text-dark"
- Updated Wi-Fi QRCodeModal component to use new styles & added close button
- Refactored WiFiGuestForm component to get rid of obsolete div element
- NPM audit fix
## [6.1.0] - 2024-08-23
### Added
- Added & updated Weblate translations
### Changed
- Migrated to Font Awesome v6
- NPM audit fix
## [6.0.3] - 2024-07-26
### Changed
- Updated WiFiQRCode component
## [6.0.2] - 2024-06-28
### Added
- Added className prop to CheckBox and Radio components
## [6.0.1] - 2024-06-26 ## [6.0.1] - 2024-06-26
### Added ### Added
- Add className prop to Switch component - Added className prop to Switch component
### Changed ### Changed
- Update dependencies in package.json - Updated dependencies in package.json
- NPM audit fix - NPM audit fix
## [6.0.0] - 2024-06-11 ## [6.0.0] - 2024-06-11
@ -325,7 +419,16 @@ and this project adheres to
## [0.0.7] - 2019-09-02 ## [0.0.7] - 2019-09-02
[unreleased]: [unreleased]:
https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.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
[6.0.2]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.1...v6.0.2
[6.0.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.0...v6.0.1 [6.0.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.0...v6.0.1
[6.0.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v5.6.1...v6.0.0 [6.0.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v5.6.1...v6.0.0
[5.6.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v5.6.0...v5.6.1 [5.6.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v5.6.0...v5.6.1

View File

@ -33,5 +33,4 @@ To install a specific version:
npm install foris@version npm install foris@version
``` ```
<a target="_blank" href="https://www.npmjs.com/package/foris">Check [![npm version](https://badge.fury.io/js/foris.svg)](https://badge.fury.io/js/foris)
on<img width="100px" src="./docs/forisjs-npm.svg"></a>

1326
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "foris", "name": "foris",
"version": "6.0.1", "version": "6.5.0",
"description": "Foris JS library is a set of components and utils for reForis application and plugins.", "description": "Foris JS library is a set of components and utils for reForis application and plugins.",
"author": "CZ.NIC, z.s.p.o.", "author": "CZ.NIC, z.s.p.o.",
"repository": { "repository": {
@ -14,6 +14,11 @@
"license": "GPL-3.0", "license": "GPL-3.0",
"main": "./src/index.js", "main": "./src/index.js",
"dependencies": { "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", "axios": "^1.7.2",
"immutability-helper": "^3.1.1", "immutability-helper": "^3.1.1",
"moment": "^2.30.1", "moment": "^2.30.1",
@ -34,7 +39,6 @@
"@babel/plugin-transform-runtime": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7",
"@babel/preset-env": "^7.24.7", "@babel/preset-env": "^7.24.7",
"@babel/preset-react": "^7.24.7", "@babel/preset-react": "^7.24.7",
"@fortawesome/fontawesome-free": "^6.5.2",
"@testing-library/react": "^8.0.9", "@testing-library/react": "^8.0.9",
"babel-loader": "^8.1.0", "babel-loader": "^8.1.0",
"babel-polyfill": "^6.26.0", "babel-polyfill": "^6.26.0",

View File

@ -5,10 +5,12 @@
* See /LICENSE for more information. * See /LICENSE for more information.
*/ */
import React from "react"; import React, { useRef, useEffect, useState } from "react";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import { useFocusTrap } from "../utils/hooks";
export const ALERT_TYPES = Object.freeze({ export const ALERT_TYPES = Object.freeze({
PRIMARY: "primary", PRIMARY: "primary",
SECONDARY: "secondary", SECONDARY: "secondary",
@ -37,17 +39,37 @@ Alert.defaultProps = {
}; };
function Alert({ type, onDismiss, children }) { 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 ( return (
<div <div
className={`alert alert-${type} ${ ref={alertRef}
className={`alert alert-${type} ${isVisible ? "alert-fade-in" : "alert-slide-out-top"} ${
onDismiss ? "alert-dismissible" : "" onDismiss ? "alert-dismissible" : ""
}`.trim()} }`.trim()}
role="alert"
onAnimationEnd={handleAnimationEnd}
> >
{onDismiss && ( {onDismiss && (
<button <button
type="button" type="button"
className="btn-close" className="btn-close"
onClick={onDismiss} onClick={() => setIsVisible(false)}
aria-label={_("Close")} aria-label={_("Close")}
/> />
)} )}

View File

@ -17,17 +17,19 @@ CheckBox.propTypes = {
helpText: PropTypes.string, helpText: PropTypes.string,
/** Control if checkbox is clickable */ /** Control if checkbox is clickable */
disabled: PropTypes.bool, disabled: PropTypes.bool,
/** Additional class name */
className: PropTypes.string,
}; };
CheckBox.defaultProps = { CheckBox.defaultProps = {
disabled: false, disabled: false,
}; };
function CheckBox({ label, helpText, disabled, ...props }) { function CheckBox({ label, helpText, disabled, className, ...props }) {
const uid = useUID(); const uid = useUID();
return ( return (
<div className="mb-3 form-check"> <div className={`${className || "mb-3"} form-check`.trim()}>
<input <input
className="form-check-input" className="form-check-input"
type="checkbox" type="checkbox"

View File

@ -48,15 +48,13 @@ function CopyInput({ value, ...props }) {
return ( return (
<Input type="text" value={value} ref={inputTextRef} {...props}> <Input type="text" value={value} ref={inputTextRef} {...props}>
<div className="input-group-append"> <button
<button className="btn btn-outline-secondary"
className="btn btn-outline-secondary" type="button"
type="button" onClick={handleCopyClick}
onClick={handleCopyClick} >
> <span>{isCopied ? _("Copied!") : _("Copy")}</span>
<span>{isCopied ? _("Copied!") : _("Copy")}</span> </button>
</button>
</div>
</Input> </Input>
); );
} }

View File

@ -6,6 +6,7 @@ All additional `props` are passed to the `<input type="email">` HTML component.
```js ```js
import { useState } from "react"; import { useState } from "react";
import Button from "./Button";
const [email, setEmail] = useState("Wrong email"); const [email, setEmail] = useState("Wrong email");
<form onSubmit={(e) => e.preventDefault()}> <form onSubmit={(e) => e.preventDefault()}>
<EmailInput <EmailInput
@ -14,6 +15,6 @@ const [email, setEmail] = useState("Wrong email");
helpText="Read the small text!" helpText="Read the small text!"
onChange={(event) => setEmail(event.target.value)} onChange={(event) => setEmail(event.target.value)}
/> />
<button type="submit">Try to submit</button> <Button type="submit">Try to submit</Button>
</form>; </form>;
``` ```

View File

@ -9,7 +9,7 @@ import React, { useRef, useEffect } from "react";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import { useClickOutside } from "../utils/hooks"; import { useClickOutside, useFocusTrap } from "../utils/hooks";
import Portal from "../utils/Portal"; import Portal from "../utils/Portal";
import "./Modal.css"; import "./Modal.css";
@ -29,10 +29,11 @@ Modal.propTypes = {
}; };
export function Modal({ shown, setShown, scrollable, size, children }) { export function Modal({ shown, setShown, scrollable, size, children }) {
const dialogRef = useRef(); const modalRef = useRef();
let modalSize = "modal-"; let modalSize = "modal-";
useClickOutside(dialogRef, () => setShown(false)); useClickOutside(modalRef, () => setShown(false));
useFocusTrap(modalRef, shown);
useEffect(() => { useEffect(() => {
const handleEsc = (event) => { const handleEsc = (event) => {
@ -65,11 +66,13 @@ export function Modal({ shown, setShown, scrollable, size, children }) {
return ( return (
<Portal containerId="modal-container"> <Portal containerId="modal-container">
<div <div
ref={modalRef}
className={`modal fade ${shown ? "show" : ""}`.trim()} className={`modal fade ${shown ? "show" : ""}`.trim()}
role="dialog" role="dialog"
aria-modal="true"
aria-labelledby="modal-title"
> >
<div <div
ref={dialogRef}
className={`${modalSize.trim()} modal-dialog modal-dialog-centered ${ className={`${modalSize.trim()} modal-dialog modal-dialog-centered ${
scrollable ? "modal-dialog-scrollable" : "" scrollable ? "modal-dialog-scrollable" : ""
}`.trim()} }`.trim()}
@ -90,7 +93,7 @@ ModalHeader.propTypes = {
export function ModalHeader({ setShown, title }) { export function ModalHeader({ setShown, title }) {
return ( return (
<div className="modal-header"> <div className="modal-header">
<h5 className="modal-title">{title}</h5> <h1 className="modal-title fs-5">{title}</h1>
<button <button
type="button" type="button"
className="btn-close" className="btn-close"

View File

@ -7,6 +7,8 @@
import React from "react"; import React from "react";
import { faMinus, faPlus } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import Input from "./Input"; import Input from "./Input";
@ -60,7 +62,7 @@ function NumberInput({ onChange, inlineText, value, ...props }) {
onMouseUp={() => enableIncrease(false)} onMouseUp={() => enableIncrease(false)}
aria-label="Increase" aria-label="Increase"
> >
<i className="fas fa-plus" /> <FontAwesomeIcon icon={faPlus} />
</button> </button>
<button <button
type="button" type="button"
@ -69,7 +71,7 @@ function NumberInput({ onChange, inlineText, value, ...props }) {
onMouseUp={() => enableDecrease(false)} onMouseUp={() => enableDecrease(false)}
aria-label="Decrease" aria-label="Decrease"
> >
<i className="fas fa-minus" /> <FontAwesomeIcon icon={faMinus} />
</button> </button>
</Input> </Input>
); );

View File

@ -7,6 +7,8 @@
import React, { useState } from "react"; import React, { useState } from "react";
import { faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import Input from "./Input"; import Input from "./Input";
@ -44,8 +46,10 @@ function PasswordInput({ withEye, newPass, ...props }) {
setHidden((shouldBeHidden) => !shouldBeHidden); setHidden((shouldBeHidden) => !shouldBeHidden);
}} }}
> >
<i <FontAwesomeIcon
className={`fa ${isHidden ? "fa-eye" : "fa-eye-slash"}`} icon={isHidden ? faEye : faEyeSlash}
style={{ width: "1.25rem" }}
className="text-secondary"
/> />
</button> </button>
)} )}

48
src/bootstrap/Radio.js Normal file
View 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;

View File

@ -10,6 +10,8 @@ import React from "react";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import { useUID } from "react-uid"; import { useUID } from "react-uid";
import Radio from "./Radio";
RadioSet.propTypes = { RadioSet.propTypes = {
/** Name attribute of the input HTML tag. */ /** Name attribute of the input HTML tag. */
name: PropTypes.string.isRequired, name: PropTypes.string.isRequired,
@ -73,39 +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,
};
export function Radio({ label, id, helpText, inline, ...props }) {
return (
<div
className={`mb-2 ${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; export default RadioSet;

View File

@ -9,7 +9,7 @@
.spinner-wrapper .spinner-border { .spinner-wrapper .spinner-border {
width: 4rem; width: 4rem;
height: 4rem; height: 4rem;
color: #00a2e2; color: var(--bs-primary);
} }
.spinner-fs-background { .spinner-fs-background {

View 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;

View 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>;
```

View File

@ -25,7 +25,7 @@ exports[`<NumberInput/> Render number input 1`] = `
type="button" type="button"
> >
<i <i
class="fas fa-plus" class="fa"
/> />
</button> </button>
<button <button
@ -34,7 +34,7 @@ exports[`<NumberInput/> Render number input 1`] = `
type="button" type="button"
> >
<i <i
class="fas fa-minus" class="fa"
/> />
</button> </button>
</div> </div>

View File

@ -11,7 +11,7 @@ exports[`<RadioSet/> Render radio set 1`] = `
Radios set label Radios set label
</label> </label>
<div <div
class="mb-2" class="mb-3"
> >
<input <input
checked="" checked=""
@ -29,7 +29,7 @@ exports[`<RadioSet/> Render radio set 1`] = `
</label> </label>
</div> </div>
<div <div
class="mb-2" class="mb-3"
> >
<input <input
class="form-check-input me-2" class="form-check-input me-2"
@ -46,7 +46,7 @@ exports[`<RadioSet/> Render radio set 1`] = `
</label> </label>
</div> </div>
<div <div
class="mb-2" class="mb-3"
> >
<input <input
class="form-check-input me-2" class="form-check-input me-2"

View 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;

View 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 />;
```

View File

@ -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;

View 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;

View 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 />;
```

View 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;

View 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;

View 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")}&nbsp;
<span className="fw-bold">
{pagination.pageIndex + 1}
&nbsp;{_("of")}&nbsp;
{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;

View File

@ -68,14 +68,11 @@ export default function WifiGuestForm({
}))} }))}
{...props} {...props}
> >
<div className="input-group-append"> <WiFiQRCode
<WiFiQRCode SSID={formData.SSID}
SSID={formData.SSID} password={formData.password}
password={formData.password} />
/>
</div>
</TextInput> </TextInput>
<PasswordInput <PasswordInput
withEye withEye
label={_("Password")} label={_("Password")}

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2019 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. * This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information. * See /LICENSE for more information.
@ -7,6 +7,7 @@
import React, { useState } from "react"; import React, { useState } from "react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import QRCode from "qrcode.react"; import QRCode from "qrcode.react";
@ -18,15 +19,12 @@ import {
ModalFooter, ModalFooter,
ModalHeader, ModalHeader,
} from "../../bootstrap/Modal"; } from "../../bootstrap/Modal";
import { ForisURLs } from "../../utils/forisUrls";
WiFiQRCode.propTypes = { WiFiQRCode.propTypes = {
SSID: PropTypes.string.isRequired, SSID: PropTypes.string.isRequired,
password: PropTypes.string.isRequired, password: PropTypes.string.isRequired,
}; };
const QR_ICON_PATH = `${ForisURLs.static}/imgs/QR_icon.svg`;
export default function WiFiQRCode({ SSID, password }) { export default function WiFiQRCode({ SSID, password }) {
const [modal, setModal] = useState(false); const [modal, setModal] = useState(false);
@ -40,11 +38,11 @@ export default function WiFiQRCode({ SSID, password }) {
setModal(true); setModal(true);
}} }}
> >
<img <FontAwesomeIcon
width="20" icon="fa-solid fa-qrcode"
src={QR_ICON_PATH} title={_("Show QR code")}
alt="QR" aria-label={_("Show QR code")}
style={{ opacity: 0.67 }} className="text-secondary"
/> />
</button> </button>
{modal ? ( {modal ? (
@ -72,23 +70,35 @@ function QRCodeModal({ shown, setShown, SSID, password }) {
<ModalHeader setShown={setShown} title={_("Wi-Fi QR Code")} /> <ModalHeader setShown={setShown} title={_("Wi-Fi QR Code")} />
<ModalBody> <ModalBody>
<QRCode <QRCode
className="d-block mx-auto img-logo-black"
renderAs="svg" renderAs="svg"
value={toQRCodeContent(SSID, password)} value={toQRCodeContent(SSID, password)}
level="M" level="M"
size={350} size={350}
includeMargin includeMargin
style={{ display: "block", margin: "auto" }}
/> />
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button <Button
className="btn-outline-primary" className="btn-secondary"
onClick={(e) => {
e.preventDefault();
setShown(false);
}}
>
{_("Close")}
</Button>
<Button
className="btn-primary"
onClick={(e) => { onClick={(e) => {
e.preventDefault(); e.preventDefault();
createAndDownloadPdf(SSID, password); createAndDownloadPdf(SSID, password);
}} }}
> >
<i className="fas fa-file-download me-2" /> <FontAwesomeIcon
icon="fa-solid fa-file-download"
className="me-2"
/>
{_("Download PDF")} {_("Download PDF")}
</Button> </Button>
</ModalFooter> </ModalFooter>

View File

@ -5,7 +5,7 @@ exports[`<WiFiSettings/> Snapshot 2.4 GHz 1`] = `
- First value - First value
+ Second value + Second value
@@ -243,207 +243,95 @@ @@ -240,207 +240,95 @@
value="0" value="0"
> >
auto auto
@ -339,7 +339,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
- First value - First value
+ Second value + Second value
@@ -527,10 +527,94 @@ @@ -524,10 +524,87 @@
<small> <small>
Enables Wi-Fi for guests, which is separated from LAN network. Devices connected to this network are allowed to access the internet, but aren't allowed to access other devices and the configuration interface of the router. Parameters of the guest network can be set in the Guest network tab. Enables Wi-Fi for guests, which is separated from LAN network. Devices connected to this network are allowed to access the internet, but aren't allowed to access other devices and the configuration interface of the router. Parameters of the guest network can be set in the Guest network tab.
</small> </small>
@ -363,21 +363,14 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
+ type="text" + type="text"
+ value="TestGuestSSID" + value="TestGuestSSID"
+ /> + />
+ <div + <button
+ class="input-group-append" + class="input-group-text"
+ type="button"
+ > + >
+ <button + <i
+ class="input-group-text" + class="fa"
+ type="button" + />
+ > + </button>
+ <img
+ alt="QR"
+ src="/reforis/static/reforis/imgs/QR_icon.svg"
+ style="opacity: 0.67;"
+ width="20"
+ />
+ </button>
+ </div>
+ </div> + </div>
+ <div + <div
+ class="form-text" + class="form-text"
@ -412,7 +405,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
+ type="button" + type="button"
+ > + >
+ <i + <i
+ class="fa fa-eye" + class="fa"
+ /> + />
+ </button> + </button>
+ </div> + </div>
@ -434,7 +427,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
class="form-check form-switch mb-3 d-flex align-items-center" class="form-check form-switch mb-3 d-flex align-items-center"
> >
<input <input
@@ -553,10 +637,11 @@ @@ -550,10 +627,11 @@
<div <div
class="text-end" class="text-end"
> >
@ -453,7 +446,7 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
- First value - First value
+ Second value + Second value
@@ -21,10 +21,516 @@ @@ -21,10 +21,513 @@
> >
Wi-Fi 1 Wi-Fi 1
</h2> </h2>
@ -482,11 +475,8 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ class="input-group-text" + class="input-group-text"
+ type="button" + type="button"
+ > + >
+ <img + <i
+ alt="QR" + class="fa"
+ src="/reforis/static/reforis/imgs/QR_icon.svg"
+ style="opacity: 0.67;"
+ width="20"
+ /> + />
+ </button> + </button>
+ </div> + </div>
@ -523,7 +513,7 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ type="button" + type="button"
+ > + >
+ <i + <i
+ class="fa fa-eye" + class="fa"
+ /> + />
+ </button> + </button>
+ </div> + </div>
@ -568,7 +558,7 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ GHz + GHz
+ </label> + </label>
+ <div + <div
+ class="mb-2 form-check form-check-inline" + class="mb-3 form-check form-check-inline"
+ > + >
+ <input + <input
+ class="form-check-input me-2" + class="form-check-input me-2"
@ -585,7 +575,7 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ </label> + </label>
+ </div> + </div>
+ <div + <div
+ class="mb-2 form-check form-check-inline" + class="mb-3 form-check form-check-inline"
+ > + >
+ <input + <input
+ checked="" + checked=""

View 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"
)
);
});
});

View File

@ -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.")
);
});
});

View File

@ -1,11 +1,32 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP // 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>
<div <div
id="modal-container" id="modal-container"
> >
<div <div
aria-labelledby="modal-title"
aria-modal="true"
class="modal fade show" class="modal fade show"
role="dialog" role="dialog"
> >
@ -19,11 +40,11 @@ exports[`<RebootButton/> Render modal. 1`] = `
<div <div
class="modal-header" class="modal-header"
> >
<h5 <h1
class="modal-title" class="modal-title fs-5"
> >
Warning! Warning!
</h5> </h1>
<button <button
aria-label="Close" aria-label="Close"
class="btn-close" class="btn-close"
@ -33,15 +54,17 @@ exports[`<RebootButton/> Render modal. 1`] = `
<div <div
class="modal-body" class="modal-body"
> >
<p> <p
Are you sure you want to restart the router? class="mb-0"
>
Are you sure you want to perform this action?
</p> </p>
</div> </div>
<div <div
class="modal-footer" class="modal-footer"
> >
<button <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" type="button"
> >
<span> <span>
@ -53,7 +76,7 @@ exports[`<RebootButton/> Render modal. 1`] = `
type="button" type="button"
> >
<span> <span>
Confirm reboot Confirm action
</span> </span>
</button> </button>
</div> </div>
@ -61,28 +84,15 @@ exports[`<RebootButton/> Render modal. 1`] = `
</div> </div>
</div> </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 <div
id="modal-container" id="alert-container"
/> />
<button <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" type="button"
> >
<span> <span>
Reboot Action
</span> </span>
</button> </button>
</div> </div>

View File

@ -43,14 +43,17 @@ describe("AlertContext", () => {
expect(componentContainer).toMatchSnapshot(); expect(componentContainer).toMatchSnapshot();
}); });
it("should dismiss alert with alert button", () => { it("should dismiss alert with alert button", async () => {
fireEvent.click(getByText(componentContainer, "Set alert")); fireEvent.click(getByText(componentContainer, "Set alert"));
// Alert is present // Alert is present
expect(getByText(componentContainer, "Alert content")).toBeDefined(); expect(getByText(componentContainer, "Alert content")).toBeDefined();
fireEvent.click(componentContainer.querySelector(".btn-close")); fireEvent.click(componentContainer.querySelector(".btn-close"));
// Alert is gone // Alert is gone
expect(queryByText(componentContainer, "Alert content")).toBeNull(); await (() =>
expect(
queryByText(componentContainer, "Alert content")
).toBeNull());
}); });
it("should dismiss alert with external button", () => { it("should dismiss alert with external button", () => {

View File

@ -6,7 +6,8 @@ exports[`AlertContext should render alert 1`] = `
id="alert-container" id="alert-container"
> >
<div <div
class="alert alert-danger alert-dismissible" class="alert alert-danger alert-fade-in alert-dismissible"
role="alert"
> >
<button <button
aria-label="Close" aria-label="Close"

View File

@ -28,19 +28,22 @@ export { default as FileInput } from "./bootstrap/FileInput";
export { default as Input } from "./bootstrap/Input"; export { default as Input } from "./bootstrap/Input";
export { default as NumberInput } from "./bootstrap/NumberInput"; export { default as NumberInput } from "./bootstrap/NumberInput";
export { default as PasswordInput } from "./bootstrap/PasswordInput"; 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 Select } from "./bootstrap/Select";
export { default as TextInput } from "./bootstrap/TextInput"; export { default as TextInput } from "./bootstrap/TextInput";
export { formFieldsSize, buttonFormFieldsSize } from "./bootstrap/constants"; export { formFieldsSize, buttonFormFieldsSize } from "./bootstrap/constants";
export { default as Switch } from "./bootstrap/Switch"; export { default as Switch } from "./bootstrap/Switch";
export { default as ThreeDotsMenu } from "./bootstrap/ThreeDotsMenu";
export { Spinner, SpinnerElement } from "./bootstrap/Spinner"; export { Spinner, SpinnerElement } from "./bootstrap/Spinner";
export { Modal, ModalBody, ModalFooter, ModalHeader } from "./bootstrap/Modal"; export { Modal, ModalBody, ModalFooter, ModalHeader } from "./bootstrap/Modal";
// Common // 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 WiFiSettings } from "./common/WiFiSettings/WiFiSettings";
export { default as ResetWiFiSettings } from "./common/WiFiSettings/ResetWiFiSettings"; export { default as ResetWiFiSettings } from "./common/WiFiSettings/ResetWiFiSettings";
export { default as RichTable } from "./common/RichTable/RichTable";
// Form // Form
export { default as ForisForm } from "./form/components/ForisForm"; export { default as ForisForm } from "./form/components/ForisForm";
export { export {

View File

@ -14,7 +14,7 @@ import { render } from "@testing-library/react";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import { AlertContextMock } from "./alertContextMock"; import { AlertContextMock } from "./alertContextMock";
import { CustomizationContextMock } from "./cutomizationContextMock"; import { CustomizationContextMock } from "./customizationContextMock";
Wrapper.propTypes = { Wrapper.propTypes = {
children: PropTypes.oneOfType([ children: PropTypes.oneOfType([

View File

@ -1,10 +1,10 @@
/* /*
* Copyright (C) 2019 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. * This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information. * See /LICENSE for more information.
*/ */
import React from "react";
import mockAxios from "jest-mock-axios"; import mockAxios from "jest-mock-axios";
import moment from "moment-timezone"; import moment from "moment-timezone";
import "./mockGlobals"; import "./mockGlobals";
@ -26,3 +26,8 @@ jest.doMock("moment", () => {
return moment; return moment;
}); });
Date.now = jest.fn(() => new Date(Date.UTC(2019, 1, 1, 12, 13, 14)).valueOf()); Date.now = jest.fn(() => new Date(Date.UTC(2019, 1, 1, 12, 13, 14)).valueOf());
// Mock Font Awesome v6 library
jest.mock("@fortawesome/react-fontawesome", () => ({
FontAwesomeIcon: () => <i className="fa" />,
}));

View File

@ -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. * This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information. * 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 REFORIS_API_URL_PREFIX = `${REFORIS_URL_PREFIX}/api`;
export const ForisURLs = { export const ForisURLs = {
// turris-auth
login: `/login?${REFORIS_URL_PREFIX}/`, login: `/login?${REFORIS_URL_PREFIX}/`,
logout: `/logout`, logout: `/logout`,
extendSession: `/extend-session`,
static: `${REFORIS_URL_PREFIX}/static/reforis`, static: `${REFORIS_URL_PREFIX}/static/reforis`,
wifi: `${REFORIS_URL_PREFIX}/network-settings/wifi`, wifi: `${REFORIS_URL_PREFIX}/network-settings/wifi`,
@ -25,6 +27,13 @@ export const ForisURLs = {
storage: `${REFORIS_URL_PREFIX}/storage`, storage: `${REFORIS_URL_PREFIX}/storage`,
sentinelAgreement: `${REFORIS_URL_PREFIX}/sentinel/agreement`, 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. // Notifications links are used with <Link/> inside Router, thus url subdir is not required.
overview: "/overview", overview: "/overview",
notifications: "/overview#notifications", notifications: "/overview#notifications",

View File

@ -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]);
}

View File

@ -28,11 +28,11 @@ module.exports = {
content: "docs/development.md", content: "docs/development.md",
}, },
{ {
name: "Components", name: "Common Components",
description: "Set of main components.", description: "Set of main components.",
sections: [ sections: [
{ {
name: "Foris forms", name: "ForisForm",
components: [ components: [
"src/form/components/ForisForm.js", "src/form/components/ForisForm.js",
"src/form/components/alerts.js", "src/form/components/alerts.js",
@ -42,47 +42,52 @@ module.exports = {
usageMode: "expand", usageMode: "expand",
}, },
{ {
name: "Alert Context", name: "RichTable",
components: ["src/context/alertContext/AlertContext.js"], components: ["src/common/RichTable/RichTable.js"],
exampleMode: "expand",
usageMode: "expand",
},
{
name: "ActionButtonWithModal",
components: [
"src/common/ActionButtonWithModal/ActionButtonWithModal.js",
],
exampleMode: "expand", exampleMode: "expand",
usageMode: "expand", usageMode: "expand",
}, },
], ],
sectionDepth: 1, sectionDepth: 1,
}, },
{ {
name: "Customization Context", name: "Bootstrap Components",
components: [
"src/context/customizationContext/CustomizationContext.js",
],
exampleMode: "expand",
usageMode: "expand",
},
{
name: "Bootstrap components",
description: "Set of bootstrap components.", description: "Set of bootstrap components.",
components: "src/bootstrap/*.js", components: "src/bootstrap/*.js",
exampleMode: "expand", exampleMode: "expand",
usageMode: "expand", usageMode: "expand",
ignore: ["src/bootstrap/constants.js"], ignore: ["src/bootstrap/constants.js", "src/bootstrap/Radio.js"],
sectionDepth: 0, sectionDepth: 0,
}, },
{
name: "Contexts",
components: [
"src/context/alertContext/AlertContext.js",
"src/context/customizationContext/CustomizationContext.js",
],
exampleMode: "expand",
usageMode: "expand",
},
], ],
template: { template: {
favicon: "/docs/components/logo.svg", favicon: "/docs/components/logo.svg",
}, },
require: [ require: [
"babel-polyfill", "babel-polyfill",
path.join(__dirname, "src/testUtils/mockGlobals"), path.join(__dirname, "src/testUtils/mockGlobals.js"),
path.join( path.join(
__dirname, __dirname,
"node_modules/bootstrap/dist/css/bootstrap.min.css" "node_modules/bootstrap/dist/css/bootstrap.min.css"
), ),
path.join( path.join(__dirname, "node_modules/bootstrap/dist/js/bootstrap.min.js"),
__dirname,
"node_modules/@fortawesome/fontawesome-free/css/all.min.css"
),
], ],
styleguideComponents: { styleguideComponents: {
LogoRenderer: path.join(__dirname, "docs/components/Logo"), LogoRenderer: path.join(__dirname, "docs/components/Logo"),

View File

@ -1,24 +1,23 @@
# Czech translations for Foris JS. # Czech translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2023-11-23 16:03+0000\n" "PO-Revision-Date: 2024-09-25 10:15+0000\n"
"Last-Translator: Lukas Jelinek <lukas.jelinek@nic.cz>\n" "Last-Translator: Lukas Jelinek <lukas.jelinek@nic.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/turris/foris-js/cs/"
">\n"
"Language: cs\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"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "Generated-By: Babel 2.16.0\n"
"X-Generator: Weblate 5.2.1-rc\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -36,67 +35,118 @@ msgstr "Neobdržena žádná odezva."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Došlo k neznámé chybě v aplikačním programovém rozhraní." msgstr "Došlo k neznámé chybě v aplikačním programovém rozhraní."
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr "Zavřít"
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Zkopírováno!" msgstr "Zkopírováno!"
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopírovat" msgstr "Kopírovat"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "Vyžadován restart." msgid "Action successful."
msgstr "Nastavení úspěšně uložena"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Restartovat" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
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
msgid "Cancel" msgid "Cancel"
msgstr "Zrušit" msgstr "Zrušit"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Potvrdit restart" msgstr "Potvrdit restart"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "Při resetu nastavení Wi-Fi došlo k chybě." msgstr "Při resetu nastavení Wi-Fi došlo k chybě."
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "Nastavení Wi-Fi jsou uvedena do výchozího stavu." msgstr "Nastavení Wi-Fi jsou uvedena do výchozího stavu."
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "Reset nastavení Wi-Fi" msgstr "Reset nastavení Wi-Fi"
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
"Pokud se počet bezdrátových karet neshoduje, můžete zkusit obnovit nastavení " "Pokud se počet bezdrátových karet neshoduje, můžete zkusit obnovit "
"Wi-Fi. Je třeba upozornit, že se tím odstraní aktuální konfigurace Wi-Fi a " "nastavení Wi-Fi. Je třeba upozornit, že se tím odstraní aktuální "
"obnoví se výchozí hodnoty." "konfigurace Wi-Fi a obnoví se výchozí hodnoty."
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}" msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Heslo" msgstr "Heslo"
@ -125,8 +175,8 @@ msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling " "In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection." "Management Frame Protection."
msgstr "" msgstr ""
"Máte-li problémy při připojování k přístupovému bodu Wi-Fi, zkuste vypnout " "Máte-li problémy při připojování k přístupovému bodu Wi-Fi, zkuste "
"Management Frame Protection." "vypnout Management Frame Protection."
#: src/common/WiFiSettings/WiFiForm.js:262 #: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto" msgid "auto"
@ -136,40 +186,45 @@ msgstr "automaticky"
msgid "Custom" msgid "Custom"
msgstr "Uživatelsky určené" msgstr "Uživatelsky určené"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "Zapnout Wi-Fi pro hosty" msgstr "Zapnout Wi-Fi pro hosty"
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr "Ukázat QR kód"
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "Wi-Fi QR kód" msgstr "Wi-Fi QR kód"
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "Stáhnout PDF" msgstr "Stáhnout PDF"
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "SSID nemůže být delší než 32 znaků" msgstr "SSID nemůže být delší než 32 znaků"
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "SSID je třeba vyplnit" msgstr "SSID je třeba vyplnit"
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "SSID nemůže být delší než 32 bajtů" msgstr "SSID nemůže být delší než 32 bajtů"
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "Je třeba, aby heslo obsahovalo alespoň 8 znaků" msgstr "Je třeba, aby heslo obsahovalo alespoň 8 znaků"
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "Heslo nesmí obsahovat více než 63 znaků" msgstr "Heslo nesmí obsahovat více než 63 znaků"
@ -254,10 +309,10 @@ msgid ""
"supported by all your devices. It usually has less interference, but the " "supported by all your devices. It usually has less interference, but the "
"signal does not carry so well indoors." "signal does not carry so well indoors."
msgstr "" msgstr ""
"Pásmo 2,4 GHz je v klientských zařízeních podporováno nejčastěji, bývá ale " "Pásmo 2,4 GHz je v klientských zařízeních podporováno nejčastěji, bývá "
"více zarušené. Pásmo 5 GHz je novější standard a nemusí být podporováno " "ale více zarušené. Pásmo 5 GHz je novější standard a nemusí být "
"všemi vámi používanými zařízeními. Obvykle bývá méně zarušené, signál se ale " "podporováno všemi vámi používanými zařízeními. Obvykle bývá méně "
"hůře šíří uvnitř budov." "zarušené, signál se ale hůře šíří uvnitř budov."
#: src/common/WiFiSettings/constants.js:43 #: src/common/WiFiSettings/constants.js:43
msgid "" msgid ""
@ -266,9 +321,10 @@ msgid ""
"interference in the network. If you don't know what to choose, use the " "interference in the network. If you don't know what to choose, use the "
"default option with 20 MHz wide channel." "default option with 20 MHz wide channel."
msgstr "" msgstr ""
"Změna tohoto parametru upraví režim fungování 802.11n/ac. 802.11n s kanály o " "Změna tohoto parametru upraví režim fungování 802.11n/ac. 802.11n s "
"šíři 40 MHz může pomoci k vyšší propustnosti, je ale náchylnější na rušení. " "kanály o šíři 40 MHz může pomoci k vyšší propustnosti, je ale náchylnější"
"Pokud nevíte co zvolit, použijte výchozí volbu s kanálem šíře 20 MHz." " na rušení. Pokud nevíte co zvolit, použijte výchozí volbu s kanálem šíře"
" 20 MHz."
#: src/common/WiFiSettings/constants.js:46 #: src/common/WiFiSettings/constants.js:46
msgid "" msgid ""
@ -278,10 +334,10 @@ msgid ""
"router. Parameters of the guest network can be set in the Guest network " "router. Parameters of the guest network can be set in the Guest network "
"tab." "tab."
msgstr "" msgstr ""
"Zapíná Wi-Fi pro hosty, která je oddělená od místní sítě (LAN). Zařízením " "Zapíná Wi-Fi pro hosty, která je oddělená od místní sítě (LAN). Zařízením"
"připojeným k této síti je umožněn přístup do Internetu, ale už ne na ostatní " " připojeným k této síti je umožněn přístup do Internetu, ale už ne na "
"zařízení a k rozhraní pro nastavování směrovače. Parametry sítě pro hosty je " "ostatní zařízení a k rozhraní pro nastavování směrovače. Parametry sítě "
"možné nastavit na panelu „Síť pro hosty“." "pro hosty je možné nastavit na panelu „Síť pro hosty“."
#: src/common/WiFiSettings/constants.js:49 #: src/common/WiFiSettings/constants.js:49
msgid "" msgid ""
@ -290,9 +346,9 @@ msgid ""
"without WPA3 support require older WPA2. If you experience issues with " "without WPA3 support require older WPA2. If you experience issues with "
"connecting older devices, try to enable WPA2." "connecting older devices, try to enable WPA2."
msgstr "" msgstr ""
"Standard WPA3 je nová nejbezpečnější metoda, již se doporučuje používat se " "Standard WPA3 je nová nejbezpečnější metoda, již se doporučuje používat "
"všemi zařízeními, která ji podporují. Starší zařízení bez podpory WPA3 " "se všemi zařízeními, která ji podporují. Starší zařízení bez podpory WPA3"
"potřebují starší WPA2. Zaznamenáte-li problémy s připojováním starších " " potřebují starší WPA2. Zaznamenáte-li problémy s připojováním starších "
"zařízení, zkuste zapnout WPA2." "zařízení, zkuste zapnout WPA2."
#: src/form/components/ForisForm.js:121 #: src/form/components/ForisForm.js:121
@ -305,19 +361,19 @@ msgstr ""
"Změny, které byly provedeny, nebyly uloženy. Jste si jistý, že chcete " "Změny, které byly provedeny, nebyly uloženy. Jste si jistý, že chcete "
"opustit stránku?" "opustit stránku?"
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "Aktualizuji" msgstr "Aktualizuji"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Načítám nastavení" msgstr "Načítám nastavení"
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Uložit" msgstr "Uložit"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "Došlo k chybě při získávání dat." msgstr "Došlo k chybě při získávání dat."
@ -378,3 +434,16 @@ msgstr "Neobsahuje seznam e-mailů oddělených čárkou."
#~ "ale, že\n" #~ "ale, že\n"
#~ "se tím odstraní aktuální konfigurace a vrátí se výchozí hodnoty.\n" #~ "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?"

View File

@ -1,13 +1,13 @@
# Danish translations for Foris JS. # Danish translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n" "PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: da\n" "Language: da\n"
@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -34,64 +34,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -129,40 +178,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -277,19 +331,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -415,3 +469,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,24 +1,23 @@
# German translations for Foris JS. # German translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-01-04 21:08+0000\n" "PO-Revision-Date: 2024-01-04 21:08+0000\n"
"Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n" "Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/turris/foris-js/"
"de/>\n"
"Language: de\n" "Language: de\n"
"Language-Team: German <https://hosted.weblate.org/projects/turris/foris-"
"js/de/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Generated-By: Babel 2.16.0\n"
"X-Generator: Weblate 5.4-dev\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -36,69 +35,120 @@ msgstr "Keine Antwort erhalten."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Ein unbekannter API-Fehler ist aufgetreten." msgstr "Ein unbekannter API-Fehler ist aufgetreten."
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Kopiert!" msgstr "Kopiert!"
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopieren" msgstr "Kopieren"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "Neustart-Einleitung fehlgeschlagen." msgid "Action successful."
msgstr "Einstellungen erfolgreich gespeichert"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Systemneustart" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
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
msgid "Cancel" msgid "Cancel"
msgstr "Abbrechen" msgstr "Abbrechen"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Neustart bestätigen" msgstr "Neustart bestätigen"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
"Ein Fehler ist während der Zurücksetzung der WLAN-Einstellungen " "Ein Fehler ist während der Zurücksetzung der WLAN-Einstellungen "
"aufgetreten." "aufgetreten."
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "WLAN-Einstellungen wurden auf Standard zurückgesetzt." msgstr "WLAN-Einstellungen wurden auf Standard zurückgesetzt."
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "WLAN-Einstellungen zurücksetzen" msgstr "WLAN-Einstellungen zurücksetzen"
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
"Falls die Anzahl der WLAN-Karten nicht korrekt ist, könnte es helfen, die " "Falls die Anzahl der WLAN-Karten nicht korrekt ist, könnte es helfen, die"
"WLAN-Einstellungen zurückzusetzen. Beachten Sie, dass dabei die aktuelle " " WLAN-Einstellungen zurückzusetzen. Beachten Sie, dass dabei die aktuelle"
"WLAN-Konfiguration mit den Werkseinstellungen überschrieben wird." " WLAN-Konfiguration mit den Werkseinstellungen überschrieben wird."
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "WLAN ${deviceID + 1}" msgstr "WLAN ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
@ -127,8 +177,8 @@ msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling " "In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection." "Management Frame Protection."
msgstr "" msgstr ""
"Falls Sie beim Verbinden mit dem WiFi-Access-Point Probleme haben, schalten " "Falls Sie beim Verbinden mit dem WiFi-Access-Point Probleme haben, "
"Sie testweise die Management Frame Protection ab." "schalten Sie testweise die Management Frame Protection ab."
#: src/common/WiFiSettings/WiFiForm.js:262 #: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto" msgid "auto"
@ -138,40 +188,46 @@ msgstr "automatisch"
msgid "Custom" msgid "Custom"
msgstr "Benutzerdefiniert" msgstr "Benutzerdefiniert"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "Gast-WLAN aktivieren" msgstr "Gast-WLAN aktivieren"
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
#, fuzzy
msgid "Show QR code"
msgstr "WLAN QR-Code"
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "WLAN QR-Code" msgstr "WLAN QR-Code"
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "PDF herunterladen" msgstr "PDF herunterladen"
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "Die SSID darf nicht länger als 32 Zeichen sein" msgstr "Die SSID darf nicht länger als 32 Zeichen sein"
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "Die SSID darf nicht leer sein" msgstr "Die SSID darf nicht leer sein"
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "Die SSID darf nicht länger als 32 Bytes sein" msgstr "Die SSID darf nicht länger als 32 Bytes sein"
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "Das Passwort muss mindestens 8 Zeichen enthalten" msgstr "Das Passwort muss mindestens 8 Zeichen enthalten"
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "Das Passwort darf höchstens 63 Zeichen enthalten" msgstr "Das Passwort darf höchstens 63 Zeichen enthalten"
@ -256,11 +312,11 @@ msgid ""
"supported by all your devices. It usually has less interference, but the " "supported by all your devices. It usually has less interference, but the "
"signal does not carry so well indoors." "signal does not carry so well indoors."
msgstr "" msgstr ""
"Das 2,4 GHz-Band wird von allen Geräten unterstützt, ist aber tendenziell " "Das 2,4 GHz-Band wird von allen Geräten unterstützt, ist aber tendenziell"
"stärker mit Interferenzen belastet. Das 5-GHz-Band ist ein neuerer Standard, " " stärker mit Interferenzen belastet. Das 5-GHz-Band ist ein neuerer "
"der möglicherweise nicht von allen Ihren Geräten unterstützt wird. Es hat in " "Standard, der möglicherweise nicht von allen Ihren Geräten unterstützt "
"der Regel weniger Interferenzen, aber das Signal trägt nicht so gut in " "wird. Es hat in der Regel weniger Interferenzen, aber das Signal trägt "
"Innenräumen." "nicht so gut in Innenräumen."
#: src/common/WiFiSettings/constants.js:43 #: src/common/WiFiSettings/constants.js:43
msgid "" msgid ""
@ -269,10 +325,10 @@ msgid ""
"interference in the network. If you don't know what to choose, use the " "interference in the network. If you don't know what to choose, use the "
"default option with 20 MHz wide channel." "default option with 20 MHz wide channel."
msgstr "" msgstr ""
"Ändern Sie diese Option, um den 802.11n/ac/ax-Betriebsmodus anzupassen. 40 " "Ändern Sie diese Option, um den 802.11n/ac/ax-Betriebsmodus anzupassen. "
"MHz breite Kanäle können bei 802.11n mehr Daten transportieren, jedoch zu " "40 MHz breite Kanäle können bei 802.11n mehr Daten transportieren, jedoch"
"mehr Interferenzen im Netzwerk führen. Wenn Sie nicht wissen, was Sie wählen " " zu mehr Interferenzen im Netzwerk führen. Wenn Sie nicht wissen, was Sie"
"sollen, verwenden Sie die Voreinstellung mit 20 MHz Kanalbreite." " wählen sollen, verwenden Sie die Voreinstellung mit 20 MHz Kanalbreite."
#: src/common/WiFiSettings/constants.js:46 #: src/common/WiFiSettings/constants.js:46
msgid "" msgid ""
@ -282,11 +338,11 @@ msgid ""
"router. Parameters of the guest network can be set in the Guest network " "router. Parameters of the guest network can be set in the Guest network "
"tab." "tab."
msgstr "" msgstr ""
"Ermöglicht ein Wi-Fi für Gäste, das vom LAN-Netzwerk getrennt ist. Geräte, " "Ermöglicht ein Wi-Fi für Gäste, das vom LAN-Netzwerk getrennt ist. "
"die mit diesem Netzwerk verbunden sind, dürfen auf das Internet zugreifen, " "Geräte, die mit diesem Netzwerk verbunden sind, dürfen auf das Internet "
"nicht jedoch auf andere Geräte oder die Konfigurationsschnittstelle des " "zugreifen, nicht jedoch auf andere Geräte oder die "
"Routers. Die Parameter des Gastnetzwerks können auf der Gastnetzwerk-" "Konfigurationsschnittstelle des Routers. Die Parameter des Gastnetzwerks "
"Registerkarte eingestellt werden." "können auf der Gastnetzwerk-Registerkarte eingestellt werden."
#: src/common/WiFiSettings/constants.js:49 #: src/common/WiFiSettings/constants.js:49
msgid "" msgid ""
@ -297,9 +353,9 @@ msgid ""
msgstr "" msgstr ""
"Der WPA3-Standard ist die neue Verschlüsselungsmethode mit der besten " "Der WPA3-Standard ist die neue Verschlüsselungsmethode mit der besten "
"Sicherheit. Er empfiehlt sich für jedes Gerät, das ihn unterstützt, aber " "Sicherheit. Er empfiehlt sich für jedes Gerät, das ihn unterstützt, aber "
"ältere Geräte, bei denen das noch nicht der Fall ist, müssen auf das ältere " "ältere Geräte, bei denen das noch nicht der Fall ist, müssen auf das "
"WPA2 ausweichen. Falls Sie Probleme dabei haben, ältere Geräte mit dem WLAN " "ältere WPA2 ausweichen. Falls Sie Probleme dabei haben, ältere Geräte mit"
"zu verbinden, schalten Sie versuchsweise WPA2 ein." " dem WLAN zu verbinden, schalten Sie versuchsweise WPA2 ein."
#: src/form/components/ForisForm.js:121 #: src/form/components/ForisForm.js:121
msgid "Settings saved successfully" msgid "Settings saved successfully"
@ -311,19 +367,19 @@ msgstr ""
"Änderungen, die Sie vorgenommen haben, werden möglicherweise nicht " "Änderungen, die Sie vorgenommen haben, werden möglicherweise nicht "
"gespeichert. Möchten Sie wirklich gehen?" "gespeichert. Möchten Sie wirklich gehen?"
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "Aktualisiere" msgstr "Aktualisiere"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Einstellungen laden" msgstr "Einstellungen laden"
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Speichern" msgstr "Speichern"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "Beim Abruf der Daten ist ein Fehler aufgetreten." msgstr "Beim Abruf der Daten ist ein Fehler aufgetreten."
@ -377,3 +433,16 @@ msgstr "Enthält keine Liste von E-Mails, die durch Kommas getrennt sind."
#~ "current Wi-Fi configuration and restore the default values.\n" #~ "current Wi-Fi configuration and restore the default values.\n"
#~ " " #~ " "
#~ msgstr "" #~ 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?"

View File

@ -1,13 +1,13 @@
# Greek translations for Foris JS. # Greek translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2021-02-09 16:50+0000\n" "PO-Revision-Date: 2021-02-09 16:50+0000\n"
"Last-Translator: Michalis <michalisntovas@yahoo.gr>\n" "Last-Translator: Michalis <michalisntovas@yahoo.gr>\n"
"Language: el\n" "Language: el\n"
@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -35,64 +35,114 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Επανεκκίνηση"
#: src/common/RebootButton.js:66
msgid "Warning!"
msgstr "" msgstr ""
#: src/common/RebootButton.js:68 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Are you sure you want to restart the router?"
msgstr "Είστε βέβαιοι ότι θέλετε να κάνετε επανεκκίνηση του δρομολογητή;"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Άκυρο" msgstr "Άκυρο"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Επιβεβαίωση επανεκκίνησης" msgstr "Επιβεβαίωση επανεκκίνησης"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -131,40 +181,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -279,19 +334,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -417,3 +472,15 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr "Επανεκκίνηση"
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Είστε βέβαιοι ότι θέλετε να κάνετε επανεκκίνηση του δρομολογητή;"

View File

@ -1,13 +1,13 @@
# English translations for Foris JS. # English translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-10-17 09:28+0000\n" "PO-Revision-Date: 2019-10-17 09:28+0000\n"
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n" "Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
"Language: en\n" "Language: en\n"
@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -35,64 +35,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -130,40 +179,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -278,19 +332,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -413,3 +467,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,15 +1,15 @@
# Spanish translations for Foris JS. # Spanish translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2022-09-11 17:15+0000\n" "PO-Revision-Date: 2024-08-24 13:09+0000\n"
"Last-Translator: Dan Cybersec <dan.cybersec@protonmail.com>\n" "Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language: es\n" "Language: es\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/turris/foris-" "Language-Team: Spanish <https://hosted.weblate.org/projects/turris/foris-"
"js/es/>\n" "js/es/>\n"
@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -37,52 +37,103 @@ msgstr ""
"Un error desconocido ha ocurrido. Compruebe la consola para mas " "Un error desconocido ha ocurrido. Compruebe la consola para mas "
"informaciòn." "informaciòn."
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr "Cerrar"
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "¡Copiado!" msgstr "¡Copiado!"
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Copiar" msgstr "Copiar"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "La petición de reinicio ha fallado." msgid "Action successful."
msgstr "Los ajustes se han guardado correctamente"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Reiniciar" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
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
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Confirmar reinicio" msgstr "Confirmar reinicio"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "Ocurrió un error durante el reseteo de los ajustes Wi-Fi." msgstr "Ocurrió un error durante el reseteo de los ajustes Wi-Fi."
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "Los ajustes Wi-Fi se han definido por defecto." msgstr "Los ajustes Wi-Fi se han definido por defecto."
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "Resetear los ajustes Wi-Fi" msgstr "Resetear los ajustes Wi-Fi"
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
@ -92,12 +143,12 @@ msgstr ""
"resetar los ajustes Wi-Fi. Ten en cuenta que esto eliminará la " "resetar los ajustes Wi-Fi. Ten en cuenta que esto eliminará la "
"configuración Wi-Fi actual, y restaurará los ajustes por defecto." "configuración Wi-Fi actual, y restaurará los ajustes por defecto."
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}" msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Contraseña" msgstr "Contraseña"
@ -119,13 +170,15 @@ msgstr "Cifrado"
#: src/common/WiFiSettings/WiFiForm.js:226 #: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection" msgid "Disable Management Frame Protection"
msgstr "" msgstr "Desactivar Protected Management Frames"
#: src/common/WiFiSettings/WiFiForm.js:227 #: src/common/WiFiSettings/WiFiForm.js:227
msgid "" msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling " "In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection." "Management Frame Protection."
msgstr "" msgstr ""
"Si tienes problemas para conectarte a un punto de acceso Wi-Fi, intenta "
"desactivar Management Frame Protection."
#: src/common/WiFiSettings/WiFiForm.js:262 #: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto" msgid "auto"
@ -135,40 +188,45 @@ msgstr "automático"
msgid "Custom" msgid "Custom"
msgstr "Personalizado" msgstr "Personalizado"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "Activar el modo Wi-Fi de invitados" msgstr "Activar el modo Wi-Fi de invitados"
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr "Mostrar el código QR"
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "Código QR Wi-Fi" msgstr "Código QR Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "Descargar PDF" msgstr "Descargar PDF"
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "El SSID no puede ser más largo que 32 símbolos" msgstr "El SSID no puede ser más largo que 32 símbolos"
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "El SSID no puede estar vacío" msgstr "El SSID no puede estar vacío"
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "El SSID no puede ser más largo que 32 bytes" msgstr "El SSID no puede ser más largo que 32 bytes"
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "La contraseña debe contener al menos 8 símbolos" msgstr "La contraseña debe contener al menos 8 símbolos"
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "La contraseña no debe contener más de 63 símbolos" msgstr "La contraseña no debe contener más de 63 símbolos"
@ -306,19 +364,19 @@ msgstr ""
"Los cambios que has realizado podrían no haberse guardado. ¿Estás seguro " "Los cambios que has realizado podrían no haberse guardado. ¿Estás seguro "
"de que quieres salir?" "de que quieres salir?"
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "Actualizando" msgstr "Actualizando"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Cargando los ajustes" msgstr "Cargando los ajustes"
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "Se ha producido un error mientras se recuperaban los datos." msgstr "Se ha producido un error mientras se recuperaban los datos."
@ -435,3 +493,15 @@ msgstr "No contiene una lista de correos electrónicos separados por comas."
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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?"

View File

@ -1,13 +1,13 @@
# Finnish translations for Foris JS. # Finnish translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n" "PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fi\n" "Language: fi\n"
@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -34,64 +34,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -129,40 +178,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -277,19 +331,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -415,3 +469,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,13 +1,13 @@
# Faroese translations for Foris JS. # Faroese translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n" "PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fo\n" "Language: fo\n"
@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -34,64 +34,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -129,40 +178,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -277,19 +331,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -415,3 +469,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,21 +1,21 @@
# Translations template for Foris JS. # Translations template for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Foris JS 5.4.1\n" "Project-Id-Version: Foris JS 6.5.0\n"
"Report-Msgid-Bugs-To: tech.support@turris.cz\n" "Report-Msgid-Bugs-To: tech.support@turris.cz\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -33,64 +33,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -128,40 +177,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -276,19 +330,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""

View File

@ -1,15 +1,15 @@
# French translations for Foris JS. # French translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2022-01-14 05:53+0000\n" "PO-Revision-Date: 2024-07-27 01:09+0000\n"
"Last-Translator: Gabriel GRONDIN <gglinnk@protonmail.com>\n" "Last-Translator: Moha684 <nahil82466@gmail.com>\n"
"Language: fr\n" "Language: fr\n"
"Language-Team: French <https://hosted.weblate.org/projects/turris/foris-" "Language-Team: French <https://hosted.weblate.org/projects/turris/foris-"
"js/fr/>\n" "js/fr/>\n"
@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -35,66 +35,117 @@ msgstr "Aucun réponse reçue."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Une erreur dAPI inconnue sest produite." msgstr "Une erreur dAPI inconnue sest produite."
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr "Copié!"
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Copier"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
#, fuzzy
msgid "Action successful."
msgstr "Paramètres enregistrés avec succès"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Reboot request failed."
msgstr "La demande de redémarrage a échoué."
#: src/common/RebootButton.js:51
msgid "Reboot"
msgstr "Redémarrer"
#: 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
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Confirmer le redémarrage" msgstr "Confirmer le redémarrage"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
"Une erreur s'est produite lors de la réinitialisation des paramètres Wi-" "Une erreur s'est produite lors de la réinitialisation des paramètres Wi-"
"Fi." "Fi."
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "Les paramètres Wi-Fi sont définis par défaut." msgstr "Les paramètres Wi-Fi sont définis par défaut."
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "Réinitialiser les paramètres Wi-Fi" msgstr "Réinitialiser les paramètres Wi-Fi"
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}" msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Mot de passe" msgstr "Mot de passe"
@ -117,13 +168,15 @@ msgstr "Chiffrement"
#: src/common/WiFiSettings/WiFiForm.js:226 #: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection" msgid "Disable Management Frame Protection"
msgstr "" msgstr "Désactiver le mode Protection du cadre de gestion"
#: src/common/WiFiSettings/WiFiForm.js:227 #: src/common/WiFiSettings/WiFiForm.js:227
msgid "" msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling " "In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection." "Management Frame Protection."
msgstr "" msgstr ""
"Si vous rencontrez des soucis à vous connecter à un point d'accès WiFi, "
"merci d'essayer de désactiver le mode Protection du cadre de gestion."
#: src/common/WiFiSettings/WiFiForm.js:262 #: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto" msgid "auto"
@ -133,40 +186,46 @@ msgstr "automatique"
msgid "Custom" msgid "Custom"
msgstr "Personnalisé" msgstr "Personnalisé"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "Activer le mode Wi-Fi invité" msgstr "Activer le mode Wi-Fi invité"
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
#, fuzzy
msgid "Show QR code"
msgstr "Code QR Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "Code QR Wi-Fi" msgstr "Code QR Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "Télécharger le PDF" msgstr "Télécharger le PDF"
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "Le SSID ne peut pas être plus long que 32 symboles" msgstr "Le SSID ne peut pas être plus long que 32 symboles"
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "Le SSID ne peut pas être vide" msgstr "Le SSID ne peut pas être vide"
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "Le SSID ne peut pas dépasser 32 octets" msgstr "Le SSID ne peut pas dépasser 32 octets"
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "Le mot de passe doit contenir au moins 8 symboles" msgstr "Le mot de passe doit contenir au moins 8 symboles"
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
#, fuzzy #, fuzzy
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "Le mot de passe doit contenir au moins 8 symboles" msgstr "Le mot de passe doit contenir au moins 8 symboles"
@ -330,19 +389,19 @@ msgstr ""
"Il se peut que vos modifications ne soient pas enregistrées. Êtes-vous " "Il se peut que vos modifications ne soient pas enregistrées. Êtes-vous "
"sûr de vouloir quitter?" "sûr de vouloir quitter?"
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "Mise à jour en cours" msgstr "Mise à jour en cours"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Charger les paramètres" msgstr "Charger les paramètres"
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Enregistrer" msgstr "Enregistrer"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "Une erreur sest produite lors du chargement des données." msgstr "Une erreur sest produite lors du chargement des données."
@ -403,3 +462,15 @@ msgstr ""
#~ " " #~ " "
#~ 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 ?"

View File

@ -1,13 +1,13 @@
# Croatian translations for Foris JS. # Croatian translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2022-09-29 14:17+0000\n" "PO-Revision-Date: 2022-09-29 14:17+0000\n"
"Last-Translator: Milo Ivir <mail@milotype.de>\n" "Last-Translator: Milo Ivir <mail@milotype.de>\n"
"Language: hr\n" "Language: hr\n"
@ -18,7 +18,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -36,64 +36,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Lozinka" msgstr "Lozinka"
@ -131,40 +180,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -279,19 +333,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Spremi" msgstr "Spremi"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -417,3 +471,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,13 +1,13 @@
# Hungarian translations for Foris JS. # Hungarian translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2021-01-07 01:26+0000\n" "PO-Revision-Date: 2021-01-07 01:26+0000\n"
"Last-Translator: Zoli <boritek@gmail.com>\n" "Last-Translator: Zoli <boritek@gmail.com>\n"
"Language: hu\n" "Language: hu\n"
@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -35,64 +35,114 @@ msgstr "Nem érkezett válasz."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Ismeretlen API-hiba történt." msgstr "Ismeretlen API-hiba történt."
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgid "Action successful."
msgstr "Beállítások sikeresen elmentve"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
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
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -130,40 +180,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -280,19 +335,19 @@ msgstr ""
"Lehet, hogy az Ön által végrehajtott módosításokat nem menti a rendszer. " "Lehet, hogy az Ön által végrehajtott módosításokat nem menti a rendszer. "
"Biztosan el akar menni?" "Biztosan el akar menni?"
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "Frissítés" msgstr "Frissítés"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Beállítások betöltése" msgstr "Beállítások betöltése"
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Mentés" msgstr "Mentés"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "Hiba történt az adatok beolvasása közben." msgstr "Hiba történt az adatok beolvasása közben."
@ -410,3 +465,18 @@ msgstr "Nem tartalmaz vesszővel elválasztott e-mail listát."
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,24 +1,23 @@
# Italian translations for Foris JS. # Italian translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2022-12-31 23:48+0000\n" "PO-Revision-Date: 2022-12-31 23:48+0000\n"
"Last-Translator: Anselmo <anselmo@casinadicornia.com>\n" "Last-Translator: Anselmo <anselmo@casinadicornia.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/turris/foris-js/"
"it/>\n"
"Language: it\n" "Language: it\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/turris/foris-"
"js/it/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Generated-By: Babel 2.16.0\n"
"X-Generator: Weblate 4.15.1-dev\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -36,64 +35,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Password" msgstr "Password"
@ -131,40 +179,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -279,19 +332,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -416,3 +469,19 @@ msgstr ""
#~ " default option with 20 MHz wide " #~ " default option with 20 MHz wide "
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,13 +1,13 @@
# Japanese translations for Foris JS. # Japanese translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-10-16 10:08+0000\n" "PO-Revision-Date: 2019-10-16 10:08+0000\n"
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n" "Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
"Language: ja\n" "Language: ja\n"
@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -35,64 +35,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "再起動"
#: src/common/RebootButton.js:66
msgid "Warning!"
msgstr "" msgstr ""
#: src/common/RebootButton.js:68 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -131,40 +180,45 @@ msgstr "自動"
msgid "Custom" msgid "Custom"
msgstr "自動" msgstr "自動"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -279,19 +333,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "アップデート中…" msgstr "アップデート中…"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -417,3 +471,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,13 +1,13 @@
# Korean translations for Foris JS. # Korean translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n" "PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ko\n" "Language: ko\n"
@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -34,64 +34,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -129,40 +178,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -277,19 +331,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -415,3 +469,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,13 +1,13 @@
# Lithuanian translations for Foris JS. # Lithuanian translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n" "PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: lt\n" "Language: lt\n"
@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -35,64 +35,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -130,40 +179,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -278,19 +332,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -416,3 +470,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,24 +1,23 @@
# Norwegian Bokmål (Norway) translations for Foris JS. # Norwegian Bokmål (Norway) translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2023-03-02 11:40+0000\n" "PO-Revision-Date: 2023-03-02 11:40+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n" "Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/turris/"
"foris-js/nb_NO/>\n"
"Language: nb_NO\n" "Language: nb_NO\n"
"Language-Team: Norwegian Bokmål "
"<https://hosted.weblate.org/projects/turris/foris-js/nb_NO/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Generated-By: Babel 2.16.0\n"
"X-Generator: Weblate 4.16.2-dev\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -37,54 +36,104 @@ msgstr "Fikk ikke svar."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Ukjent API-feil." msgstr "Ukjent API-feil."
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Kopiert" msgstr "Kopiert"
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopier" msgstr "Kopier"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
#, fuzzy #, fuzzy
msgid "Reboot request failed." msgid "Action successful."
msgstr "Omstart kreves" msgstr "Innstillinger lagret"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Start på ny" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
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
msgid "Cancel" msgid "Cancel"
msgstr "Avbryt" msgstr "Avbryt"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Bekreft omstart" msgstr "Bekreft omstart"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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 #, fuzzy
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "Kunne ikke tilbakestille Wi-Fi-innstillinger." msgstr "Kunne ikke tilbakestille Wi-Fi-innstillinger."
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "Wi-Fi-innstillinger satt til forvalg." msgstr "Wi-Fi-innstillinger satt til forvalg."
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "Tilbakestill Wi-Fi-innstillinger" msgstr "Tilbakestill Wi-Fi-innstillinger"
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
@ -94,13 +143,13 @@ msgstr ""
"Fi-innstillingene. Merk at dette fjerner nåværende Wi-Fi-oppsett og " "Fi-innstillingene. Merk at dette fjerner nåværende Wi-Fi-oppsett og "
"gjenoppretter forvalgte verdier." "gjenoppretter forvalgte verdier."
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
#, fuzzy #, fuzzy
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}" msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Passord" msgstr "Passord"
@ -132,8 +181,8 @@ msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling " "In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection." "Management Frame Protection."
msgstr "" msgstr ""
"I fall du har problemer med å koble til Wi-Fi-tilgangspunkt, kan du skru av " "I fall du har problemer med å koble til Wi-Fi-tilgangspunkt, kan du skru "
"håndtering av rammebeskyttelse." "av håndtering av rammebeskyttelse."
#: src/common/WiFiSettings/WiFiForm.js:262 #: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto" msgid "auto"
@ -143,42 +192,48 @@ msgstr "automatisk"
msgid "Custom" msgid "Custom"
msgstr "Tilpasset" msgstr "Tilpasset"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
#, fuzzy #, fuzzy
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "Skru på gjestetrådløsnett" msgstr "Skru på gjestetrådløsnett"
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
#, fuzzy
msgid "Show QR code"
msgstr "QR-kode for Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "QR-kode for Wi-Fi" msgstr "QR-kode for Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "Last ned PDF" msgstr "Last ned PDF"
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "SSID kan ikke være lengre enn 32 symboler" msgstr "SSID kan ikke være lengre enn 32 symboler"
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "SSID kan ikke stå tomt." msgstr "SSID kan ikke stå tomt."
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
#, fuzzy #, fuzzy
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "SSID kan ikke være lengre enn 32 symboler" msgstr "SSID kan ikke være lengre enn 32 symboler"
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "Passordet må inneholde minst 8 tegn" msgstr "Passordet må inneholde minst 8 tegn"
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
#, fuzzy #, fuzzy
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "Passordet må inneholde minst 8 tegn" msgstr "Passordet må inneholde minst 8 tegn"
@ -317,20 +372,20 @@ msgstr "Innstillinger lagret"
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "Endringer du har gjort vil ikke bli lagret. Er du sikker?" msgstr "Endringer du har gjort vil ikke bli lagret. Er du sikker?"
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
#, fuzzy #, fuzzy
msgid "Updating" msgid "Updating"
msgstr "Oppdaterer" msgstr "Oppdaterer"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Last inn innstillinger" msgstr "Last inn innstillinger"
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Lagre" msgstr "Lagre"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "Kunne ikke hente data." msgstr "Kunne ikke hente data."
@ -393,3 +448,16 @@ msgstr "Inneholder ikke en kommainndelt liste med e-postadresser."
#~ "\n" #~ "\n"
#~ "gjeldende Wi-Fi-oppsett og tilbakestiller forvalgte verdier.\n" #~ "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?"

View File

@ -1,24 +1,23 @@
# Dutch translations for Foris JS. # Dutch translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-01-04 21:08+0000\n" "PO-Revision-Date: 2024-01-04 21:08+0000\n"
"Last-Translator: powerburner-nl <peter.mulder.1981@gmail.com>\n" "Last-Translator: powerburner-nl <peter.mulder.1981@gmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/turris/foris-js/nl/"
">\n"
"Language: nl\n" "Language: nl\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/turris/foris-"
"js/nl/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Generated-By: Babel 2.16.0\n"
"X-Generator: Weblate 5.4-dev\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -36,65 +35,114 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
#, fuzzy msgid "Action successful."
msgid "Reboot request failed." msgstr ""
msgstr "Opnieuw opstarten is vereist"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Opnieuw opstarten" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
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
msgid "Cancel" msgid "Cancel"
msgstr "Annuleren" msgstr "Annuleren"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Opnieuw opstarten bevestigen" msgstr "Opnieuw opstarten bevestigen"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Wachtwoord" msgstr "Wachtwoord"
@ -133,40 +181,45 @@ msgstr "auto"
msgid "Custom" msgid "Custom"
msgstr "auto" msgstr "auto"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -281,19 +334,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "Bijwerken" msgstr "Bijwerken"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Instellingen laden" msgstr "Instellingen laden"
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Opslaan" msgstr "Opslaan"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -419,3 +472,16 @@ msgstr "Bevat geen lijst met e-mails gescheiden door komma's."
#~ " default option with 20 MHz wide " #~ " default option with 20 MHz wide "
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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?"

View File

@ -1,25 +1,24 @@
# Polish translations for Foris JS. # Polish translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2023-03-07 16:37+0000\n" "PO-Revision-Date: 2023-03-07 16:37+0000\n"
"Last-Translator: Arusekk <arek_koz@o2.pl>\n" "Last-Translator: Arusekk <arek_koz@o2.pl>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/turris/foris-js/"
"pl/>\n"
"Language: pl\n" "Language: pl\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/turris/foris-"
"js/pl/>\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && "
"(n%100<10 || n%100>=20) ? 1 : 2;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "Generated-By: Babel 2.16.0\n"
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.16.2-dev\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -37,64 +36,115 @@ msgstr "Brak odpowiedzi."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Wystąpił nieznany błąd API." msgstr "Wystąpił nieznany błąd API."
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgid "Action successful."
msgstr "Ustawienia zostały zapisane"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
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
msgid "Cancel" msgid "Cancel"
msgstr "Anuluj" msgstr "Anuluj"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Potwierdź restart" msgstr "Potwierdź restart"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Hasło" msgstr "Hasło"
@ -132,40 +182,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "Własny" msgstr "Własny"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -282,19 +337,19 @@ msgstr ""
"Wprowadzone zmiany mogą nie zostać zapisane. Jesteś pewny, że chcesz " "Wprowadzone zmiany mogą nie zostać zapisane. Jesteś pewny, że chcesz "
"wyjść?" "wyjść?"
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "Aktualizacja" msgstr "Aktualizacja"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Wczytaj ustawienia" msgstr "Wczytaj ustawienia"
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Zapisz" msgstr "Zapisz"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "Wystąpił błąd podczas pobierania danych." msgstr "Wystąpił błąd podczas pobierania danych."
@ -417,3 +472,16 @@ msgstr "Nie zawiera listy e-maili oddzielonych przecinkami."
#~ " default option with 20 MHz wide " #~ " default option with 20 MHz wide "
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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?"

View File

@ -1,13 +1,13 @@
# Portuguese (Brazil) translations for Foris JS. # Portuguese (Brazil) translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2021-12-21 12:52+0000\n" "PO-Revision-Date: 2021-12-21 12:52+0000\n"
"Last-Translator: c10l <weblate.org@a.c10l.cc>\n" "Last-Translator: c10l <weblate.org@a.c10l.cc>\n"
"Language: pt_BR\n" "Language: pt_BR\n"
@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -35,64 +35,114 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Reinício" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
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
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Confirma reinício" msgstr "Confirma reinício"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -130,40 +180,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -278,19 +333,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -394,3 +449,15 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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?"

View File

@ -1,13 +1,13 @@
# Romanian translations for Foris JS. # Romanian translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:35+0100\n" "PO-Revision-Date: 2019-02-19 13:35+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n" "Language: ro\n"
@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.11.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -35,64 +35,113 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -130,40 +179,45 @@ msgstr ""
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "" msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "" msgstr ""
@ -278,19 +332,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -416,3 +470,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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 ""

View File

@ -1,25 +1,24 @@
# Russian translations for Foris JS. # Russian translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2022-12-07 12:47+0000\n" "PO-Revision-Date: 2022-12-07 12:47+0000\n"
"Last-Translator: Алексей Леньшин <alenshin@gmail.com>\n" "Last-Translator: Алексей Леньшин <alenshin@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/turris/foris-js/"
"ru/>\n"
"Language: ru\n" "Language: ru\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/turris/foris-"
"js/ru/>\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "Generated-By: Babel 2.16.0\n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.15-dev\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -37,52 +36,103 @@ msgstr "Ответ не получен."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Неизвестная ошибка программного интерфейса приложения." msgstr "Неизвестная ошибка программного интерфейса приложения."
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Скопировано!" msgstr "Скопировано!"
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Копировать" msgstr "Копировать"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "Запрос на перезагрузку не выполнен." msgid "Action successful."
msgstr "Настройки были успешно сохранены"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Перезагрузка" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "Предупреждение!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Вы уверены, что хотите перезагрузить маршрутизатор?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Отмена" msgstr "Отмена"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Подтвердите перезагрузку" msgstr "Подтвердите перезагрузку"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "При сбросе настроек Wi-Fi произошла ошибка." msgstr "При сбросе настроек Wi-Fi произошла ошибка."
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "Настройки Wi-Fi установлены по умолчанию." msgstr "Настройки Wi-Fi установлены по умолчанию."
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "Сбросить настройки Wi-Fi" msgstr "Сбросить настройки Wi-Fi"
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
@ -92,12 +142,12 @@ msgstr ""
"сбросить настройки Wi-Fi. Обратите внимание, что при этом будет удалена " "сбросить настройки Wi-Fi. Обратите внимание, что при этом будет удалена "
"текущая конфигурация Wi-Fi и восстановлены значения по умолчанию." "текущая конфигурация Wi-Fi и восстановлены значения по умолчанию."
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}" msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Пароль" msgstr "Пароль"
@ -137,40 +187,46 @@ msgstr "авто"
msgid "Custom" msgid "Custom"
msgstr "Ручная настройка" msgstr "Ручная настройка"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "Включить гостевой Wi-Fi" msgstr "Включить гостевой Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
#, fuzzy
msgid "Show QR code"
msgstr "QR-код Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "QR-код Wi-Fi" msgstr "QR-код Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "Скачать PDF" msgstr "Скачать PDF"
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "SSID не может быть длиннее 32 символов" msgstr "SSID не может быть длиннее 32 символов"
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "SSID не может быть пустым" msgstr "SSID не может быть пустым"
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "SSID не может быть длиннее 32 байт" msgstr "SSID не может быть длиннее 32 байт"
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "Пароль должен содержать не менее 8 символов" msgstr "Пароль должен содержать не менее 8 символов"
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "Пароль не должен содержать более 63 символов" msgstr "Пароль не должен содержать более 63 символов"
@ -308,19 +364,19 @@ msgstr ""
"В случае выхода ваши изменения будут утеряны. Вы действительно хотите " "В случае выхода ваши изменения будут утеряны. Вы действительно хотите "
"покинуть эту страницу?" "покинуть эту страницу?"
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "Обновление" msgstr "Обновление"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Загрузить настройки" msgstr "Загрузить настройки"
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Сохранить" msgstr "Сохранить"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "Во время получения данных произошла ошибка." msgstr "Во время получения данных произошла ошибка."
@ -384,3 +440,16 @@ msgstr "Не содержит списка электронных адресов
#~ "конфигурации Wi-Fi и восстановлению " #~ "конфигурации Wi-Fi и восстановлению "
#~ "значений по умолчанию.\n" #~ "значений по умолчанию.\n"
#~ " " #~ " "
#~ msgid "Reboot request failed."
#~ msgstr "Запрос на перезагрузку не выполнен."
#~ msgid "Reboot"
#~ msgstr "Перезагрузка"
#~ msgid "Warning!"
#~ msgstr "Предупреждение!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Вы уверены, что хотите перезагрузить маршрутизатор?"

View File

@ -1,24 +1,23 @@
# Slovak translations for Foris JS. # Slovak translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2023-01-17 22:51+0000\n" "PO-Revision-Date: 2024-09-09 18:09+0000\n"
"Last-Translator: Atec <dr.atec@gmail.com>\n" "Last-Translator: Atec <dr.atec@gmail.com>\n"
"Language-Team: Slovak <https://hosted.weblate.org/projects/turris/foris-js/"
"sk/>\n"
"Language: sk\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"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "Generated-By: Babel 2.16.0\n"
"X-Generator: Weblate 4.15.1-dev\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -36,52 +35,103 @@ msgstr "Nenastala žiadna odozva."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Nastala neznáma chyba v API." msgstr "Nastala neznáma chyba v API."
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr "Zatvoriť"
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Skopírované!" msgstr "Skopírované!"
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopírovať" msgstr "Kopírovať"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "Požiadavka na reštart neúspešná." msgid "Action successful."
msgstr "Nastavenia boli úspešne uložené"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Reštartovať" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
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
msgid "Cancel" msgid "Cancel"
msgstr "Zrušiť" msgstr "Zrušiť"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Potvrdiť reštart" msgstr "Potvrdiť reštart"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "Pri resete nastavení Wi-Fi nastala chyba." msgstr "Pri resete nastavení Wi-Fi nastala chyba."
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "Nastavenia Wi-Fi sa zmenili do východiskového stavu." msgstr "Nastavenia Wi-Fi sa zmenili do východiskového stavu."
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "Resetovať nastavenia Wi-Fi" msgstr "Resetovať nastavenia Wi-Fi"
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
@ -91,12 +141,12 @@ msgstr ""
"nastavenia Wi-Fi. Upozorňujeme, že sa tým odstráni aktuálna konfigurácia " "nastavenia Wi-Fi. Upozorňujeme, že sa tým odstráni aktuálna konfigurácia "
"Wi-Fi a obnovia sa predvolené hodnoty." "Wi-Fi a obnovia sa predvolené hodnoty."
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}" msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Heslo" msgstr "Heslo"
@ -136,46 +186,51 @@ msgstr "automaticky"
msgid "Custom" msgid "Custom"
msgstr "Vlastné" msgstr "Vlastné"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "Povoliť Wi-Fi pre hostí" msgstr "Povoliť Wi-Fi pre hostí"
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
msgid "Show QR code"
msgstr "Zobraziť QR kód"
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "Wi-Fi QR kód" msgstr "Wi-Fi QR kód"
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "Stiahnuť PDF" msgstr "Stiahnuť PDF"
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "SSID nemôže obsahovať viac ako 32 znakov" msgstr "SSID nemôže obsahovať viac ako 32 znakov"
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "SSID nesmie byť prázdne" msgstr "SSID nesmie byť prázdne"
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "SSID nesmie byť dlhšie ako 32 byteov" msgstr "SSID nesmie byť dlhšie ako 32 byteov"
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "Heslo musí obsahovať aspoň 8 znakov" msgstr "Heslo musí obsahovať aspoň 8 znakov"
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "Heslo nesmie obsahovať viac ako 63 znakov" msgstr "Heslo nesmie obsahovať viac ako 63 znakov"
#: src/common/WiFiSettings/constants.js:9 #: src/common/WiFiSettings/constants.js:9
msgid "Disabled" msgid "Disabled"
msgstr "Zakázané" msgstr "Vypnuté"
#: src/common/WiFiSettings/constants.js:10 #: src/common/WiFiSettings/constants.js:10
msgid "802.11n - 20 MHz wide channel" msgid "802.11n - 20 MHz wide channel"
@ -304,19 +359,19 @@ msgstr "Nastavenia boli úspešne uložené"
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "Vykonané zmeny neboli uložené. Naozaj chcete opustiť stránku?" msgstr "Vykonané zmeny neboli uložené. Naozaj chcete opustiť stránku?"
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "Prebieha aktualizácia" msgstr "Prebieha aktualizácia"
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Načítavanie nastavení" msgstr "Načítavanie nastavení"
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Uložiť" msgstr "Uložiť"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "Pri získavaní dát nastala chyba." msgstr "Pri získavaní dát nastala chyba."
@ -380,3 +435,16 @@ msgstr "Neobsahuje zoznam e-mailov oddelených čiarkami."
#~ "že sa tým odstráni aktuálna konfigurácia" #~ "že sa tým odstráni aktuálna konfigurácia"
#~ " a obnovia sa východiskové hodnoty.\n" #~ " 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ť?"

View File

@ -1,24 +1,24 @@
# Swedish translations for Foris JS. # Swedish translations for Foris JS.
# Copyright (C) 2022 CZ.NIC, z.s.p.o. (https://www.nic.cz/) # Copyright (C) 2024 CZ.NIC, z.s.p.o. (https://www.nic.cz/)
# This file is distributed under the same license as the Foris JS project. # This file is distributed under the same license as the Foris JS project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2023-09-22 21:00+0000\n" "PO-Revision-Date: 2023-09-22 21:00+0000\n"
"Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n" "Last-Translator: Kristoffer Grundström "
"Language-Team: Swedish <https://hosted.weblate.org/projects/turris/foris-js/" "<swedishsailfishosuser@tutanota.com>\n"
"sv/>\n"
"Language: sv\n" "Language: sv\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/turris/foris-"
"js/sv/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Generated-By: Babel 2.16.0\n"
"X-Generator: Weblate 5.1-dev\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
msgid "The session is expired. Please log in again." msgid "The session is expired. Please log in again."
@ -36,67 +36,117 @@ msgstr "Inget svar togs emot."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Ett okänt API-fel inträffade." msgstr "Ett okänt API-fel inträffade."
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
#: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Kopierades!" msgstr "Kopierades!"
#: src/bootstrap/CopyInput.js:55 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopiera" msgstr "Kopiera"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "Förfrågning för omstart misslyckades." msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Starta om" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
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
msgid "Cancel" msgid "Cancel"
msgstr "Avbryt" msgstr "Avbryt"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Bekräfta omstart" msgstr "Bekräfta omstart"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38 #: 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." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "Ett fel inträffade under återställningen av Wi-Fi-inställningarna." msgstr "Ett fel inträffade under återställningen av Wi-Fi-inställningarna."
#: src/common/WiFiSettings/ResetWiFiSettings.js:41 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
msgstr "Wi-Fi-inställningarna har ställts in standardinställningarna." msgstr "Wi-Fi-inställningarna har ställts in standardinställningarna."
#: src/common/WiFiSettings/ResetWiFiSettings.js:55 #: src/common/WiFiSettings/ResetWiFiSettings.js:56
#: src/common/WiFiSettings/ResetWiFiSettings.js:69 #: src/common/WiFiSettings/ResetWiFiSettings.js:70
msgid "Reset Wi-Fi Settings" msgid "Reset Wi-Fi Settings"
msgstr "Återställ Wi-Fi-inställningarna" msgstr "Återställ Wi-Fi-inställningarna"
#: src/common/WiFiSettings/ResetWiFiSettings.js:57 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-" "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
"Om ett antal trådlösa kort inte matchar så kan du prova att återställa Wi-Fi-" "Om ett antal trådlösa kort inte matchar så kan du prova att återställa "
"inställningarna. Notera att det här kommer att ta bort den nuvarande Wi-Fi-" "Wi-Fi-inställningarna. Notera att det här kommer att ta bort den "
"konfigurationen och återställa till standardvärdena." "nuvarande Wi-Fi-konfigurationen och återställa till standardvärdena."
#: src/common/WiFiSettings/WiFiForm.js:95 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}" msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132 #: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80 #: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password" msgid "Password"
msgstr "Lösenord" msgstr "Lösenord"
@ -136,40 +186,46 @@ msgstr "auto"
msgid "Custom" msgid "Custom"
msgstr "auto" msgstr "auto"
#: src/common/WiFiSettings/WiFiGuestForm.js:42 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
msgstr "Aktivera Wi-Fi för Gäst" msgstr "Aktivera Wi-Fi för Gäst"
#: src/common/WiFiSettings/WiFiQRCode.js:71 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
#, fuzzy
msgid "Show QR code"
msgstr "QR-kod för Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
msgstr "QR-kod för Wi-Fi" msgstr "QR-kod för Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:91 #: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF" msgid "Download PDF"
msgstr "Ladda ner PDF" msgstr "Ladda ner PDF"
#: src/common/WiFiSettings/WiFiSettings.js:82 #: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:98 #: src/common/WiFiSettings/WiFiSettings.js:99
msgid "SSID can't be longer than 32 symbols" msgid "SSID can't be longer than 32 symbols"
msgstr "SSID kan inte vara längre än 32 symboler" msgstr "SSID kan inte vara längre än 32 symboler"
#: src/common/WiFiSettings/WiFiSettings.js:83 #: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:100 #: src/common/WiFiSettings/WiFiSettings.js:101
msgid "SSID can't be empty" msgid "SSID can't be empty"
msgstr "SSID kan inte vara tomt" msgstr "SSID kan inte vara tomt"
#: src/common/WiFiSettings/WiFiSettings.js:85 #: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:102 #: src/common/WiFiSettings/WiFiSettings.js:103
msgid "SSID can't be longer than 32 bytes" msgid "SSID can't be longer than 32 bytes"
msgstr "SSID kan inte vara längre än 32 bytes" msgstr "SSID kan inte vara längre än 32 bytes"
#: src/common/WiFiSettings/WiFiSettings.js:88 #: src/common/WiFiSettings/WiFiSettings.js:89
#: src/common/WiFiSettings/WiFiSettings.js:105 #: src/common/WiFiSettings/WiFiSettings.js:106
msgid "Password must contain at least 8 symbols" msgid "Password must contain at least 8 symbols"
msgstr "Lösenord måste innehålla åtminstone 8 symboler" msgstr "Lösenord måste innehålla åtminstone 8 symboler"
#: src/common/WiFiSettings/WiFiSettings.js:90 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:109 #: src/common/WiFiSettings/WiFiSettings.js:110
#, fuzzy #, fuzzy
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "Lösenord måste innehålla åtminstone 8 symboler" msgstr "Lösenord måste innehålla åtminstone 8 symboler"
@ -239,8 +295,8 @@ msgid ""
"SSID which contains non-standard characters could cause problems on some " "SSID which contains non-standard characters could cause problems on some "
"devices." "devices."
msgstr "" msgstr ""
"SSID som innehåller icke-standardiserade tecken kan orsaka problem i en del " "SSID som innehåller icke-standardiserade tecken kan orsaka problem i en "
"enheter." "del enheter."
#: src/common/WiFiSettings/constants.js:34 #: src/common/WiFiSettings/constants.js:34
msgid "WPA2/3 pre-shared key, that is required to connect to the network." msgid "WPA2/3 pre-shared key, that is required to connect to the network."
@ -291,19 +347,19 @@ msgstr ""
msgid "Changes you made may not be saved. Are you sure you want to leave?" msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:31 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:34 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "" msgstr ""
#: src/form/components/SubmitButton.js:37 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
msgstr "Spara" msgstr "Spara"
#: src/utils/ErrorMessage.js:16 #: src/utils/ErrorMessage.js:17
msgid "An error occurred while fetching data." msgid "An error occurred while fetching data."
msgstr "" msgstr ""
@ -429,3 +485,16 @@ msgstr ""
#~ " default option with 20 MHz wide " #~ " default option with 20 MHz wide "
#~ "channel." #~ "channel."
#~ msgstr "" #~ 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?"