1
0
mirror of https://gitlab.nic.cz/turris/reforis/foris-js.git synced 2024-12-26 00:21:36 +01:00

Compare commits

...

41 Commits

Author SHA1 Message Date
Stepan Henek
bb5177e858
Using socket.io for websocket handling and make reforis configurable
Socket.io wrapper is used to handle websockets now,
this means that websocket logic had to be redone.

Also it is necessary to set `REFORIS_PREFIX` env variable
during the build process. To set the path of backend url.
It was previously fixed to `/reforis`.
2023-01-31 11:15:52 +01:00
Aleksandr Gumroian
efb3fa80ce Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!210
2022-12-29 11:52:54 +01:00
Aleksandr Gumroian
9c3dcaf6b5 Merge branch 'bump-version-560' into 'dev'
Bump v5.6.0

See merge request turris/reforis/foris-js!209
2022-12-29 11:45:58 +01:00
Aleksandr Gumroian
fb41c9629e
Bump v5.6.0
* Add & update Weblate translations
* Add CustomizationContext and custom hook
* Update caniuse-lite
* Remove testUtils from .gitignore
* Make ieee80211w_disabled as optional in WiFiForm
* Move contexts in a context folder
* NPM audit fix
2022-12-29 11:34:19 +01:00
Aleksandr Gumroian
620eee3f53
NPM audit fix 2022-12-29 11:33:47 +01:00
Aleksandr Gumroian
f6ec82609c Merge branch 'update-translations' into 'dev'
Add & update Weblate translations

See merge request turris/reforis/foris-js!208
2022-12-28 16:27:48 +01:00
Aleksandr Gumroian
0b47c38f21 Merge branch 'fix-custom-context-mock' into 'dev'
Fix custom context mock

See merge request turris/reforis/foris-js!207
2022-12-28 16:09:20 +01:00
Aleksandr Gumroian
6183669c9b
Fix CustomizationContextMock for tests 2022-12-28 15:19:24 +01:00
Aleksandr Gumroian
f3694bb62c
Make ieee80211w_disabled as optional in WiFiForm 2022-12-28 15:18:42 +01:00
Aleksandr Gumroian
0f2344a005 Merge branch 'add-customization-context' into 'dev'
Add CustomizationContext and custom hook

See merge request turris/reforis/foris-js!183
2022-12-22 15:58:04 +01:00
Aleksandr Gumroian
f2ae6c4d0a
Move contexts in a context folder 2022-12-22 15:35:22 +01:00
Aleksandr Gumroian
f382e743aa
Update caniuse-lite 2022-12-22 15:35:22 +01:00
Aleksandr Gumroian
d71f4a7967
Remove testUtils from .gitignore
Because the testUtils folder consists of useful utils for testing,
we want to track changes in these files.
2022-12-22 15:35:21 +01:00
Aleksandr Gumroian
aeabc0bf06
Add info about CustomizationContext to the docs 2022-12-22 15:35:21 +01:00
Aleksandr Gumroian
46fe75d3cf
Add tests for CustomizationContext 2022-12-22 15:35:20 +01:00
Aleksandr Gumroian
c469d8dfde
Add CustomizationContext and custom hook
As we want to share customization context between reForis & Plugins
2022-12-22 15:35:20 +01:00
Aleksandr Gumroian
f327428765
Add about endpoint to forisUrls 2022-12-22 15:35:19 +01:00
Алексей Леньшин
5a359661da
Translated using Weblate (Russian)
Currently translated at 100.0% (69 of 69 strings)

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/ru/
2022-12-07 13:47:07 +01:00
Atec
3d30e2720e
Translated using Weblate (Slovak)
Currently translated at 100.0% (69 of 69 strings)

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/sk/
2022-12-05 17:48:13 +01:00
Aleksandr Gumroian
badb043554 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!206
2022-12-02 16:15:39 +01:00
Aleksandr Gumroian
ab692e5c4d Merge branch 'bump-550' into 'dev'
Bump v5.5.0

See merge request turris/reforis/foris-js!205
2022-12-02 16:13:42 +01:00
Aleksandr Gumroian
2e398388b5
Bump v5.5.0
* Add & update translations
* Add a switch to disable Management Frame Protection (802.11w)
* Improved Foris JS documentation
* NPM audit fix
2022-12-02 16:08:36 +01:00
Aleksandr Gumroian
5e539de03f
NPM audit fix 2022-12-02 16:06:52 +01:00
Aleksandr Gumroian
87f5557ef6 Merge branch 'update-translations' into 'master'
Add & update Weblate translations

See merge request turris/reforis/foris-js!204
2022-12-02 16:04:02 +01:00
Aleksandr Gumroian
f128c5c7d6
Update translation messages 2022-12-02 15:55:10 +01:00
Aleksandr Gumroian
7a633574da
Create translation messages 2022-12-02 15:54:45 +01:00
Allan Nordhøy
ee40697e2b
Translated using Weblate (Norwegian Bokmål)
Currently translated at 76.1% (51 of 67 strings)

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/nb_NO/
2022-12-02 15:48:45 +01:00
Milo Ivir
4525c6bc66
Translated using Weblate (Croatian)
Currently translated at 2.9% (2 of 67 strings)

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/hr/
2022-12-02 15:48:45 +01:00
Orest Worhacz
1d6987b21b
Translated using Weblate (Polish)
Currently translated at 32.8% (22 of 67 strings)

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/pl/
2022-12-02 15:48:45 +01:00
Dan Cybersec
67fc2d32ce
Translated using Weblate (Spanish)
Currently translated at 100.0% (67 of 67 strings)

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/es/
2022-12-02 15:48:45 +01:00
Aleksandr Gumroian
ab13b7aa08 Merge branch 'dev' into 'master'
Master

See merge request turris/reforis/foris-js!203
2022-12-02 15:48:41 +01:00
Aleksandr Gumroian
2a73502710 Merge branch 'feature/add-mfp-switch' into 'dev'
Add a switch to disable Management Frame Protection (802.11w)

Closes #26

See merge request turris/reforis/foris-js!202
2022-12-02 15:46:00 +01:00
Aleksandr Gumroian
003606cb8c
Update Snapshots 2022-12-01 17:13:44 +01:00
Aleksandr Gumroian
aeddd9ce74
Add a switch to disable Management Frame Protection (802.11w)
In the case of WPA3 encryption Management Frame Protection is enabled
by default in OpenWrt.

But in some cases, it causes trouble with particular devices that
fails to connect to WiFi Access Point - see:
https://forum.turris.cz/t/turris-omnia-wifi-health/15704/15
2022-12-01 16:19:38 +01:00
Aleksandr Gumroian
a4fd74bf38 Merge branch 'improve-docs' into 'dev'
Improve Foris JS documentation

See merge request turris/reforis/foris-js!190
2022-09-16 16:19:00 +02:00
Aleksandr Gumroian
b0e2f62a41
Add Switch example to the docs 2022-09-16 16:10:44 +02:00
Aleksandr Gumroian
caf8af44d1
Improve docs development section 2022-09-16 16:10:44 +02:00
Aleksandr Gumroian
fd7cd49790
Add custom logo & favicon 2022-09-16 16:10:43 +02:00
Aleksandr Gumroian
d95fdf8517
Restructure styleguide configuration file
* Add version of the library
* Change colors
* Set tocMode  to "collapse"
2022-09-16 16:10:43 +02:00
Aleksandr Gumroian
68c560078b
Improve docs introduction section 2022-09-16 16:10:42 +02:00
Aleksandr Gumroian
83caf505d9
Improve description in package.json 2022-09-16 16:10:42 +02:00
55 changed files with 8860 additions and 7753 deletions

1
.gitignore vendored
View File

@ -51,4 +51,3 @@ coverage.xml
dist/
foris-*.tgz
styleguide/
testUtils

36
docs/components/Logo.js Normal file
View File

@ -0,0 +1,36 @@
import React from "react";
import PropTypes from "prop-types";
import Styled from "rsg-components/Styled";
import logo from "./logo.svg";
const styles = ({ fontFamily }) => ({
logo: {
display: "flex",
alignItems: "center",
margin: 0,
fontFamily: fontFamily.base,
fontSize: 18,
fontWeight: "normal",
},
image: {
height: "1.3em",
marginLeft: "-0.2em",
marginRight: "0.2em",
},
});
export function LogoRenderer({ classes, children }) {
return (
<h1 className={classes.logo}>
<img className={classes.image} src={logo} alt="React logo" />
{children}
</h1>
);
}
LogoRenderer.propTypes = {
classes: PropTypes.object.isRequired,
children: PropTypes.node,
};
export default Styled(styles)(LogoRenderer);

3
docs/components/logo.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="1000">
<path d="M288.258 240.0394L717.5586-.44c.803 62.277-1.8207 124.502-1.4996 186.7266 1.8208 7.6343-7.2288 10.1966-12.102 13.4908L286.4375 432.1518l1.8206-192.1124zm2.284 277.645L711 278.3176l-.8416 192.7742L457.357 614.514l-1.842 289.03-167.7097 95.8926 2.7365-481.753z"/>
</svg>

After

Width:  |  Height:  |  Size: 349 B

View File

@ -1,15 +1,15 @@
Sooner or later you will face with situation when you want/need to make some
changes in the library. Then the most important tool for you it's
Sooner or later, you will face with situation when you want/need to make some
changes in the library. Then the most important tool for you it's the
[`npm link`](https://docs.npmjs.com/cli/link).
Please, notice that it will not work if you link library just from root of the
repo. It happens due to location of sources `./src`. You need to pack library
first `make pack` and then link it from `./dist` directory.
Please, notice that it will not work if you link the library just from the root
of the repo. It happens due to the location of sources `./src`. You need to pack
the library first, `make pack` and then link it from the `./dist` directory.
Yeah it's not such comfortable solution for development. But it can fixed by
writing small script similar as `make pack` but with linking every file and
directory from `./src` to the some directory and linking then from it. Notice
that you need to link `package.json` and `package-lock.json` as well.
Yeah, it's not such a comfortable solution for development. But it can be fixed
by writing a small script similar to making a pack but by linking every file and
directory from `./src` to the same directory and linking then from it. Notice
that you need to link a `package.json` and a `package-lock.json` as well.
So step by step:

4
docs/forisjs-npm.svg Normal file
View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" fill="white">
<path d="M49.5 171.722222222222h400v133.333333333333h-200v22.222222222223h-88.888888888889v-22.222222222223H49.5V171.722222222222zm22.222222222222 111.111111111111h44.444444444445v-66.666666666667h22.222222222222v66.666666666667h22.222222222222v-88.888888888889H71.722222222222v88.888888888889zm111.111111111111-88.888888888889v111.111111111111h44.444444444445v-22.222222222222h44.444444444444v-88.888888888889h-88.888888888889zm44.444444444445 22.222222222222H249.5v44.444444444445h-22.222222222222v-44.444444444445zm66.666666666666-22.222222222222v88.888888888889h44.444444444445v-66.666666666667h22.222222222222v66.666666666667h22.222222222222v-66.666666666667h22.222222222222v66.666666666667h22.222222222223v-88.888888888889H293.944444444444z" fill="#cb3837" />
<path d="M71.722222222222 282.833333333333h44.444444444444v-66.666666666667h22.222222222223v66.666666666667h22.222222222222v-88.888888888889H71.722222222222zm111.111111111111-88.888888888889v111.111111111111h44.444444444444v-22.222222222222h44.444444444445v-88.888888888889h-88.888888888889zM249.5 260.611111111111h-22.222222222223v-44.444444444445H249.5v44.444444444445zm44.444444444444-66.666666666667v88.888888888889h44.444444444444v-66.666666666667h22.222222222223v66.666666666667h22.222222222222v-66.666666666667h22.222222222222v66.666666666667h22.222222222222v-88.888888888889z" />
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,6 +0,0 @@
Foris JS library is set of components and utils for Foris JS application and
plugins.
Please notice that all of these components or utils are used in reForis and
plugins. If you like to study by example I would recommend to full-text search
these repos.

37
docs/introduction.md Normal file
View File

@ -0,0 +1,37 @@
Welcome! This is the official documentation for Foris JS.
## What Foris JS is
Foris JS library is a set of components and utils for reForis application and
plugins.
Please notice that all of these components or utils are used in reForis and
plugins. If you want to study them by example, I recommend you to full-text
search those repositories.
# Installation
## Prerequisites
Please make sure that [Node.js](https://nodejs.org/en/) is installed on your
system.
The current Long Term Support (LTS) release is an ideal starting point, see
[here](https://github.com/nodejs/Release#release-schedule).
## Installation
To install the latest release:
```plain
npm install foris
```
To install a specific version:
```plain
npm install foris@version
```
<a target="_blank" href="https://www.npmjs.com/package/foris">Check
on<img width="100px" src="./docs/forisjs-npm.svg"></a>

14806
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
{
"name": "foris",
"version": "5.4.1",
"description": "Set of components and utils for Foris and its plugins.",
"version": "5.6.0",
"description": "Foris JS library is a set of components and utils for reForis application and plugins.",
"author": "CZ.NIC, z.s.p.o.",
"repository": {
"type": "git",
@ -18,8 +18,9 @@
"immutability-helper": "3.0.1",
"moment": "^2.24.0",
"qrcode.react": "^1.0.1",
"react-datetime": "^3.1.1",
"react-uid": "^2.2.0"
"react-datetime": "^3.2.0",
"react-uid": "^2.2.0",
"socket.io-client": "4.4.1"
},
"peerDependencies": {
"bootstrap": "4.4.1",
@ -29,14 +30,14 @@
"react-router-dom": "^5.1.2"
},
"devDependencies": {
"@babel/cli": "^7.12.10",
"@babel/core": "^7.9.0",
"@babel/plugin-transform-runtime": "^7.9.0",
"@babel/preset-env": "^7.9.0",
"@babel/cli": "^7.20.7",
"@babel/core": "^7.20.12",
"@babel/plugin-transform-runtime": "^7.19.6",
"@babel/preset-env": "^7.20.2",
"@babel/preset-react": "^7.9.4",
"@fortawesome/fontawesome-free": "^5.13.0",
"@testing-library/react": "^8.0.9",
"babel-loader": "^8.1.0",
"babel-loader": "^8.3.0",
"babel-polyfill": "^6.26.0",
"bootstrap": "^4.5.0",
"css-loader": "^5.2.4",
@ -47,16 +48,16 @@
"file-loader": "^6.0.0",
"jest": "^25.2.0",
"jest-mock-axios": "^3.2.0",
"moment-timezone": "^0.5.34",
"moment-timezone": "^0.5.40",
"prettier": "2.0.5",
"prop-types": "15.8.1",
"react": "16.9.0",
"react-dom": "16.9.0",
"react-router-dom": "^5.1.2",
"react-router-dom": "^5.3.4",
"react-styleguidist": "^11.2.0",
"snapshot-diff": "^0.7.0",
"style-loader": "^1.2.1",
"webpack": "^5.68.0"
"webpack": "^5.75.0"
},
"scripts": {
"lint": "eslint src",

5
src/bootstrap/Switch.md Normal file
View File

@ -0,0 +1,5 @@
Switch example:
```js
<Switch label="Enable Switch" helpText="Toggle that switch!" />
```

View File

@ -14,7 +14,7 @@ import { ForisURLs } from "../utils/forisUrls";
import { Button } from "../bootstrap/Button";
import { Modal, ModalHeader, ModalBody, ModalFooter } from "../bootstrap/Modal";
import { useAlert } from "../alertContext/AlertContext";
import { useAlert } from "../context/alertContext/AlertContext";
export function RebootButton(props) {
const [triggered, setTriggered] = useState(false);

View File

@ -9,7 +9,7 @@ import React, { useEffect, useState } from "react";
import PropTypes from "prop-types";
import { Button } from "../../bootstrap/Button";
import { useAlert } from "../../alertContext/AlertContext";
import { useAlert } from "../../context/alertContext/AlertContext";
import { ALERT_TYPES } from "../../bootstrap/Alert";
import { useAPIPost } from "../../api/hooks";
import { API_STATE } from "../../api/utils";
@ -25,7 +25,7 @@ export function ResetWiFiSettings({ ws, endpoint }) {
useEffect(() => {
const module = "wifi";
ws.subscribe(module).bind(module, "reset", () => {
ws.bind(module, "reset", () => {
// eslint-disable-next-line no-restricted-globals
setTimeout(() => location.reload(), 1000);
});

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2019-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
* Copyright (C) 2019-2022 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.
@ -8,7 +8,6 @@
import React from "react";
import PropTypes from "prop-types";
import { Switch } from "../../bootstrap/Switch";
import { CheckBox } from "../../bootstrap/CheckBox";
import { PasswordInput } from "../../bootstrap/PasswordInput";
import { RadioSet } from "../../bootstrap/RadioSet";
import { Select } from "../../bootstrap/Select";
@ -65,6 +64,7 @@ DeviceForm.propTypes = {
guest_wifi: PropTypes.object.isRequired,
encryption: PropTypes.string.isRequired,
available_bands: PropTypes.array.isRequired,
ieee80211w_disabled: PropTypes.bool,
}),
formErrors: PropTypes.object.isRequired,
setFormValue: PropTypes.func.isRequired,
@ -102,7 +102,7 @@ function DeviceForm({
switchHeading
{...props}
/>
{formData.enabled ? (
{formData.enabled && (
<>
<TextInput
label="SSID"
@ -142,7 +142,7 @@ function DeviceForm({
{...props}
/>
<CheckBox
<Switch
label={_("Hide SSID")}
helpText={HELP_TEXTS.hidden}
checked={formData.hidden}
@ -220,6 +220,25 @@ function DeviceForm({
{...props}
/>
{(formData.encryption === "WPA3" ||
formData.encryption === "WPA2/3") && (
<Switch
label={_("Disable Management Frame Protection")}
helpText={_(
"In case you have trouble connecting to WiFi Access Point, try disabling Management Frame Protection."
)}
checked={formData.ieee80211w_disabled}
onChange={setFormValue((value) => ({
devices: {
[deviceIndex]: {
ieee80211w_disabled: { $set: value },
},
},
}))}
{...props}
/>
)}
{hasGuestNetwork && (
<WifiGuestForm
formData={{
@ -232,8 +251,8 @@ function DeviceForm({
/>
)}
</>
) : null}
{divider ? <hr /> : null}
)}
{divider && <hr />}
</>
);
}

View File

@ -59,6 +59,10 @@ function prepDataToSubmit(formData) {
if (!device.guest_wifi.enabled)
formData.devices[idx].guest_wifi = { enabled: false };
if (device.encryption === "WPA2") {
delete formData.devices[idx].ieee80211w_disabled;
}
});
return formData;
}

View File

@ -337,7 +337,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
- First value
+ Second value
@@ -500,10 +500,92 @@
@@ -524,10 +524,92 @@
>
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>
@ -347,7 +347,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
+ class=\\"form-group\\"
+ >
+ <label
+ for=\\"22\\"
+ for=\\"24\\"
+ >
+ SSID
+ </label>
@ -356,7 +356,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
+ >
+ <input
+ class=\\"form-control\\"
+ id=\\"22\\"
+ id=\\"24\\"
+ type=\\"text\\"
+ value=\\"TestGuestSSID\\"
+ />
@ -386,7 +386,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
+ class=\\"form-group\\"
+ >
+ <label
+ for=\\"23\\"
+ for=\\"25\\"
+ >
+ Password
+ </label>
@ -396,7 +396,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
+ <input
+ autocomplete=\\"current-password\\"
+ class=\\"form-control is-invalid\\"
+ id=\\"23\\"
+ id=\\"25\\"
+ required=\\"\\"
+ type=\\"password\\"
+ value=\\"\\"
@ -430,7 +430,7 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
class=\\"form-group switch\\"
>
<div
@@ -527,10 +609,11 @@
@@ -551,10 +633,11 @@
<div
class=\\"text-right\\"
>
@ -449,7 +449,7 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
- First value
+ Second value
@@ -22,10 +22,488 @@
@@ -22,10 +22,512 @@
Wi-Fi 1
</h2>
</label>
@ -537,7 +537,7 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ class=\\"form-group\\"
+ >
+ <div
+ class=\\"custom-control custom-checkbox \\"
+ class=\\"custom-control custom-switch\\"
+ >
+ <input
+ class=\\"custom-control-input\\"
@ -549,12 +549,12 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ for=\\"6\\"
+ >
+ Hide SSID
+ <small
+ class=\\"form-text text-muted\\"
+ >
+ If set, network is not visible when scanning for available networks.
+ </small>
+ </label>
+ <small
+ class=\\"form-text text-muted mt-0 mb-3\\"
+ >
+ If set, network is not visible when scanning for available networks.
+ </small>
+ </div>
+ </div>
+ <div
@ -924,6 +924,30 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ class=\\"custom-control-label\\"
+ for=\\"11\\"
+ >
+ Disable Management Frame Protection
+ </label>
+ <small
+ class=\\"form-text text-muted mt-0 mb-3\\"
+ >
+ In case you have trouble connecting to WiFi Access Point, try disabling Management Frame Protection.
+ </small>
+ </div>
+ </div>
+ <div
+ class=\\"form-group\\"
+ >
+ <div
+ class=\\"custom-control custom-switch\\"
+ >
+ <input
+ class=\\"custom-control-input\\"
+ id=\\"12\\"
+ type=\\"checkbox\\"
+ />
+ <label
+ class=\\"custom-control-label\\"
+ for=\\"12\\"
+ >
+ Enable Guest Wi-Fi
+ </label>
+ <small

View File

@ -8,8 +8,8 @@
import React, { useState, useContext, useCallback } from "react";
import PropTypes from "prop-types";
import { Alert, ALERT_TYPES } from "../bootstrap/Alert";
import { Portal } from "../utils/Portal";
import { Alert, ALERT_TYPES } from "../../bootstrap/Alert";
import { Portal } from "../../utils/Portal";
AlertContextProvider.propTypes = {
children: PropTypes.oneOfType([

View File

@ -0,0 +1,57 @@
/*
* Copyright (C) 2019-2022 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, { useContext, useEffect } from "react";
import PropTypes from "prop-types";
import { useAPIGet } from "../../api/hooks";
import { ForisURLs } from "../../utils/forisUrls";
import { Spinner } from "../../bootstrap/Spinner";
CustomizationContextProvider.propTypes = {
children: PropTypes.oneOfType([
PropTypes.arrayOf(PropTypes.node),
PropTypes.node,
]),
};
function CustomizationContextProvider({ children }) {
const { CustomizationContext } = window;
const [getCustomizationResponse, getCustomization] = useAPIGet(
ForisURLs.about
);
useEffect(() => {
getCustomization();
}, [getCustomization]);
if (getCustomizationResponse.state !== "success") {
return <Spinner fullScreen />;
}
const deviceDetails = getCustomizationResponse.data || {};
const isCustomized = !!(
deviceDetails &&
deviceDetails.customization !== undefined &&
deviceDetails.customization === "shield"
);
return (
<CustomizationContext.Provider value={{ deviceDetails, isCustomized }}>
{children}
</CustomizationContext.Provider>
);
}
function useCustomizationContext() {
const { CustomizationContext } = window;
return useContext(CustomizationContext);
}
export { CustomizationContextProvider, useCustomizationContext };

View File

@ -0,0 +1,3 @@
It provides customization context to the children. `CustomizationContext` allows
using `useCustomizationContext` in components to check if the reForis UI is
customized or not for specific devices.

View File

@ -0,0 +1,53 @@
/*
* Copyright (C) 2019-2022 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 { render, wait, getByText } from "customTestRender";
import mockAxios from "jest-mock-axios";
import {
useCustomizationContext,
CustomizationContextProvider,
} from "../CustomizationContext";
const CUSTOM = "Description / component for customized reForis (Shield)";
const ORIGINAL = "Description / component for original reForis (other devices)";
const CustomizationTest = () => {
const { isCustomized } = useCustomizationContext();
return <p>{isCustomized ? CUSTOM : ORIGINAL}</p>;
};
describe("CustomizationContext", () => {
let componentContainer;
beforeEach(() => {
const { container } = render(
<CustomizationContextProvider>
<CustomizationTest />
</CustomizationContextProvider>
);
componentContainer = container;
});
it("should render component without customization", async () => {
mockAxios.mockResponse({ data: {} });
await wait(() => getByText(componentContainer, ORIGINAL));
expect(componentContainer).toMatchSnapshot();
});
it("should render customized component", async () => {
mockAxios.mockResponse({ data: { customization: "shield" } });
await wait(() => getByText(componentContainer, CUSTOM));
expect(componentContainer).toMatchSnapshot();
});
});

View File

@ -0,0 +1,17 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`CustomizationContext should render component without customization 1`] = `
<div>
<p>
Description / component for original reForis (other devices)
</p>
</div>
`;
exports[`CustomizationContext should render customized component 1`] = `
<div>
<p>
Description / component for customized reForis (Shield)
</p>
</div>
`;

View File

@ -13,7 +13,7 @@ import { ALERT_TYPES } from "../../bootstrap/Alert";
import { API_STATE } from "../../api/utils";
import { formFieldsSize } from "../../bootstrap/constants";
import { Spinner } from "../../bootstrap/Spinner";
import { useAlert } from "../../alertContext/AlertContext";
import { useAlert } from "../../context/alertContext/AlertContext";
import { useAPIPost } from "../../api/hooks";
import { useForisModule, useForm } from "../hooks";

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2019-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
* Copyright (C) 2019-2022 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.
@ -90,4 +90,13 @@ export {
} from "./utils/validations";
// Alert context
export { AlertContextProvider, useAlert } from "./alertContext/AlertContext";
export {
AlertContextProvider,
useAlert,
} from "./context/alertContext/AlertContext";
// Customization context
export {
CustomizationContextProvider,
useCustomizationContext,
} from "./context/customizationContext/CustomizationContext";

View File

@ -14,6 +14,7 @@ import { render } from "@testing-library/react";
import PropTypes from "prop-types";
import { AlertContextMock } from "./alertContextMock";
import { CustomizationContextMock } from "./cutomizationContextMock";
Wrapper.propTypes = {
children: PropTypes.oneOfType([
@ -24,11 +25,13 @@ Wrapper.propTypes = {
function Wrapper({ children }) {
return (
<AlertContextMock>
<StaticRouter>
<UIDReset>{children}</UIDReset>
</StaticRouter>
</AlertContextMock>
<CustomizationContextMock>
<AlertContextMock>
<StaticRouter>
<UIDReset>{children}</UIDReset>
</StaticRouter>
</AlertContextMock>
</CustomizationContextMock>
);
}

View File

@ -0,0 +1,34 @@
/*
* Copyright (C) 2019-2022 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";
window.CustomizationContext = React.createContext();
const deviceDetails = {
kernel: "5.x.x",
model: "Turris Omnia",
os_branch: {
mode: "branch",
value: "hbs",
},
os_version: "6.x.x",
reforis_version: "1.x.x",
serial: 123456789,
};
const isCustomized = false;
function CustomizationContextMock({ children }) {
return (
<CustomizationContext.Provider value={{ deviceDetails, isCustomized }}>
{children}
</CustomizationContext.Provider>
);
}
export { CustomizationContextMock };

View File

@ -1,11 +1,11 @@
/*
* Copyright (C) 2019-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
* Copyright (C) 2019-2022 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.
*/
export const REFORIS_URL_PREFIX = "/reforis";
export const REFORIS_URL_PREFIX = process.env.REFORIS_PREFIX || "";
export const REFORIS_API_URL_PREFIX = `${REFORIS_URL_PREFIX}/api`;
export const ForisURLs = {
@ -36,5 +36,6 @@ export const ForisURLs = {
luci: "/cgi-bin/luci",
// API
about: `${REFORIS_API_URL_PREFIX}/about`,
reboot: `${REFORIS_API_URL_PREFIX}/reboot`,
};

View File

@ -7,49 +7,33 @@
/* eslint no-console: "off" */
const PROTOCOL = window.location.protocol === "http:" ? "ws" : "wss";
import { REFORIS_URL_PREFIX } from "../utils/forisUrls";
const URL = process.env.LIGHTTPD
? `${PROTOCOL}://${window.location.host}/${
process.env.WSPATH || "foris-ws"
}`
: `${PROTOCOL}://${window.location.hostname}:9081`;
const WAITING_FOR_CONNECTION_TIMEOUT = 500;
const { io } = require("socket.io-client");
export class WebSockets {
constructor() {
this.ws = new WebSocket(URL);
this.ws.onerror = (e) => {
console.error("WS: Error:", e);
};
this.ws.onmessage = (e) => {
console.debug(`WS: Received Message: ${e.data}`);
const data = JSON.parse(e.data);
this.dispatch(data);
};
this.ws.onopen = () => {
console.debug("WS: Connection open.");
};
this.ws.onclose = () => {
console.debug("WS: Connection closed.");
};
this.socket = io("/notifications", {
path: `${REFORIS_URL_PREFIX}/reforis-ws`,
});
this.connection = null;
this.socket.on("disconnect", (reason) => {
this.connection = null;
console.debug(`SocketIO disconnected (${reason})`);
});
this.socket.on("notification", (message) => {
console.debug("WS: Received Message:", message);
this.dispatch(message);
});
this.socket.on("connect", (connection) => {
this.connection = connection;
console.debug(`SocketIO connected.`);
});
// callbacks[module][action]
this.callbacks = {};
}
waitForConnection(callback) {
if (this.ws.readyState === 1) {
callback();
} else {
const that = this;
setTimeout(() => {
that.waitForConnection(callback);
}, WAITING_FOR_CONNECTION_TIMEOUT);
}
}
bind(module, action, callback) {
this.callbacks[module] = this.callbacks[module] || {};
this.callbacks[module][action] = this.callbacks[module][action] || [];
@ -57,13 +41,6 @@ export class WebSockets {
return this;
}
subscribe(module) {
this.waitForConnection(() => {
this.send("subscribe", module);
});
return this;
}
unbind(module, action, callback) {
const callbacks = this.callbacks[module][action];
@ -77,28 +54,12 @@ export class WebSockets {
}
if (Object.keys(this.callbacks[module]).length === 0) {
this.unsubscribe(module);
delete this.callbacks[module];
}
return this;
}
unsubscribe(module) {
this.waitForConnection(() => {
this.send("unsubscribe", module);
delete this.callbacks[module];
});
return this;
}
send(action, params) {
const payload = JSON.stringify({ action, params });
this.waitForConnection(() => {
this.ws.send(payload);
});
return this;
}
dispatch(json) {
if (!json.module) return;
@ -107,18 +68,15 @@ export class WebSockets {
chain = this.callbacks[json.module][json.action];
} catch (error) {
if (error instanceof TypeError) {
console.warn(
`Callback for this message wasn't found:${error.data}`
console.debug(
`Callbacks for this module wasn't found: ${json.module}`
);
} else throw error;
}
if (typeof chain === "undefined") return;
console.debug("Handling WS message", json);
chain.forEach((callback) => callback(json));
}
close() {
this.ws.close();
}
}

View File

@ -32,7 +32,7 @@ export function useWSForisModule(
setData(message.data);
}
ws.subscribe(module).bind(module, action, callback);
ws.bind(module, action, callback);
return () => {
ws.unbind(module, action, callback);

View File

@ -1,36 +1,61 @@
/*
* Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
* Copyright (C) 2019-2022 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.
*/
const path = require("path");
const pjson = require("./package.json");
module.exports = {
title: "Foris JS docs",
title: "Foris JS Docs",
version: `v${pjson.version}`,
theme: {
color: {
link: "#0075a3",
linkHover: "#00a2e2",
},
},
tocMode: "collapse",
pagePerSection: true,
sections: [
{
name: "Foris JS",
content: "docs/intro.md",
name: "Introduction",
content: "docs/introduction.md",
},
{
name: "Development (Linking)",
name: "Development",
content: "docs/development.md",
},
{
name: "Foris forms",
components: [
"src/form/components/ForisForm.js",
"src/form/components/alerts.js",
"src/form/components/SubmitButton.js",
name: "Components",
description: "Set of main components.",
sections: [
{
name: "Foris forms",
components: [
"src/form/components/ForisForm.js",
"src/form/components/alerts.js",
"src/form/components/SubmitButton.js",
],
exampleMode: "expand",
usageMode: "expand",
},
{
name: "Alert Context",
components: ["src/context/alertContext/AlertContext.js"],
exampleMode: "expand",
usageMode: "expand",
},
],
exampleMode: "expand",
usageMode: "expand",
sectionDepth: 1,
},
{
name: "Alert Context",
components: ["src/alertContext/AlertContext.js"],
name: "Customization Context",
components: [
"src/context/customizationContext/CustomizationContext.js",
],
exampleMode: "expand",
usageMode: "expand",
},
@ -41,8 +66,12 @@ module.exports = {
exampleMode: "expand",
usageMode: "expand",
ignore: ["src/bootstrap/constants.js"],
sectionDepth: 0,
},
],
template: {
favicon: "/docs/components/logo.svg",
},
require: [
"babel-polyfill",
path.join(__dirname, "src/testUtils/mockGlobals"),
@ -55,6 +84,9 @@ module.exports = {
"node_modules/@fortawesome/fontawesome-free/css/all.min.css"
),
],
styleguideComponents: {
LogoRenderer: path.join(__dirname, "docs/components/Logo"),
},
webpackConfig: {
module: {
rules: [
@ -73,5 +105,8 @@ module.exports = {
},
],
},
devServer: {
publicPath: "/",
},
},
};

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2022-03-15 22:41+0000\n"
"Last-Translator: Koli <lukas.koluch@gmail.com>\n"
"Language: cs\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/turris/foris-"
"js/cs/>\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -113,11 +113,21 @@ msgstr "Kanál"
msgid "Encryption"
msgstr "Šifrování"
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr "automaticky"
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
#, fuzzy
msgid "Custom"
msgstr "automaticky"
@ -134,28 +144,28 @@ msgstr "Wi-Fi QR kód"
msgid "Download PDF"
msgstr "Stáhnout PDF"
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr "SSID nemůže být delší než 32 znaků"
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr "SSID je třeba vyplnit"
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr "SSID nemůže být delší než 32 bajtů"
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr "Je třeba, aby heslo obsahovalo alespoň 8 znaků"
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
#, fuzzy
msgid "Password must not contain more than 63 symbols"
msgstr "Je třeba, aby heslo obsahovalo alespoň 8 znaků"

View File

@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: da\n"
"Language-Team: da <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -111,11 +111,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -131,28 +141,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2021-09-24 19:38+0000\n"
"Last-Translator: CryptKid <CryptKiddie@chaospott.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"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -115,11 +115,21 @@ msgstr "Kanal"
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr "automatisch"
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
#, fuzzy
msgid "Custom"
msgstr "automatisch"
@ -136,28 +146,28 @@ msgstr "WLAN QR-Code"
msgid "Download PDF"
msgstr "PDF herunterladen"
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr "SSID darf nicht länger als 32 Symbole sein"
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr "SSID darf nicht leer sein"
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr "SSID darf nicht länger als 32 Symbole sein"
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr "Das Passwort muss mindestens 8 Zeichen enthalten"
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
#, fuzzy
msgid "Password must not contain more than 63 symbols"
msgstr "Das Passwort muss mindestens 8 Zeichen enthalten"

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2021-02-09 16:50+0000\n"
"Last-Translator: Michalis <michalisntovas@yahoo.gr>\n"
"Language: el\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/turris/foris-"
"js/el/>\n"
"Plural-Forms: nplurals=2; plural=n != 1\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -113,11 +113,21 @@ msgstr "Άκυρο"
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -133,28 +143,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2019-10-17 09:28+0000\n"
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
"Language: en\n"
"Language-Team: English "
"<https://hosted.weblate.org/projects/turris/reforis/en/>\n"
"Plural-Forms: nplurals=2; plural=n != 1\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -112,11 +112,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -132,28 +142,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"PO-Revision-Date: 2020-05-25 13:41+0000\n"
"Last-Translator: Eduardo Cuthbert <elguber@gmail.com>\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2022-09-11 17:15+0000\n"
"Last-Translator: Dan Cybersec <dan.cybersec@protonmail.com>\n"
"Language: es\n"
"Language-Team: Spanish "
"<https://hosted.weblate.org/projects/turris/reforis/es/>\n"
"Plural-Forms: nplurals=2; plural=n != 1\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/turris/foris-"
"js/es/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -39,48 +39,48 @@ msgstr ""
#: src/bootstrap/CopyInput.js:55
msgid "Copied!"
msgstr ""
msgstr "¡Copiado!"
#: src/bootstrap/CopyInput.js:55
msgid "Copy"
msgstr ""
msgstr "Copiar"
#: src/common/RebootButton.js:27
msgid "Reboot request failed."
msgstr ""
msgstr "La petición de reinicio ha fallado."
#: src/common/RebootButton.js:51
msgid "Reboot"
msgstr ""
msgstr "Reiniciar"
#: src/common/RebootButton.js:66
msgid "Warning!"
msgstr ""
msgstr "¡Atención!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
msgstr "¿Estás seguro de que quieres reiniciar el router?"
#: src/common/RebootButton.js:71
msgid "Cancel"
msgstr ""
msgstr "Cancelar"
#: src/common/RebootButton.js:73
msgid "Confirm reboot"
msgstr ""
msgstr "Confirmar reinicio"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38
msgid "An error occurred during resetting Wi-Fi settings."
msgstr ""
msgstr "Ocurrió un error durante el reseteo de los ajustes Wi-Fi."
#: src/common/WiFiSettings/ResetWiFiSettings.js:41
msgid "Wi-Fi settings are set to defaults."
msgstr ""
msgstr "Los ajustes Wi-Fi se han definido por defecto."
#: src/common/WiFiSettings/ResetWiFiSettings.js:55
#: src/common/WiFiSettings/ResetWiFiSettings.js:69
msgid "Reset Wi-Fi Settings"
msgstr ""
msgstr "Resetear los ajustes Wi-Fi"
#: src/common/WiFiSettings/ResetWiFiSettings.js:57
msgid ""
@ -88,146 +88,161 @@ msgid ""
"Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values."
msgstr ""
"Si cierto número de tarjetas inalámbricas no coincide, puedes intentar a "
"resetar los ajustes Wi-Fi. Ten en cuenta que esto eliminará la "
"configuración Wi-Fi actual, y restaurará los ajustes por defecto."
#: src/common/WiFiSettings/WiFiForm.js:95
msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80
msgid "Password"
msgstr ""
msgstr "Contraseña"
#: src/common/WiFiSettings/WiFiForm.js:146
msgid "Hide SSID"
msgstr ""
msgstr "Ocultar SSID"
#: src/common/WiFiSettings/WiFiForm.js:186
msgid "802.11n/ac/ax mode"
msgstr ""
msgstr "Modo 802.11n/ac/ax"
#: src/common/WiFiSettings/WiFiForm.js:199
msgid "Channel"
msgstr ""
msgstr "Canal"
#: src/common/WiFiSettings/WiFiForm.js:211
msgid "Encryption"
msgstr "Cifrado"
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
msgstr "automático"
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
msgstr "Personalizado"
#: src/common/WiFiSettings/WiFiGuestForm.js:42
msgid "Enable Guest Wi-Fi"
msgstr ""
msgstr "Activar el modo Wi-Fi de invitados"
#: src/common/WiFiSettings/WiFiQRCode.js:71
msgid "Wi-Fi QR Code"
msgstr ""
msgstr "Código QR Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:91
msgid "Download PDF"
msgstr ""
msgstr "Descargar PDF"
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr "El SSID no puede ser más largo que 32 símbolos"
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr "El SSID no puede estar vacío"
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
msgstr "El SSID no puede ser más largo que 32 bytes"
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr "La contraseña debe contener al menos 8 símbolos"
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""
msgstr "La contraseña no debe contener más de 63 símbolos"
#: src/common/WiFiSettings/constants.js:9
msgid "Disabled"
msgstr ""
msgstr "Desactivado"
#: src/common/WiFiSettings/constants.js:10
msgid "802.11n - 20 MHz wide channel"
msgstr ""
msgstr "802.11n - ancho de canal de 20 MHz"
#: src/common/WiFiSettings/constants.js:11
msgid "802.11n - 40 MHz wide channel"
msgstr ""
msgstr "802.11n - ancho de canal de 40 MHz"
#: src/common/WiFiSettings/constants.js:12
msgid "802.11ac - 20 MHz wide channel"
msgstr ""
msgstr "802.11ac - ancho de canal de 20 MHz"
#: src/common/WiFiSettings/constants.js:13
msgid "802.11ac - 40 MHz wide channel"
msgstr ""
msgstr "802.11ac - ancho de canal de 40 MHz"
#: src/common/WiFiSettings/constants.js:14
msgid "802.11ac - 80 MHz wide channel"
msgstr ""
msgstr "802.11ac - ancho de canal de 80 MHz"
#: src/common/WiFiSettings/constants.js:15
msgid "802.11ac - 160 MHz wide channel"
msgstr ""
msgstr "802.11ac - ancho de canal de 160 MHz"
#: src/common/WiFiSettings/constants.js:16
msgid "802.11ax - 20 MHz wide channel"
msgstr ""
msgstr "802.11ax - ancho de canal de 20 MHz"
#: src/common/WiFiSettings/constants.js:17
msgid "802.11ax - 40 MHz wide channel"
msgstr ""
msgstr "802.11ax - ancho de canal de 40 MHz"
#: src/common/WiFiSettings/constants.js:18
msgid "802.11ax - 80 MHz wide channel"
msgstr ""
msgstr "802.11ax - ancho de canal de 80 MHz"
#: src/common/WiFiSettings/constants.js:19
msgid "802.11ax - 160 MHz wide channel"
msgstr ""
msgstr "802.11ax - ancho de canal de 160 MHz"
#: src/common/WiFiSettings/constants.js:26
msgid "WPA3 only"
msgstr ""
msgstr "WPA3 únicamente"
#: src/common/WiFiSettings/constants.js:27
msgid "WPA3 with WPA2 as fallback (default)"
msgstr ""
msgstr "WPA3 con WPA2 como respaldo (por defecto)"
#: src/common/WiFiSettings/constants.js:28
msgid "WPA2 only"
msgstr ""
msgstr "WPA2 únicamente"
#: src/common/WiFiSettings/constants.js:31
msgid ""
"SSID which contains non-standard characters could cause problems on some "
"devices."
msgstr ""
"Un SSID que contiene caracteres no estándar puede causar problemas en "
"ciertos dispositivos."
#: src/common/WiFiSettings/constants.js:34
msgid "WPA2/3 pre-shared key, that is required to connect to the network."
msgstr ""
msgstr "Clave pre-compartida WPA2/3, que es requerida para conectar a la red."
#: src/common/WiFiSettings/constants.js:37
msgid "If set, network is not visible when scanning for available networks."
msgstr ""
msgstr "Si está definida, la red no es visible al escanear redes disponibles."
#: src/common/WiFiSettings/constants.js:40
msgid ""
@ -236,6 +251,11 @@ msgid ""
"supported by all your devices. It usually has less interference, but the "
"signal does not carry so well indoors."
msgstr ""
"La banda de 2.4 GHz es soportada por un mayor número de clientes, pero "
"tiende a sufrir más interferencias. La banda de 5 GHz es un nuevo "
"estándar y puede que no esté soportado por todos tus dispositivos. Aunque"
" normalmente tiene sufre menos interferencias, la señal tiene un alcance "
"limitado en interiores."
#: src/common/WiFiSettings/constants.js:43
msgid ""
@ -244,6 +264,10 @@ msgid ""
"interference in the network. If you don't know what to choose, use the "
"default option with 20 MHz wide channel."
msgstr ""
"Cambia esto para ajustar el modo de operación 802.11n/ac/ax. 802.11n con "
"un ancho de canal de 40 MHz puede producir un mayor rendimiento pero "
"puede causar más interferencias en la red. Si no estás seguro de qué "
"elegir, usa la opción por defecto con el ancho de canal de 20 MHz."
#: src/common/WiFiSettings/constants.js:46
msgid ""
@ -253,6 +277,11 @@ msgid ""
"router. Parameters of the guest network can be set in the Guest network "
"tab."
msgstr ""
"Activa el Wi-Fi para invitados, que se encuentra aislado de la red local."
" Los dispositivos conectados a esta red pueden acceder a internet, pero "
"no pueden acceder a otros dispositivos o a la interfaz de configuración "
"del router. Los parámetros de la red de invitados pueden configurarse en "
"la pestaña de red de invitados."
#: src/common/WiFiSettings/constants.js:49
msgid ""
@ -261,65 +290,69 @@ msgid ""
"without WPA3 support require older WPA2. If you experience issues with "
"connecting older devices, try to enable WPA2."
msgstr ""
"El estándar WPA3 es el nuevo método más seguro de cifrado que se aconseja"
" utilizar con cualquier dispositivo que lo soporte. Los dispositivos más "
"antiguos sin soporte para WPA3 necesitan utilizar WPA2. Si encuentras "
"problemas al intentar conectar dispositivos antiguos, prueba a activar "
"WPA2."
#: src/form/components/ForisForm.js:121
msgid "Settings saved successfully"
msgstr "Configuraciòn salvada satisfactoriamente"
msgstr "Los ajustes se han guardado correctamente"
#: src/form/components/ForisForm.js:183
msgid "Changes you made may not be saved. Are you sure you want to leave?"
msgstr "Los cambios hechos podrìan no salvarse. Està seguro que quiere salir?"
msgstr ""
"Los cambios que has realizado podrían no haberse guardado. ¿Estás seguro "
"de que quieres salir?"
#: src/form/components/SubmitButton.js:31
#, fuzzy
msgid "Updating"
msgstr "Actualizando"
#: src/form/components/SubmitButton.js:34
#, fuzzy
msgid "Load settings"
msgstr "Cargando configuraciòn"
msgstr "Cargando los ajustes"
#: src/form/components/SubmitButton.js:37
msgid "Save"
msgstr "Salvar"
msgstr "Guardar"
#: src/utils/ErrorMessage.js:16
msgid "An error occurred while fetching data."
msgstr "Error ocurrido mientras se recuperaban los datos."
msgstr "Se ha producido un error mientras se recuperaban los datos."
#: src/utils/validations.js:13
msgid "This is not a valid IPv4 address."
msgstr "Esto no es una direcciòn IPv4 vàlida."
msgstr "Esto no es una dirección IPv4 válida."
#: src/utils/validations.js:14
msgid "This is not a valid IPv6 address."
msgstr "Esto no es una direcciòn IPv6 vàlida."
msgstr "Esto no es una dirección IPv6 válida."
#: src/utils/validations.js:15
msgid "This is not a valid IPv6 prefix."
msgstr "Esto no es un prefijo IPv6 vàlido."
msgstr "Esto no es un prefijo IPv6 válido."
#: src/utils/validations.js:16
msgid "This is not a valid domain name."
msgstr "Esto no es un nombre de dominio vàlido."
msgstr "Esto no es un nombre de dominio válido."
#: src/utils/validations.js:17
#, fuzzy
msgid "This is not a valid hostname."
msgstr "Esto no es un nombre de dominio vàlido."
msgstr "Esto no es un nombre de dominio válido."
#: src/utils/validations.js:18
msgid "This is not a valid DUID."
msgstr "Este no es un DUID vàlido."
msgstr "Este no es un DUID válido."
#: src/utils/validations.js:19
msgid "This is not a valid MAC address."
msgstr "Esta no es una direcciòn MAC vàlida."
msgstr "Esta no es una dirección MAC válida."
#: src/utils/validations.js:20
msgid "Doesn't contain a list of emails separated by commas."
msgstr "No contiene una lista de E-mails separados por comas."
msgstr "No contiene una lista de correos electrónicos separados por comas."
#~ msgid ""
#~ "\n"

View File

@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fi\n"
"Language-Team: fi <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -111,11 +111,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -131,28 +141,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fo\n"
"Language-Team: fo <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -111,11 +111,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -131,28 +141,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -6,16 +6,16 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Foris JS 5.3.0\n"
"Project-Id-Version: Foris JS 5.4.1\n"
"Report-Msgid-Bugs-To: tech.support@turris.cz\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -110,11 +110,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -130,28 +140,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2022-01-14 05:53+0000\n"
"Last-Translator: Gabriel GRONDIN <gglinnk@protonmail.com>\n"
"Language: fr\n"
"Language-Team: French <https://hosted.weblate.org/projects/turris/foris-"
"js/fr/>\n"
"Plural-Forms: nplurals=2; plural=n > 1\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -115,11 +115,21 @@ msgstr "Canal"
msgid "Encryption"
msgstr "Chiffrement"
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr "automatique"
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr "Personnalisé"
@ -135,28 +145,28 @@ msgstr "Code QR Wi-Fi"
msgid "Download PDF"
msgstr "Télécharger le PDF"
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr "Le SSID ne peut pas être plus long que 32 symboles"
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr "Le SSID ne peut pas être vide"
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr "Le SSID ne peut pas dépasser 32 octets"
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr "Le mot de passe doit contenir au moins 8 symboles"
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
#, fuzzy
msgid "Password must not contain more than 63 symbols"
msgstr "Le mot de passe doit contenir au moins 8 symboles"

View File

@ -7,17 +7,18 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2022-09-29 14:17+0000\n"
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
"Language: hr\n"
"Language-Team: hr <LL@li.org>\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"
"Language-Team: Croatian <https://hosted.weblate.org/projects/turris"
"/foris-js/hr/>\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"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -94,7 +95,7 @@ msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:80
msgid "Password"
msgstr ""
msgstr "Lozinka"
#: src/common/WiFiSettings/WiFiForm.js:146
msgid "Hide SSID"
@ -112,11 +113,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -132,28 +143,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""
@ -278,7 +289,7 @@ msgstr ""
#: src/form/components/SubmitButton.js:37
msgid "Save"
msgstr ""
msgstr "Spremi"
#: src/utils/ErrorMessage.js:16
msgid "An error occurred while fetching data."

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2021-01-07 01:26+0000\n"
"Last-Translator: Zoli <boritek@gmail.com>\n"
"Language: hu\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/turris"
"/foris-js/hu/>\n"
"Plural-Forms: nplurals=1; plural=0\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -112,11 +112,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -132,28 +142,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: it\n"
"Language-Team: it <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -111,11 +111,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -131,28 +141,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2019-10-16 10:08+0000\n"
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
"Language: ja\n"
"Language-Team: Japanese "
"<https://hosted.weblate.org/projects/turris/reforis/ja/>\n"
"Plural-Forms: nplurals=1; plural=0\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -112,11 +112,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr "自動"
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
#, fuzzy
msgid "Custom"
msgstr "自動"
@ -133,28 +143,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ko\n"
"Language-Team: ko <LL@li.org>\n"
"Plural-Forms: nplurals=1; plural=0\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -111,11 +111,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -131,28 +141,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: lt\n"
"Language-Team: lt <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"(n%100<10 || n%100>=20) ? 1 : 2)\n"
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -112,11 +112,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -132,28 +142,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,18 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"PO-Revision-Date: 2022-05-25 13:20+0000\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2022-10-26 07:01+0000\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-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"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.13-dev\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -121,11 +120,21 @@ msgstr "Kanal"
msgid "Encryption"
msgstr "Kryptering"
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr "automatisk"
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr "Tilpasset"
@ -142,29 +151,29 @@ msgstr "QR-kode for Wi-Fi"
msgid "Download PDF"
msgstr "Last ned PDF"
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr "SSID kan ikke være lengre enn 32 symboler"
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr "SSID kan ikke stå tomt."
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
#, fuzzy
msgid "SSID can't be longer than 32 bytes"
msgstr "SSID kan ikke være lengre enn 32 symboler"
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr "Passordet må inneholde minst 8 tegn"
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
#, fuzzy
msgid "Password must not contain more than 63 symbols"
msgstr "Passordet må inneholde minst 8 tegn"
@ -237,51 +246,39 @@ msgid ""
msgstr "SSID som inneholder uvanlige tegn kan forårsake problemer på noen enheter."
#: src/common/WiFiSettings/constants.js:34
#, fuzzy
msgid "WPA2/3 pre-shared key, that is required to connect to the network."
msgstr ""
"\n"
" WPA2 med forhåndsdelt nøkkel, (som kreves for å koble til "
"nettverket).\n"
" "
msgstr "WPA2/3 med forhåndsdelt nøkkel, (som kreves for å koble til nettverket)."
#: src/common/WiFiSettings/constants.js:37
msgid "If set, network is not visible when scanning for available networks."
msgstr "Skjuler nettverket fra nettverkslister."
#: src/common/WiFiSettings/constants.js:40
#, fuzzy
msgid ""
"The 2.4 GHz band is more widely supported by clients, but tends to have "
"more interference. The 5 GHz band is a newer standard and may not be "
"supported by all your devices. It usually has less interference, but the "
"signal does not carry so well indoors."
msgstr ""
"\n"
" 2.4 GHz-båndet støttes av flere klienter, men har vanligvis flere"
" forstyrrelser. 5 Ghz-båndet er en nyere\n"
" standard, og kan ikke støttes av alle enhetene dine. Det har "
"vanligvis mindre forstyrrelse, men signalet\n"
" er mer utsatt for hindringer innendørs."
"2.4 GHz-båndet støttes av flere klienter, men har vanligvis flere "
"forstyrrelser. 5 Ghz-båndet er en nyere standard,\n"
"og kan ikke støttes av alle enhetene dine. Det har vanligvis mindre "
"forstyrrelse,\n"
"men signalet er mer utsatt for hindringer innendørs."
#: src/common/WiFiSettings/constants.js:43
#, fuzzy
msgid ""
"Change this to adjust 802.11n/ac/ax mode of operation. 802.11n with 40 "
"MHz wide channels can yield higher throughput but can cause more "
"interference in the network. If you don't know what to choose, use the "
"default option with 20 MHz wide channel."
msgstr ""
"\n"
" Endringer har justerer 802.11n/ac-modus. 802.11.n med 40 Mhz "
"brede kanaler kan gi høyere\n"
" gjennomstrømming, men kan forårsake mer forstyrrelse i "
"nettverket. Hvis du ikke vet hva du skal velge, bruk\n"
" forvalget på 20 MHz brede kanaler.\n"
" "
"Endringer her justerer 802.11n/ac/ax-modus. 802.11.n med 40 Mhz brede "
"kanaler kan gi høyere gjennomstrømming,\n"
"men kan forårsake mer forstyrrelse i nettverket. Hvis du ikke vet hva du "
"skal velge, bruk forvalget på 20 MHz brede kanaler."
#: src/common/WiFiSettings/constants.js:46
#, fuzzy
msgid ""
"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 "
@ -289,17 +286,13 @@ msgid ""
"router. Parameters of the guest network can be set in the Guest network "
"tab."
msgstr ""
"\n"
" Skrur på Wi-Fi for gjester, som er adskilt LAN-nettverket. "
"Enheter som kobler til dette nettverket tillates å\n"
" bruke Internett, men tillates ikke å nå andre enheter og "
"oppsettsgrensesnittet til ruteren..\n"
" Parameter for gjestenettverket kan settes i gjestenettverksfanen."
"\n"
" "
"Skrur på Wi-Fi for gjester, som er adskilt LAN-nettverket.\n"
"Enheter som kobler til dette nettverket tillates å bruke Internett,\n"
"men tillates ikke å nå andre enheter og oppsettsgrensesnittet til "
"ruteren.\n"
"Parametere for gjestenettverket kan settes i gjestenettverksfanen."
#: src/common/WiFiSettings/constants.js:49
#, fuzzy
msgid ""
"The WPA3 standard is the new most secure encryption method that is "
"suggested to be used with any device that supports it. The older devices "
@ -307,9 +300,9 @@ msgid ""
"connecting older devices, try to enable WPA2."
msgstr ""
"WPA3-standarden er den nye mest sikre krypteringsmetoden som anbefales "
"for alle enheter som støtter den. De eldre enhetene uten WPA3-støtte "
"krever eldre WPA2. Hvis du har problemer med å koble til eldre enheter "
"bør du skru på WPA2."
"for alle enheter som støtter den.\n"
"De eldre enhetene uten WPA3-støtte krever eldre WPA2. Hvis du har "
"problemer med å koble til eldre enheter bør du skru på WPA2."
#: src/form/components/ForisForm.js:121
msgid "Settings saved successfully"
@ -395,3 +388,4 @@ msgstr "Inneholder ikke en kommainndelt liste med e-postadresser."
#~ "\n"
#~ "gjeldende Wi-Fi-oppsett og tilbakestiller forvalgte verdier.\n"
#~ " "

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2020-11-29 19:29+0000\n"
"Last-Translator: Johan van de Wetering <mail@jvdwetering.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"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -113,11 +113,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr "auto"
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
#, fuzzy
msgid "Custom"
msgstr "auto"
@ -134,28 +144,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,18 +7,18 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"PO-Revision-Date: 2020-12-23 12:29+0000\n"
"Last-Translator: Adam Stańczyk <a.stanczyk@onet.pl>\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2022-09-27 15:19+0000\n"
"Last-Translator: Orest Worhacz <areyouloco@paranoici.org>\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"
"(n%100<10 || n%100>=20) ? 1 : 2;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -50,23 +50,24 @@ msgstr ""
#: src/common/RebootButton.js:51
msgid "Reboot"
msgstr ""
msgstr "Restart"
#: src/common/RebootButton.js:66
msgid "Warning!"
msgstr ""
msgstr "Ostrzeżenie!"
#: src/common/RebootButton.js:68
#, fuzzy
msgid "Are you sure you want to restart the router?"
msgstr ""
msgstr "Czy jesteś pewien/pewna, że chcesz zrestartować router?"
#: src/common/RebootButton.js:71
msgid "Cancel"
msgstr ""
msgstr "Anuluj"
#: src/common/RebootButton.js:73
msgid "Confirm reboot"
msgstr ""
msgstr "Potwierdź restart"
#: src/common/WiFiSettings/ResetWiFiSettings.js:38
msgid "An error occurred during resetting Wi-Fi settings."
@ -113,11 +114,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -133,28 +144,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2021-12-21 12:52+0000\n"
"Last-Translator: c10l <weblate.org@a.c10l.cc>\n"
"Language: pt_BR\n"
"Language-Team: Portuguese (Brazil) "
"<https://hosted.weblate.org/projects/turris/foris-js/pt_BR/>\n"
"Plural-Forms: nplurals=2; plural=n > 1\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -112,11 +112,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -132,28 +142,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2019-02-19 13:35+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
"Language-Team: ro <LL@li.org>\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100"
" < 20)) ? 1 : 2)\n"
" < 20)) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -112,11 +112,21 @@ msgstr ""
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr ""
@ -132,28 +142,28 @@ msgstr ""
msgid "Download PDF"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr ""
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"PO-Revision-Date: 2022-05-28 09:19+0000\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2022-12-07 12:47+0000\n"
"Last-Translator: Алексей Леньшин <alenshin@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/turris/foris-js/"
"ru/>\n"
@ -18,8 +18,8 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\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"
"X-Generator: Weblate 4.13-dev\n"
"Generated-By: Babel 2.9.0\n"
"X-Generator: Weblate 4.15-dev\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -117,11 +117,23 @@ msgstr "Канал"
msgid "Encryption"
msgstr "Шифрование"
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr "Отключить защиту кадров управления"
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
"Если у вас возникли проблемы с подключением к точке доступа Wi-Fi, "
"попробуйте отключить защиту кадров управления."
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr "авто"
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr "Ручная настройка"
@ -137,28 +149,28 @@ msgstr "QR-код Wi-Fi"
msgid "Download PDF"
msgstr "Скачать PDF"
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr "SSID не может быть длиннее 32 символов"
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr "SSID не может быть пустым"
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr "SSID не может быть длиннее 32 байт"
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr "Пароль должен содержать не менее 8 символов"
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr "Пароль не должен содержать более 63 символов"
@ -255,10 +267,10 @@ msgid ""
"interference in the network. If you don't know what to choose, use the "
"default option with 20 MHz wide channel."
msgstr ""
"Измените это, чтобы настроить режим работы 802.11n/ac/ax. 802.11n с каналами "
"шириной 40 МГц обеспечивает более высокую пропускную способность, но может "
"вызывать больше помех в сети. Если вы не знаете, что выбрать, используйте "
"опцию по умолчанию с каналом шириной 20 МГц."
"Измените это, чтобы настроить режим работы 802.11n/ac/ax. 802.11n с "
"каналами шириной 40 МГц обеспечивает более высокую пропускную "
"способность, но может вызывать больше помех в сети. Если вы не знаете, "
"что выбрать, используйте опцию по умолчанию с каналом шириной 20 МГц."
#: src/common/WiFiSettings/constants.js:46
msgid ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"PO-Revision-Date: 2022-05-30 06:14+0000\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2022-12-05 16:48+0000\n"
"Last-Translator: Atec <dr.atec@gmail.com>\n"
"Language-Team: Slovak <https://hosted.weblate.org/projects/turris/foris-js/"
"sk/>\n"
@ -17,8 +17,8 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.13-dev\n"
"Generated-By: Babel 2.9.0\n"
"X-Generator: Weblate 4.15-dev\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -116,11 +116,23 @@ msgstr "Kanál"
msgid "Encryption"
msgstr "Šifrovanie"
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr "Zakázať Management Frame Protection"
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
"Ak máte problémy s pripojením k prístupovému bodu WiFi, skúste zakázať "
"Management Frame Protection."
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr "automaticky"
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom"
msgstr "Vlastné"
@ -136,28 +148,28 @@ msgstr "Wi-Fi QR kód"
msgid "Download PDF"
msgstr "Stiahnuť PDF"
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr "SSID nemôže obsahovať viac ako 32 znakov"
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr "SSID nesmie byť prázdne"
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr "SSID nesmie byť dlhšie ako 32 byteov"
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr "Heslo musí obsahovať aspoň 8 znakov"
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
msgid "Password must not contain more than 63 symbols"
msgstr "Heslo nesmie obsahovať viac ako 63 znakov"
@ -254,10 +266,10 @@ msgid ""
"interference in the network. If you don't know what to choose, use the "
"default option with 20 MHz wide channel."
msgstr ""
"Zmenou tejto položky sa nastavuje režim prevádzky 802.11n/ac/ax. Štandard "
"802.11n so šírkou kanálov 40 MHz môže priniesť vyššiu priepustnosť, ale môže "
"spôsobiť väčšie rušenie. Ak si nie ste istí, použite predvolenú možnosť so "
"šírkou kanála 20 MHz."
"Zmenou tejto položky sa nastavuje režim prevádzky 802.11n/ac/ax. Štandard"
" 802.11n so šírkou kanálov 40 MHz môže priniesť vyššiu priepustnosť, ale "
"môže spôsobiť väčšie rušenie. Ak si nie ste istí, použite predvolenú "
"možnosť so šírkou kanála 20 MHz."
#: src/common/WiFiSettings/constants.js:46
msgid ""

View File

@ -7,18 +7,18 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-05-20 15:42+0200\n"
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
"PO-Revision-Date: 2021-09-26 03:39+0000\n"
"Last-Translator: Kristoffer Grundström "
"<swedishsailfishosuser@tutanota.com>\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"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
"Generated-By: Babel 2.11.0\n"
#: src/api/utils.js:61
msgid "The session is expired. Please log in again."
@ -114,11 +114,21 @@ msgstr "Avbryt"
msgid "Encryption"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:243
#: src/common/WiFiSettings/WiFiForm.js:226
msgid "Disable Management Frame Protection"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:227
msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection."
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto"
msgstr "auto"
#: src/common/WiFiSettings/WiFiForm.js:284
#: src/common/WiFiSettings/WiFiForm.js:303
#, fuzzy
msgid "Custom"
msgstr "auto"
@ -135,28 +145,28 @@ msgstr "QR-kod för Wi-Fi"
msgid "Download PDF"
msgstr "Ladda ner PDF"
#: src/common/WiFiSettings/WiFiSettings.js:78
#: src/common/WiFiSettings/WiFiSettings.js:94
#: src/common/WiFiSettings/WiFiSettings.js:82
#: src/common/WiFiSettings/WiFiSettings.js:98
msgid "SSID can't be longer than 32 symbols"
msgstr "SSID kan inte vara längre än 32 symboler"
#: src/common/WiFiSettings/WiFiSettings.js:79
#: src/common/WiFiSettings/WiFiSettings.js:96
#: src/common/WiFiSettings/WiFiSettings.js:83
#: src/common/WiFiSettings/WiFiSettings.js:100
msgid "SSID can't be empty"
msgstr "SSID kan inte vara tomt"
#: src/common/WiFiSettings/WiFiSettings.js:81
#: src/common/WiFiSettings/WiFiSettings.js:98
#: src/common/WiFiSettings/WiFiSettings.js:85
#: src/common/WiFiSettings/WiFiSettings.js:102
msgid "SSID can't be longer than 32 bytes"
msgstr "SSID kan inte vara längre än 32 bytes"
#: src/common/WiFiSettings/WiFiSettings.js:84
#: src/common/WiFiSettings/WiFiSettings.js:101
#: src/common/WiFiSettings/WiFiSettings.js:88
#: src/common/WiFiSettings/WiFiSettings.js:105
msgid "Password must contain at least 8 symbols"
msgstr "Lösenord måste innehålla åtminstone 8 symboler"
#: src/common/WiFiSettings/WiFiSettings.js:86
#: src/common/WiFiSettings/WiFiSettings.js:105
#: src/common/WiFiSettings/WiFiSettings.js:90
#: src/common/WiFiSettings/WiFiSettings.js:109
#, fuzzy
msgid "Password must not contain more than 63 symbols"
msgstr "Lösenord måste innehålla åtminstone 8 symboler"