mirror of
https://gitlab.nic.cz/turris/reforis/foris-js.git
synced 2025-07-03 16:02:26 +02:00
Compare commits
88 Commits
v5.4.0
...
61ff82ca26
Author | SHA1 | Date | |
---|---|---|---|
61ff82ca26 | |||
01e1fca913 | |||
ff53e2487d | |||
e1722fa3e2 | |||
0f1f98e70c | |||
35f484b371 | |||
7057f6ee7d | |||
3fa5ab7c07 | |||
ff48d6ca36 | |||
39257567d4 | |||
5ed48bf2a3 | |||
c8fbdc5bba | |||
46bd8edcea | |||
42fcc02d83 | |||
96785f0774 | |||
7823bff6d9 | |||
0fd7c08188 | |||
32630601c2 | |||
03aad5498a | |||
2f2b812ddb | |||
c0bcd46b2b | |||
68ea8cf460 | |||
79fe68dba3 | |||
683a8736a6 | |||
6631d4847b | |||
8887d0d68e | |||
390e4bdce8 | |||
5232b55cf6 | |||
5823012c6e | |||
e907a3a21f | |||
9e4cb4b417 | |||
55f4d2ff15 | |||
6b464783ed | |||
85ba270135 | |||
80619fab3c | |||
a1a47e0d0f | |||
d49ff0150c | |||
a0f42906f5 | |||
bc1b6e7877 | |||
efb3fa80ce | |||
9c3dcaf6b5 | |||
fb41c9629e | |||
620eee3f53 | |||
f6ec82609c | |||
0b47c38f21 | |||
6183669c9b | |||
f3694bb62c | |||
0f2344a005 | |||
f2ae6c4d0a | |||
f382e743aa | |||
d71f4a7967 | |||
aeabc0bf06 | |||
46fe75d3cf | |||
c469d8dfde | |||
f327428765 | |||
5a359661da | |||
3d30e2720e | |||
badb043554 | |||
ab692e5c4d | |||
2e398388b5 | |||
5e539de03f | |||
87f5557ef6 | |||
f128c5c7d6 | |||
7a633574da | |||
ee40697e2b | |||
4525c6bc66 | |||
1d6987b21b | |||
67fc2d32ce | |||
ab13b7aa08 | |||
2a73502710 | |||
003606cb8c | |||
aeddd9ce74 | |||
a4fd74bf38 | |||
b0e2f62a41 | |||
caf8af44d1 | |||
fd7cd49790 | |||
d95fdf8517 | |||
68c560078b | |||
83caf505d9 | |||
f3a1090dbd | |||
d588291f1c | |||
bc044df7a8 | |||
b4c6a7fb70 | |||
d6563d2ffd | |||
af90d8d09d | |||
006d6ce8d9 | |||
cee08f48ce | |||
2d0ca58057 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -51,4 +51,3 @@ coverage.xml
|
||||
dist/
|
||||
foris-*.tgz
|
||||
styleguide/
|
||||
testUtils
|
||||
|
@ -1,4 +1,4 @@
|
||||
image: node:16-alpine
|
||||
image: registry.nic.cz/turris/reforis/reforis/reforis-image
|
||||
|
||||
stages:
|
||||
- test
|
||||
@ -6,7 +6,7 @@ stages:
|
||||
- publish
|
||||
|
||||
before_script:
|
||||
- apk add make
|
||||
- apt-get update && apt-get install -y make
|
||||
- npm install
|
||||
|
||||
test:
|
||||
|
1
Makefile
1
Makefile
@ -11,6 +11,7 @@ MSGID_BUGS_ADDRESS="tech.support@turris.cz"
|
||||
|
||||
DEV_PYTHON=python3
|
||||
VENV_NAME?=venv
|
||||
JS_DIR=js
|
||||
VENV_BIN=$(shell pwd)/$(VENV_NAME)/bin
|
||||
|
||||
.PHONY: all
|
||||
|
36
docs/components/Logo.js
Normal file
36
docs/components/Logo.js
Normal 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
3
docs/components/logo.svg
Normal 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 |
@ -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
4
docs/forisjs-npm.svg
Normal 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 |
@ -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
37
docs/introduction.md
Normal 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>
|
@ -19,6 +19,7 @@ module.exports = {
|
||||
collectCoverageFrom: ["src/**/*.{js,jsx}"],
|
||||
coverageDirectory: "coverage",
|
||||
testPathIgnorePatterns: ["/node_modules/", "/__fixtures__/", "/dist/"],
|
||||
testEnvironment: "jsdom",
|
||||
verbose: false,
|
||||
setupFilesAfterEnv: [
|
||||
"@testing-library/react/cleanup-after-each",
|
||||
|
29330
package-lock.json
generated
29330
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
59
package.json
59
package.json
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "foris",
|
||||
"version": "5.4.0",
|
||||
"description": "Set of components and utils for Foris and its plugins.",
|
||||
"version": "6.0.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",
|
||||
@ -14,49 +14,50 @@
|
||||
"license": "GPL-3.0",
|
||||
"main": "./src/index.js",
|
||||
"dependencies": {
|
||||
"axios": "^0.21.1",
|
||||
"immutability-helper": "3.0.1",
|
||||
"moment": "^2.24.0",
|
||||
"qrcode.react": "^1.0.1",
|
||||
"react-datetime": "^3.1.1",
|
||||
"react-uid": "^2.2.0"
|
||||
"axios": "^1.7.2",
|
||||
"immutability-helper": "^3.1.1",
|
||||
"moment": "^2.30.1",
|
||||
"qrcode.react": "^3.1.0",
|
||||
"react-datetime": "^3.2.0",
|
||||
"react-uid": "^2.3.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bootstrap": "4.4.1",
|
||||
"prop-types": "15.7.2",
|
||||
"bootstrap": "^5.3.3",
|
||||
"prop-types": "15.8.1",
|
||||
"react": "16.9.0",
|
||||
"react-dom": "16.9.0",
|
||||
"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/preset-react": "^7.9.4",
|
||||
"@fortawesome/fontawesome-free": "^5.13.0",
|
||||
"@babel/cli": "^7.24.7",
|
||||
"@babel/core": "^7.24.7",
|
||||
"@babel/plugin-transform-runtime": "^7.24.7",
|
||||
"@babel/preset-env": "^7.24.7",
|
||||
"@babel/preset-react": "^7.24.7",
|
||||
"@fortawesome/fontawesome-free": "^6.5.2",
|
||||
"@testing-library/react": "^8.0.9",
|
||||
"babel-loader": "^8.1.0",
|
||||
"babel-polyfill": "^6.26.0",
|
||||
"bootstrap": "^4.5.0",
|
||||
"bootstrap": "^5.3.3",
|
||||
"css-loader": "^5.2.4",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-config-prettier": "^6.11.0",
|
||||
"eslint-config-reforis": "^1.0.0",
|
||||
"eslint-plugin-prettier": "^3.1.4",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-config-reforis": "^2.1.1",
|
||||
"eslint-plugin-prettier": "^5.1.3",
|
||||
"file-loader": "^6.0.0",
|
||||
"jest": "^25.2.0",
|
||||
"jest-mock-axios": "^3.2.0",
|
||||
"moment-timezone": "^0.5.34",
|
||||
"prettier": "2.0.5",
|
||||
"prop-types": "15.7.2",
|
||||
"jest": "^29.7.0",
|
||||
"jest-environment-jsdom": "^29.7.0",
|
||||
"jest-mock-axios": "^4.7.3",
|
||||
"moment-timezone": "^0.5.45",
|
||||
"prettier": "^3.3.1",
|
||||
"prop-types": "15.8.1",
|
||||
"react": "16.9.0",
|
||||
"react-dom": "16.9.0",
|
||||
"react-router-dom": "^5.1.2",
|
||||
"react-styleguidist": "^11.2.0",
|
||||
"snapshot-diff": "^0.7.0",
|
||||
"react-styleguidist": "^12.0.1",
|
||||
"snapshot-diff": "^0.10.0",
|
||||
"style-loader": "^1.2.1",
|
||||
"webpack": "^5.68.0"
|
||||
"webpack": "^5.91.0"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint src",
|
||||
|
@ -111,9 +111,7 @@ const useAPIPatch = createAPIHook("PATCH");
|
||||
const useAPIPut = createAPIHook("PUT");
|
||||
const useAPIDelete = createAPIHook("DELETE");
|
||||
|
||||
export { useAPIGet, useAPIPost, useAPIPatch, useAPIPut, useAPIDelete };
|
||||
|
||||
export function useAPIPolling(endpoint, delay = 1000, until) {
|
||||
function useAPIPolling(endpoint, until, delay = 1000) {
|
||||
// delay ms
|
||||
const [state, setState] = useState({ state: API_STATE.INIT });
|
||||
const [getResponse, get] = useAPIGet(endpoint);
|
||||
@ -133,3 +131,12 @@ export function useAPIPolling(endpoint, delay = 1000, until) {
|
||||
|
||||
return [state];
|
||||
}
|
||||
|
||||
export {
|
||||
useAPIGet,
|
||||
useAPIPost,
|
||||
useAPIPatch,
|
||||
useAPIPut,
|
||||
useAPIDelete,
|
||||
useAPIPolling,
|
||||
};
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
export const ALERT_TYPES = Object.freeze({
|
||||
@ -38,16 +39,17 @@ Alert.defaultProps = {
|
||||
export function Alert({ type, onDismiss, children }) {
|
||||
return (
|
||||
<div
|
||||
className={`alert ${
|
||||
className={`alert alert-${type} ${
|
||||
onDismiss ? "alert-dismissible" : ""
|
||||
} alert-${type}`}
|
||||
}`.trim()}
|
||||
>
|
||||
{onDismiss ? (
|
||||
<button type="button" className="close" onClick={onDismiss}>
|
||||
×
|
||||
</button>
|
||||
) : (
|
||||
false
|
||||
{onDismiss && (
|
||||
<button
|
||||
type="button"
|
||||
className="btn-close"
|
||||
onClick={onDismiss}
|
||||
aria-label={_("Close")}
|
||||
/>
|
||||
)}
|
||||
{children}
|
||||
</div>
|
||||
|
@ -1,11 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
|
||||
* Copyright (C) 2019-2023 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
Button.propTypes = {
|
||||
@ -31,24 +32,25 @@ export function Button({
|
||||
children,
|
||||
...props
|
||||
}) {
|
||||
let buttonClass = className ? `btn ${className}` : "btn btn-primary ";
|
||||
let buttonClass = className ? `btn ${className}` : "btn btn-primary";
|
||||
if (forisFormSize) {
|
||||
buttonClass = `${buttonClass} col-sm-12 col-md-3 col-lg-2`;
|
||||
buttonClass = `${buttonClass} col-12 col-md-3 col-lg-2`;
|
||||
}
|
||||
|
||||
const span = loading ? (
|
||||
return (
|
||||
<button
|
||||
type="button"
|
||||
className={`${buttonClass} d-inline-flex justify-content-center align-items-center`}
|
||||
{...props}
|
||||
>
|
||||
{loading && (
|
||||
<span
|
||||
className="spinner-border spinner-border-sm"
|
||||
className="spinner-border spinner-border-sm me-1"
|
||||
role="status"
|
||||
aria-hidden="true"
|
||||
/>
|
||||
) : null;
|
||||
|
||||
return (
|
||||
<button type="button" className={buttonClass} {...props}>
|
||||
{span}
|
||||
{span ? " " : null}
|
||||
{children}
|
||||
)}
|
||||
<span>{children}</span>
|
||||
</button>
|
||||
);
|
||||
}
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
import { useUID } from "react-uid";
|
||||
|
||||
@ -24,25 +25,24 @@ CheckBox.defaultProps = {
|
||||
|
||||
export function CheckBox({ label, helpText, disabled, ...props }) {
|
||||
const uid = useUID();
|
||||
|
||||
return (
|
||||
<div className="form-group">
|
||||
<div className="custom-control custom-checkbox ">
|
||||
<div className="mb-3 form-check">
|
||||
<input
|
||||
className="custom-control-input"
|
||||
className="form-check-input"
|
||||
type="checkbox"
|
||||
id={uid}
|
||||
disabled={disabled}
|
||||
{...props}
|
||||
/>
|
||||
<label className="custom-control-label" htmlFor={uid}>
|
||||
<label className="form-check-label" htmlFor={uid}>
|
||||
{label}
|
||||
{helpText && (
|
||||
<small className="form-text text-muted">
|
||||
{helpText}
|
||||
</small>
|
||||
)}
|
||||
</label>
|
||||
{helpText && (
|
||||
<div className="form-text">
|
||||
<small>{helpText}</small>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -6,7 +6,9 @@
|
||||
*/
|
||||
|
||||
import React, { useState, useRef } from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { Input } from "./Input";
|
||||
|
||||
CopyInput.propTypes = {
|
||||
|
@ -6,9 +6,10 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import moment from "moment/moment";
|
||||
import PropTypes from "prop-types";
|
||||
import Datetime from "react-datetime";
|
||||
import moment from "moment/moment";
|
||||
import "react-datetime/css/react-datetime.css";
|
||||
import "./DataTimeInput.css";
|
||||
|
||||
@ -46,13 +47,13 @@ export function DataTimeInput({
|
||||
children,
|
||||
...props
|
||||
}) {
|
||||
function renderInput(datetimeProps) {
|
||||
const renderInput = (datetimeProps) => {
|
||||
return (
|
||||
<Input {...props} {...datetimeProps}>
|
||||
{children}
|
||||
</Input>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<Datetime
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
DownloadButton.propTypes = {
|
||||
|
@ -6,11 +6,14 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { Input } from "./Input";
|
||||
|
||||
export const EmailInput = ({ ...props }) => <Input type="email" {...props} />;
|
||||
export function EmailInput({ ...props }) {
|
||||
return <Input type="email" {...props} />;
|
||||
}
|
||||
|
||||
EmailInput.propTypes = {
|
||||
/** Field label. */
|
||||
|
@ -8,6 +8,7 @@
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { Input } from "./Input";
|
||||
|
||||
FileInput.propTypes = {
|
||||
|
@ -6,11 +6,12 @@
|
||||
*/
|
||||
|
||||
import React, { forwardRef } from "react";
|
||||
import { useUID } from "react-uid";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
import { useUID } from "react-uid";
|
||||
|
||||
/** Base bootstrap input component. */
|
||||
export const Input = forwardRef(
|
||||
const Input = forwardRef(
|
||||
(
|
||||
{
|
||||
type,
|
||||
@ -27,18 +28,21 @@ export const Input = forwardRef(
|
||||
) => {
|
||||
const uid = useUID();
|
||||
|
||||
const inputClassName = `form-control ${className || ""} ${
|
||||
const inputClassName = `${className || ""} ${
|
||||
error ? "is-invalid" : ""
|
||||
}`.trim();
|
||||
|
||||
return (
|
||||
<div className="form-group">
|
||||
<label className={labelClassName} htmlFor={uid}>
|
||||
<div className="mb-3">
|
||||
<label
|
||||
className={`form-label ${labelClassName || ""}`.trim()}
|
||||
htmlFor={uid}
|
||||
>
|
||||
{label}
|
||||
</label>
|
||||
<div className={`input-group ${groupClassName || ""}`.trim()}>
|
||||
<input
|
||||
className={inputClassName}
|
||||
className={`form-control ${inputClassName}`.trim()}
|
||||
type={type}
|
||||
id={uid}
|
||||
ref={ref}
|
||||
@ -46,10 +50,12 @@ export const Input = forwardRef(
|
||||
/>
|
||||
{children}
|
||||
</div>
|
||||
{error ? <div className="invalid-feedback">{error}</div> : null}
|
||||
{helpText ? (
|
||||
<small className="form-text text-muted">{helpText}</small>
|
||||
) : null}
|
||||
{error && <div className="invalid-feedback">{error}</div>}
|
||||
{helpText && (
|
||||
<div className="form-text">
|
||||
<small>{helpText}</small>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@ -68,3 +74,5 @@ Input.propTypes = {
|
||||
labelClassName: PropTypes.string,
|
||||
groupClassName: PropTypes.string,
|
||||
};
|
||||
|
||||
export { Input };
|
||||
|
@ -6,10 +6,11 @@
|
||||
*/
|
||||
|
||||
import React, { useRef, useEffect } from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { Portal } from "../utils/Portal";
|
||||
import { useClickOutside } from "../utils/hooks";
|
||||
import { Portal } from "../utils/Portal";
|
||||
import "./Modal.css";
|
||||
|
||||
Modal.propTypes = {
|
||||
@ -92,11 +93,10 @@ export function ModalHeader({ setShown, title }) {
|
||||
<h5 className="modal-title">{title}</h5>
|
||||
<button
|
||||
type="button"
|
||||
className="close"
|
||||
className="btn-close"
|
||||
onClick={() => setShown(false)}
|
||||
>
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
aria-label={_("Close")}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -6,10 +6,11 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { useConditionalTimeout } from "../utils/hooks";
|
||||
import { Input } from "./Input";
|
||||
import { useConditionalTimeout } from "../utils/hooks";
|
||||
import "./NumberInput.css";
|
||||
|
||||
NumberInput.propTypes = {
|
||||
@ -23,7 +24,7 @@ NumberInput.propTypes = {
|
||||
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
||||
/** Function called when value changes. */
|
||||
onChange: PropTypes.func.isRequired,
|
||||
/** Additional description dispaled to the right of input value. */
|
||||
/** Additional description displayed to the right of input value. */
|
||||
inlineText: PropTypes.string,
|
||||
};
|
||||
|
||||
@ -49,8 +50,9 @@ export function NumberInput({ onChange, inlineText, value, ...props }) {
|
||||
|
||||
return (
|
||||
<Input type="number" onChange={onChange} value={value} {...props}>
|
||||
<div className="input-group-append">
|
||||
{inlineText && <p className="input-group-text">{inlineText}</p>}
|
||||
{inlineText && (
|
||||
<span className="input-group-text">{inlineText}</span>
|
||||
)}
|
||||
<button
|
||||
type="button"
|
||||
className="btn btn-outline-secondary"
|
||||
@ -69,7 +71,6 @@ export function NumberInput({ onChange, inlineText, value, ...props }) {
|
||||
>
|
||||
<i className="fas fa-minus" />
|
||||
</button>
|
||||
</div>
|
||||
</Input>
|
||||
);
|
||||
}
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import React, { useState } from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { Input } from "./Input";
|
||||
@ -34,8 +35,7 @@ export function PasswordInput({ withEye, newPass, ...props }) {
|
||||
autoComplete={newPass ? "new-password" : "current-password"}
|
||||
{...props}
|
||||
>
|
||||
{withEye ? (
|
||||
<div className="input-group-append">
|
||||
{withEye && (
|
||||
<button
|
||||
type="button"
|
||||
className="input-group-text"
|
||||
@ -45,13 +45,10 @@ export function PasswordInput({ withEye, newPass, ...props }) {
|
||||
}}
|
||||
>
|
||||
<i
|
||||
className={`fa ${
|
||||
isHidden ? "fa-eye" : "fa-eye-slash"
|
||||
}`}
|
||||
className={`fa ${isHidden ? "fa-eye" : "fa-eye-slash"}`}
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
) : null}
|
||||
)}
|
||||
</Input>
|
||||
);
|
||||
}
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
import { useUID } from "react-uid";
|
||||
|
||||
@ -17,7 +18,7 @@ RadioSet.propTypes = {
|
||||
/** Choices . */
|
||||
choices: PropTypes.arrayOf(
|
||||
PropTypes.shape({
|
||||
/** Choice lable . */
|
||||
/** Choice label . */
|
||||
label: PropTypes.oneOfType([
|
||||
PropTypes.string,
|
||||
PropTypes.element,
|
||||
@ -64,7 +65,7 @@ export function RadioSet({
|
||||
});
|
||||
|
||||
return (
|
||||
<div className="form-group">
|
||||
<div className="mb-3">
|
||||
{label && (
|
||||
<label htmlFor={uid} className="d-block">
|
||||
{label}
|
||||
@ -72,7 +73,9 @@ export function RadioSet({
|
||||
)}
|
||||
{radios}
|
||||
{helpText && (
|
||||
<small className="form-text text-muted">{helpText}</small>
|
||||
<div className="form-text">
|
||||
<small>{helpText}</small>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
@ -92,27 +95,25 @@ Radio.propTypes = {
|
||||
|
||||
export function Radio({ label, id, helpText, inline, ...props }) {
|
||||
return (
|
||||
<>
|
||||
<div
|
||||
className={`custom-control custom-radio ${
|
||||
inline ? "custom-control-inline" : ""
|
||||
className={`mb-2 ${
|
||||
inline ? "form-check form-check-inline" : ""
|
||||
}`.trim()}
|
||||
>
|
||||
<input
|
||||
id={id}
|
||||
className="custom-control-input"
|
||||
className="form-check-input me-2"
|
||||
type="radio"
|
||||
{...props}
|
||||
/>
|
||||
<label className="custom-control-label" htmlFor={id}>
|
||||
<label className="form-check-label" htmlFor={id}>
|
||||
{label}
|
||||
</label>
|
||||
{helpText && (
|
||||
<small className="form-text text-muted mt-0 mb-3">
|
||||
{helpText}
|
||||
</small>
|
||||
)}
|
||||
<div className="form-text">
|
||||
<small>{helpText}</small>
|
||||
</div>
|
||||
)}
|
||||
</label>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
import { useUID } from "react-uid";
|
||||
|
||||
@ -30,14 +31,18 @@ export function Select({ label, choices, helpText, ...props }) {
|
||||
));
|
||||
|
||||
return (
|
||||
<div className="form-group">
|
||||
<label htmlFor={uid}>{label}</label>
|
||||
<select className="custom-select" id={uid} {...props}>
|
||||
<div className="mb-3">
|
||||
<label className="form-label" htmlFor={uid}>
|
||||
{label}
|
||||
</label>
|
||||
<select className="form-select" id={uid} {...props}>
|
||||
{options}
|
||||
</select>
|
||||
{helpText ? (
|
||||
<small className="form-text text-muted">{helpText}</small>
|
||||
) : null}
|
||||
{helpText && (
|
||||
<div className="form-text">
|
||||
<small>{helpText}</small>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -1,3 +1,11 @@
|
||||
.spinner-fs-wrapper {
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
z-index: 1101; /* increase z-index by 1 to ensure it's on top of spinner-fs-background */
|
||||
}
|
||||
|
||||
.spinner-wrapper .spinner-border {
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
@ -7,10 +15,8 @@
|
||||
.spinner-fs-background {
|
||||
background-color: rgba(2, 2, 2, 0.5);
|
||||
color: rgb(230, 230, 230);
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -31,3 +37,7 @@
|
||||
.spinner-fs-wrapper .spinner-text {
|
||||
margin: 1rem;
|
||||
}
|
||||
|
||||
.spinner-border-sm {
|
||||
min-width: 16px;
|
||||
}
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import "./Spinner.css";
|
||||
@ -16,7 +17,7 @@ Spinner.propTypes = {
|
||||
PropTypes.arrayOf(PropTypes.node),
|
||||
PropTypes.node,
|
||||
]),
|
||||
/** Render component with full-screen mode (using apropriate `.css` styles) */
|
||||
/** Render component with full-screen mode (using appropriate `.css` styles) */
|
||||
fullScreen: PropTypes.bool.isRequired,
|
||||
className: PropTypes.string,
|
||||
};
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
import { useUID } from "react-uid";
|
||||
|
||||
@ -22,28 +23,30 @@ Switch.propTypes = {
|
||||
|
||||
export function Switch({ label, helpText, switchHeading, ...props }) {
|
||||
const uid = useUID();
|
||||
|
||||
return (
|
||||
<div className={`form-group ${switchHeading ? "switch" : ""}`.trim()}>
|
||||
<div
|
||||
className={`custom-control custom-switch ${
|
||||
!helpText ? "custom-control-inline" : ""
|
||||
} ${switchHeading ? "switch-heading" : ""}`.trim()}
|
||||
className={`form-check form-switch mb-3 ${
|
||||
switchHeading ? "d-flex align-items-center" : null
|
||||
}`.trim()}
|
||||
>
|
||||
<input
|
||||
type="checkbox"
|
||||
className="custom-control-input"
|
||||
className={`form-check-input ${
|
||||
switchHeading ? "me-2" : ""
|
||||
}`.trim()}
|
||||
role="switch"
|
||||
id={uid}
|
||||
{...props}
|
||||
/>
|
||||
<label className="custom-control-label" htmlFor={uid}>
|
||||
<label className="form-check-label" htmlFor={uid}>
|
||||
{label}
|
||||
</label>
|
||||
{helpText && (
|
||||
<small className="form-text text-muted mt-0 mb-3">
|
||||
{helpText}
|
||||
</small>
|
||||
)}
|
||||
<div className="form-text">
|
||||
<small>{helpText}</small>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
5
src/bootstrap/Switch.md
Normal file
5
src/bootstrap/Switch.md
Normal file
@ -0,0 +1,5 @@
|
||||
Switch example:
|
||||
|
||||
```js
|
||||
<Switch label="Enable Switch" helpText="Toggle that switch!" />
|
||||
```
|
@ -6,11 +6,14 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { Input } from "./Input";
|
||||
|
||||
export const TextInput = ({ ...props }) => <Input type="text" {...props} />;
|
||||
export function TextInput({ ...props }) {
|
||||
return <Input type="text" {...props} />;
|
||||
}
|
||||
|
||||
TextInput.propTypes = {
|
||||
/** Field label. */
|
||||
|
@ -2,33 +2,38 @@
|
||||
|
||||
exports[`<Button /> Render button correctly 1`] = `
|
||||
<button
|
||||
class="btn btn-primary "
|
||||
class="btn btn-primary d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
Test Button
|
||||
</span>
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`<Button /> Render button with custom classes 1`] = `
|
||||
<button
|
||||
class="btn one two three"
|
||||
class="btn one two three d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
Test Button
|
||||
</span>
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`<Button /> Render button with spinner 1`] = `
|
||||
<button
|
||||
class="btn btn-primary "
|
||||
class="btn btn-primary d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="spinner-border spinner-border-sm"
|
||||
class="spinner-border spinner-border-sm me-1"
|
||||
role="status"
|
||||
/>
|
||||
|
||||
<span>
|
||||
Test Button
|
||||
</span>
|
||||
</button>
|
||||
`;
|
||||
|
@ -2,55 +2,51 @@
|
||||
|
||||
exports[`<Checkbox/> Render checkbox 1`] = `
|
||||
<div
|
||||
class="form-group"
|
||||
class="mb-3 form-check"
|
||||
>
|
||||
<div
|
||||
class="custom-control custom-checkbox "
|
||||
>
|
||||
<input
|
||||
checked=""
|
||||
class="custom-control-input"
|
||||
class="form-check-input"
|
||||
id="1"
|
||||
type="checkbox"
|
||||
/>
|
||||
<label
|
||||
class="custom-control-label"
|
||||
class="form-check-label"
|
||||
for="1"
|
||||
>
|
||||
Test label
|
||||
<small
|
||||
class="form-text text-muted"
|
||||
</label>
|
||||
<div
|
||||
class="form-text"
|
||||
>
|
||||
<small>
|
||||
Some help text
|
||||
</small>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`<Checkbox/> Render uncheked checkbox 1`] = `
|
||||
<div
|
||||
class="form-group"
|
||||
class="mb-3 form-check"
|
||||
>
|
||||
<div
|
||||
class="custom-control custom-checkbox "
|
||||
>
|
||||
<input
|
||||
class="custom-control-input"
|
||||
class="form-check-input"
|
||||
id="1"
|
||||
type="checkbox"
|
||||
/>
|
||||
<label
|
||||
class="custom-control-label"
|
||||
class="form-check-label"
|
||||
for="1"
|
||||
>
|
||||
Test label
|
||||
<small
|
||||
class="form-text text-muted"
|
||||
</label>
|
||||
<div
|
||||
class="form-text"
|
||||
>
|
||||
<small>
|
||||
Some help text
|
||||
</small>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
@ -2,9 +2,10 @@
|
||||
|
||||
exports[`<NumberInput/> Render number input 1`] = `
|
||||
<div
|
||||
class="form-group"
|
||||
class="mb-3"
|
||||
>
|
||||
<label
|
||||
class="form-label"
|
||||
for="1"
|
||||
>
|
||||
Test label
|
||||
@ -18,9 +19,6 @@ exports[`<NumberInput/> Render number input 1`] = `
|
||||
type="number"
|
||||
value="1"
|
||||
/>
|
||||
<div
|
||||
class="input-group-append"
|
||||
>
|
||||
<button
|
||||
aria-label="Increase"
|
||||
class="btn btn-outline-secondary"
|
||||
@ -40,11 +38,12 @@ exports[`<NumberInput/> Render number input 1`] = `
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<small
|
||||
class="form-text text-muted"
|
||||
<div
|
||||
class="form-text"
|
||||
>
|
||||
<small>
|
||||
Some help text
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
@ -2,9 +2,10 @@
|
||||
|
||||
exports[`<PasswordInput/> Render password input 1`] = `
|
||||
<div
|
||||
class="form-group"
|
||||
class="mb-3"
|
||||
>
|
||||
<label
|
||||
class="form-label"
|
||||
for="1"
|
||||
>
|
||||
Test label
|
||||
@ -20,10 +21,12 @@ exports[`<PasswordInput/> Render password input 1`] = `
|
||||
value="Some password"
|
||||
/>
|
||||
</div>
|
||||
<small
|
||||
class="form-text text-muted"
|
||||
<div
|
||||
class="form-text"
|
||||
>
|
||||
<small>
|
||||
Some help text
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
exports[`<RadioSet/> Render radio set 1`] = `
|
||||
<div
|
||||
class="form-group"
|
||||
class="mb-3"
|
||||
>
|
||||
<label
|
||||
class="d-block"
|
||||
@ -11,61 +11,63 @@ exports[`<RadioSet/> Render radio set 1`] = `
|
||||
Radios set label
|
||||
</label>
|
||||
<div
|
||||
class="custom-control custom-radio"
|
||||
class="mb-2"
|
||||
>
|
||||
<input
|
||||
checked=""
|
||||
class="custom-control-input"
|
||||
class="form-check-input me-2"
|
||||
id="test_name-0"
|
||||
name="test_name"
|
||||
type="radio"
|
||||
value="value"
|
||||
/>
|
||||
<label
|
||||
class="custom-control-label"
|
||||
class="form-check-label"
|
||||
for="test_name-0"
|
||||
>
|
||||
label
|
||||
</label>
|
||||
</div>
|
||||
<div
|
||||
class="custom-control custom-radio"
|
||||
class="mb-2"
|
||||
>
|
||||
<input
|
||||
class="custom-control-input"
|
||||
class="form-check-input me-2"
|
||||
id="test_name-1"
|
||||
name="test_name"
|
||||
type="radio"
|
||||
value="another value"
|
||||
/>
|
||||
<label
|
||||
class="custom-control-label"
|
||||
class="form-check-label"
|
||||
for="test_name-1"
|
||||
>
|
||||
another label
|
||||
</label>
|
||||
</div>
|
||||
<div
|
||||
class="custom-control custom-radio"
|
||||
class="mb-2"
|
||||
>
|
||||
<input
|
||||
class="custom-control-input"
|
||||
class="form-check-input me-2"
|
||||
id="test_name-2"
|
||||
name="test_name"
|
||||
type="radio"
|
||||
value="another on value"
|
||||
/>
|
||||
<label
|
||||
class="custom-control-label"
|
||||
class="form-check-label"
|
||||
for="test_name-2"
|
||||
>
|
||||
another one label
|
||||
</label>
|
||||
</div>
|
||||
<small
|
||||
class="form-text text-muted"
|
||||
<div
|
||||
class="form-text"
|
||||
>
|
||||
<small>
|
||||
Some help text
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
@ -3,15 +3,16 @@
|
||||
exports[`<Select/> Test with snapshot. 1`] = `
|
||||
<div>
|
||||
<div
|
||||
class="form-group"
|
||||
class="mb-3"
|
||||
>
|
||||
<label
|
||||
class="form-label"
|
||||
for="1"
|
||||
>
|
||||
Test label
|
||||
</label>
|
||||
<select
|
||||
class="custom-select"
|
||||
class="form-select"
|
||||
id="1"
|
||||
>
|
||||
<option
|
||||
@ -30,11 +31,13 @@ exports[`<Select/> Test with snapshot. 1`] = `
|
||||
three
|
||||
</option>
|
||||
</select>
|
||||
<small
|
||||
class="form-text text-muted"
|
||||
<div
|
||||
class="form-text"
|
||||
>
|
||||
<small>
|
||||
Help text
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
@ -2,26 +2,25 @@
|
||||
|
||||
exports[`<Switch/> Render switch 1`] = `
|
||||
<div
|
||||
class="form-group"
|
||||
class="form-check form-switch mb-3 null"
|
||||
>
|
||||
<div
|
||||
class="custom-control custom-switch"
|
||||
>
|
||||
<input
|
||||
checked=""
|
||||
class="custom-control-input"
|
||||
class="form-check-input"
|
||||
id="1"
|
||||
role="switch"
|
||||
type="checkbox"
|
||||
/>
|
||||
<label
|
||||
class="custom-control-label"
|
||||
class="form-check-label"
|
||||
for="1"
|
||||
>
|
||||
Test label
|
||||
</label>
|
||||
<small
|
||||
class="form-text text-muted mt-0 mb-3"
|
||||
<div
|
||||
class="form-text"
|
||||
>
|
||||
<small>
|
||||
Some help text
|
||||
</small>
|
||||
</div>
|
||||
@ -30,25 +29,24 @@ exports[`<Switch/> Render switch 1`] = `
|
||||
|
||||
exports[`<Switch/> Render uncheked switch 1`] = `
|
||||
<div
|
||||
class="form-group"
|
||||
class="form-check form-switch mb-3 null"
|
||||
>
|
||||
<div
|
||||
class="custom-control custom-switch"
|
||||
>
|
||||
<input
|
||||
class="custom-control-input"
|
||||
class="form-check-input"
|
||||
id="1"
|
||||
role="switch"
|
||||
type="checkbox"
|
||||
/>
|
||||
<label
|
||||
class="custom-control-label"
|
||||
class="form-check-label"
|
||||
for="1"
|
||||
>
|
||||
Test label
|
||||
</label>
|
||||
<small
|
||||
class="form-text text-muted mt-0 mb-3"
|
||||
<div
|
||||
class="form-text"
|
||||
>
|
||||
<small>
|
||||
Some help text
|
||||
</small>
|
||||
</div>
|
||||
|
@ -2,9 +2,10 @@
|
||||
|
||||
exports[`<TextInput/> Render text input 1`] = `
|
||||
<div
|
||||
class="form-group"
|
||||
class="mb-3"
|
||||
>
|
||||
<label
|
||||
class="form-label"
|
||||
for="1"
|
||||
>
|
||||
Test label
|
||||
@ -19,10 +20,12 @@ exports[`<TextInput/> Render text input 1`] = `
|
||||
value="Some text"
|
||||
/>
|
||||
</div>
|
||||
<small
|
||||
class="form-text text-muted"
|
||||
<div
|
||||
class="form-text"
|
||||
>
|
||||
<small>
|
||||
Some help text
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
@ -6,15 +6,15 @@
|
||||
*/
|
||||
|
||||
import React, { useState, useEffect } from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { useAPIPost } from "../api/hooks";
|
||||
import { API_STATE } from "../api/utils";
|
||||
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";
|
||||
import { ForisURLs } from "../utils/forisUrls";
|
||||
|
||||
export function RebootButton(props) {
|
||||
const [triggered, setTriggered] = useState(false);
|
||||
|
@ -6,14 +6,15 @@
|
||||
*/
|
||||
|
||||
import React, { useEffect, useState } from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { Button } from "../../bootstrap/Button";
|
||||
import { useAlert } from "../../alertContext/AlertContext";
|
||||
import { ALERT_TYPES } from "../../bootstrap/Alert";
|
||||
import { useAPIPost } from "../../api/hooks";
|
||||
import { API_STATE } from "../../api/utils";
|
||||
import { ALERT_TYPES } from "../../bootstrap/Alert";
|
||||
import { Button } from "../../bootstrap/Button";
|
||||
import { formFieldsSize } from "../../bootstrap/constants";
|
||||
import { useAlert } from "../../context/alertContext/AlertContext";
|
||||
|
||||
ResetWiFiSettings.propTypes = {
|
||||
ws: PropTypes.object.isRequired,
|
||||
@ -58,7 +59,7 @@ export function ResetWiFiSettings({ ws, endpoint }) {
|
||||
"If a number of wireless cards doesn't match, you may try to reset the Wi-Fi settings. Note that this will remove the current Wi-Fi configuration and restore the default values."
|
||||
)}
|
||||
</p>
|
||||
<div className="text-right">
|
||||
<div className="text-end">
|
||||
<Button
|
||||
className="btn-primary"
|
||||
forisFormSize
|
||||
|
@ -1,21 +1,22 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
import { Switch } from "../../bootstrap/Switch";
|
||||
import { CheckBox } from "../../bootstrap/CheckBox";
|
||||
|
||||
import { HELP_TEXTS, HTMODES, HWMODES, ENCRYPTIONMODES } from "./constants";
|
||||
import WifiGuestForm from "./WiFiGuestForm";
|
||||
import WiFiQRCode from "./WiFiQRCode";
|
||||
import { PasswordInput } from "../../bootstrap/PasswordInput";
|
||||
import { RadioSet } from "../../bootstrap/RadioSet";
|
||||
import { Select } from "../../bootstrap/Select";
|
||||
import { Switch } from "../../bootstrap/Switch";
|
||||
import { TextInput } from "../../bootstrap/TextInput";
|
||||
import WiFiQRCode from "./WiFiQRCode";
|
||||
import WifiGuestForm from "./WiFiGuestForm";
|
||||
import { HELP_TEXTS, HTMODES, HWMODES, ENCRYPTIONMODES } from "./constants";
|
||||
|
||||
WiFiForm.propTypes = {
|
||||
formData: PropTypes.shape({ devices: PropTypes.arrayOf(PropTypes.object) })
|
||||
@ -65,6 +66,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,
|
||||
@ -92,7 +94,7 @@ function DeviceForm({
|
||||
return (
|
||||
<>
|
||||
<Switch
|
||||
label={<h2>{_(`Wi-Fi ${deviceID + 1}`)}</h2>}
|
||||
label={<h2 className="mb-0">{_(`Wi-Fi ${deviceID + 1}`)}</h2>}
|
||||
checked={formData.enabled}
|
||||
onChange={setFormValue((value) => ({
|
||||
devices: {
|
||||
@ -102,7 +104,7 @@ function DeviceForm({
|
||||
switchHeading
|
||||
{...props}
|
||||
/>
|
||||
{formData.enabled ? (
|
||||
{formData.enabled && (
|
||||
<>
|
||||
<TextInput
|
||||
label="SSID"
|
||||
@ -119,12 +121,10 @@ function DeviceForm({
|
||||
}))}
|
||||
{...props}
|
||||
>
|
||||
<div className="input-group-append">
|
||||
<WiFiQRCode
|
||||
SSID={formData.SSID}
|
||||
password={formData.password}
|
||||
/>
|
||||
</div>
|
||||
</TextInput>
|
||||
|
||||
<PasswordInput
|
||||
@ -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 />}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
@ -6,13 +6,14 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { TextInput } from "../../bootstrap/TextInput";
|
||||
import { Switch } from "../../bootstrap/Switch";
|
||||
import { PasswordInput } from "../../bootstrap/PasswordInput";
|
||||
import WiFiQRCode from "./WiFiQRCode";
|
||||
import { HELP_TEXTS } from "./constants";
|
||||
import WiFiQRCode from "./WiFiQRCode";
|
||||
import { PasswordInput } from "../../bootstrap/PasswordInput";
|
||||
import { Switch } from "../../bootstrap/Switch";
|
||||
import { TextInput } from "../../bootstrap/TextInput";
|
||||
|
||||
WifiGuestForm.propTypes = {
|
||||
formData: PropTypes.shape({
|
||||
|
@ -6,10 +6,11 @@
|
||||
*/
|
||||
|
||||
import React, { useState } from "react";
|
||||
import QRCode from "qrcode.react";
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { ForisURLs } from "../../utils/forisUrls";
|
||||
import PropTypes from "prop-types";
|
||||
import QRCode from "qrcode.react";
|
||||
|
||||
import { createAndDownloadPdf, toQRCodeContent } from "./qrCodeHelpers";
|
||||
import { Button } from "../../bootstrap/Button";
|
||||
import {
|
||||
Modal,
|
||||
@ -17,7 +18,7 @@ import {
|
||||
ModalFooter,
|
||||
ModalHeader,
|
||||
} from "../../bootstrap/Modal";
|
||||
import { createAndDownloadPdf, toQRCodeContent } from "./qrCodeHelpers";
|
||||
import { ForisURLs } from "../../utils/forisUrls";
|
||||
|
||||
WiFiQRCode.propTypes = {
|
||||
SSID: PropTypes.string.isRequired,
|
||||
@ -87,7 +88,7 @@ function QRCodeModal({ shown, setShown, SSID, password }) {
|
||||
createAndDownloadPdf(SSID, password);
|
||||
}}
|
||||
>
|
||||
<i className="fas fa-arrow-down mr-2" />
|
||||
<i className="fas fa-file-download me-2" />
|
||||
{_("Download PDF")}
|
||||
</Button>
|
||||
</ModalFooter>
|
||||
|
@ -6,11 +6,12 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { ForisForm } from "../../form/components/ForisForm";
|
||||
import WiFiForm from "./WiFiForm";
|
||||
import { ResetWiFiSettings } from "./ResetWiFiSettings";
|
||||
import WiFiForm from "./WiFiForm";
|
||||
import { ForisForm } from "../../form/components/ForisForm";
|
||||
|
||||
WiFiSettings.propTypes = {
|
||||
ws: PropTypes.object.isRequired,
|
||||
@ -59,6 +60,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;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -25,15 +25,10 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
||||
Warning!
|
||||
</h5>
|
||||
<button
|
||||
class="close"
|
||||
aria-label="Close"
|
||||
class="btn-close"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
>
|
||||
×
|
||||
</span>
|
||||
</button>
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="modal-body"
|
||||
@ -46,16 +41,20 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
||||
class="modal-footer"
|
||||
>
|
||||
<button
|
||||
class="btn btn-primary "
|
||||
class="btn btn-primary d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
Cancel
|
||||
</span>
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-danger"
|
||||
class="btn btn-danger d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
Confirm reboot
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -63,10 +62,12 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
||||
</div>
|
||||
</div>
|
||||
<button
|
||||
class="btn btn-danger"
|
||||
class="btn btn-danger d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
Reboot
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
@ -77,10 +78,12 @@ exports[`<RebootButton/> Render. 1`] = `
|
||||
id="modal-container"
|
||||
/>
|
||||
<button
|
||||
class="btn btn-danger"
|
||||
class="btn btn-danger d-inline-flex justify-content-center align-items-center"
|
||||
type="button"
|
||||
>
|
||||
<span>
|
||||
Reboot
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
|
@ -6,10 +6,11 @@
|
||||
*/
|
||||
|
||||
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([
|
@ -48,7 +48,7 @@ describe("AlertContext", () => {
|
||||
// Alert is present
|
||||
expect(getByText(componentContainer, "Alert content")).toBeDefined();
|
||||
|
||||
fireEvent.click(componentContainer.querySelector(".close"));
|
||||
fireEvent.click(componentContainer.querySelector(".btn-close"));
|
||||
// Alert is gone
|
||||
expect(queryByText(componentContainer, "Alert content")).toBeNull();
|
||||
});
|
@ -6,14 +6,13 @@ exports[`AlertContext should render alert 1`] = `
|
||||
id="alert-container"
|
||||
>
|
||||
<div
|
||||
class="alert alert-dismissible alert-danger"
|
||||
class="alert alert-danger alert-dismissible"
|
||||
>
|
||||
<button
|
||||
class="close"
|
||||
aria-label="Close"
|
||||
class="btn-close"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</button>
|
||||
/>
|
||||
Alert content
|
||||
</div>
|
||||
</div>
|
57
src/context/customizationContext/CustomizationContext.js
Normal file
57
src/context/customizationContext/CustomizationContext.js
Normal 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 { Spinner } from "../../bootstrap/Spinner";
|
||||
import { ForisURLs } from "../../utils/forisUrls";
|
||||
|
||||
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 };
|
3
src/context/customizationContext/CustomizationContext.md
Normal file
3
src/context/customizationContext/CustomizationContext.md
Normal 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.
|
@ -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();
|
||||
});
|
||||
});
|
@ -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>
|
||||
`;
|
@ -3,17 +3,18 @@
|
||||
exports[`<SubmitButton/> Render load 1`] = `
|
||||
<div>
|
||||
<button
|
||||
class="btn btn-primary col-sm-12 col-md-3 col-lg-2"
|
||||
class="btn btn-primary col-12 col-md-3 col-lg-2 d-inline-flex justify-content-center align-items-center"
|
||||
disabled=""
|
||||
type="submit"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="spinner-border spinner-border-sm"
|
||||
class="spinner-border spinner-border-sm me-1"
|
||||
role="status"
|
||||
/>
|
||||
|
||||
<span>
|
||||
Load settings
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
@ -21,10 +22,12 @@ exports[`<SubmitButton/> Render load 1`] = `
|
||||
exports[`<SubmitButton/> Render ready 1`] = `
|
||||
<div>
|
||||
<button
|
||||
class="btn btn-primary col-sm-12 col-md-3 col-lg-2"
|
||||
class="btn btn-primary col-12 col-md-3 col-lg-2 d-inline-flex justify-content-center align-items-center"
|
||||
type="submit"
|
||||
>
|
||||
<span>
|
||||
Save
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
@ -32,17 +35,18 @@ exports[`<SubmitButton/> Render ready 1`] = `
|
||||
exports[`<SubmitButton/> Render saving 1`] = `
|
||||
<div>
|
||||
<button
|
||||
class="btn btn-primary col-sm-12 col-md-3 col-lg-2"
|
||||
class="btn btn-primary col-12 col-md-3 col-lg-2 d-inline-flex justify-content-center align-items-center"
|
||||
disabled=""
|
||||
type="submit"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="spinner-border spinner-border-sm"
|
||||
class="spinner-border spinner-border-sm me-1"
|
||||
role="status"
|
||||
/>
|
||||
|
||||
<span>
|
||||
Updating
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
|
@ -6,19 +6,19 @@
|
||||
*/
|
||||
|
||||
import React, { useEffect } from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
import { Prompt } from "react-router-dom";
|
||||
|
||||
import { ALERT_TYPES } from "../../bootstrap/Alert";
|
||||
import { STATES as SUBMIT_BUTTON_STATES, SubmitButton } from "./SubmitButton";
|
||||
import { useAPIPost } from "../../api/hooks";
|
||||
import { API_STATE } from "../../api/utils";
|
||||
import { ALERT_TYPES } from "../../bootstrap/Alert";
|
||||
import { formFieldsSize } from "../../bootstrap/constants";
|
||||
import { Spinner } from "../../bootstrap/Spinner";
|
||||
import { useAlert } from "../../alertContext/AlertContext";
|
||||
import { useAPIPost } from "../../api/hooks";
|
||||
|
||||
import { useForisModule, useForm } from "../hooks";
|
||||
import { STATES as SUBMIT_BUTTON_STATES, SubmitButton } from "./SubmitButton";
|
||||
import { useAlert } from "../../context/alertContext/AlertContext";
|
||||
import { ErrorMessage } from "../../utils/ErrorMessage";
|
||||
import { useForisModule, useForm } from "../hooks";
|
||||
|
||||
ForisForm.propTypes = {
|
||||
/** Optional WebSocket object. See `scr/common/WebSockets.js`.
|
||||
@ -190,7 +190,7 @@ export function ForisForm({
|
||||
<Prompt message={getMessageOnLeavingPage} />
|
||||
<form onSubmit={onSubmit} ref={formReference}>
|
||||
{childrenWithFormProps}
|
||||
<div className="text-right">
|
||||
<div className="text-end">
|
||||
<SubmitButton
|
||||
state={getSubmitButtonState()}
|
||||
disabled={submitButtonIsDisabled}
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { Button } from "../../bootstrap/Button";
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import { useCallback, useEffect, useReducer } from "react";
|
||||
|
||||
import update from "immutability-helper";
|
||||
|
||||
import { useAPIGet } from "../api/hooks";
|
||||
|
13
src/index.js
13
src/index.js
@ -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";
|
||||
|
@ -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 (
|
||||
<CustomizationContextMock>
|
||||
<AlertContextMock>
|
||||
<StaticRouter>
|
||||
<UIDReset>{children}</UIDReset>
|
||||
</StaticRouter>
|
||||
</AlertContextMock>
|
||||
</CustomizationContextMock>
|
||||
);
|
||||
}
|
||||
|
||||
|
34
src/testUtils/cutomizationContextMock.js
Normal file
34
src/testUtils/cutomizationContextMock.js
Normal 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 };
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import React from "react";
|
||||
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
ErrorMessage.propTypes = {
|
||||
|
@ -7,12 +7,13 @@
|
||||
|
||||
import React from "react";
|
||||
|
||||
import { Spinner } from "../bootstrap/Spinner";
|
||||
import { API_STATE } from "../api/utils";
|
||||
import { ErrorMessage } from "./ErrorMessage";
|
||||
import { API_STATE } from "../api/utils";
|
||||
import { Spinner } from "../bootstrap/Spinner";
|
||||
|
||||
function withEither(conditionalFn, Either) {
|
||||
return (Component) => (props) => {
|
||||
return (Component) =>
|
||||
function (props) {
|
||||
if (conditionalFn(props)) {
|
||||
return <Either {...props} />;
|
||||
}
|
||||
|
@ -36,5 +36,6 @@ export const ForisURLs = {
|
||||
luci: "/cgi-bin/luci",
|
||||
|
||||
// API
|
||||
about: `${REFORIS_API_URL_PREFIX}/about`,
|
||||
reboot: `${REFORIS_API_URL_PREFIX}/reboot`,
|
||||
};
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
|
||||
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||
*
|
||||
* This is free software, licensed under the GNU General Public License v3.
|
||||
* See /LICENSE for more information.
|
||||
|
@ -23,12 +23,15 @@ export const ERROR_MESSAGES = {
|
||||
const REs = {
|
||||
IPv4: /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
|
||||
IPv6: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,
|
||||
IPv6Prefix: /^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))$/,
|
||||
IPv6Prefix:
|
||||
/^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))$/,
|
||||
domain: /^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/,
|
||||
hostname: /^[a-z\d]([a-z\d-]{0,61}[a-z\d])?(\.[a-z\d]([a-z\d-]{0,61}[a-z\d])?)*$/i,
|
||||
hostname:
|
||||
/^[a-z\d]([a-z\d-]{0,61}[a-z\d])?(\.[a-z\d]([a-z\d-]{0,61}[a-z\d])?)*$/i,
|
||||
DUID: /^([0-9a-fA-F]{2}){4}([0-9a-fA-F]{2})*$/,
|
||||
MAC: /^([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}$/,
|
||||
MultipleEmails: /^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+ *)( *, *[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+ *)*$/,
|
||||
MultipleEmails:
|
||||
/^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+ *)( *, *[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+ *)*$/,
|
||||
};
|
||||
|
||||
const createValidator = (fieldType) => (value) => {
|
||||
|
@ -1,23 +1,36 @@
|
||||
/*
|
||||
* 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: "Components",
|
||||
description: "Set of main components.",
|
||||
sections: [
|
||||
{
|
||||
name: "Foris forms",
|
||||
components: [
|
||||
@ -30,7 +43,19 @@ module.exports = {
|
||||
},
|
||||
{
|
||||
name: "Alert Context",
|
||||
components: ["src/alertContext/AlertContext.js"],
|
||||
components: ["src/context/alertContext/AlertContext.js"],
|
||||
exampleMode: "expand",
|
||||
usageMode: "expand",
|
||||
},
|
||||
],
|
||||
sectionDepth: 1,
|
||||
},
|
||||
|
||||
{
|
||||
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: [
|
||||
|
@ -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: 2022-03-15 22:41+0000\n"
|
||||
"Last-Translator: Koli <lukas.koluch@gmail.com>\n"
|
||||
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
|
||||
"PO-Revision-Date: 2023-11-23 16:03+0000\n"
|
||||
"Last-Translator: Lukas Jelinek <lukas.jelinek@nic.cz>\n"
|
||||
"Language-Team: Czech <https://hosted.weblate.org/projects/turris/foris-js/cs/"
|
||||
">\n"
|
||||
"Language: cs\n"
|
||||
"Language-Team: Czech <https://hosted.weblate.org/projects/turris/foris-"
|
||||
"js/cs/>\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.2.1-rc\n"
|
||||
"Generated-By: Babel 2.11.0\n"
|
||||
|
||||
#: src/api/utils.js:61
|
||||
msgid "The session is expired. Please log in again."
|
||||
@ -37,11 +38,11 @@ msgstr "Došlo k neznámé chybě v aplikačním programovém rozhraní."
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
msgstr "Zkopírováno!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Kopírovat"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
@ -61,7 +62,7 @@ msgstr "Opravdu chcete router restartovat?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
msgid "Cancel"
|
||||
msgstr "Storno"
|
||||
msgstr "Zrušit"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
@ -78,7 +79,7 @@ msgstr "Nastavení Wi-Fi jsou uvedena do výchozího stavu."
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:55
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:69
|
||||
msgid "Reset Wi-Fi Settings"
|
||||
msgstr "Resetovat nastavení Wi-Fi"
|
||||
msgstr "Reset nastavení Wi-Fi"
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:57
|
||||
msgid ""
|
||||
@ -86,6 +87,9 @@ msgid ""
|
||||
"Fi settings. Note that this will remove the current Wi-Fi configuration "
|
||||
"and restore the default values."
|
||||
msgstr ""
|
||||
"Pokud se počet bezdrátových karet neshoduje, můžete zkusit obnovit nastavení "
|
||||
"Wi-Fi. Je třeba upozornit, že se tím odstraní aktuální konfigurace Wi-Fi a "
|
||||
"obnoví se výchozí hodnoty."
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:95
|
||||
msgid "Wi-Fi ${deviceID + 1}"
|
||||
@ -101,9 +105,8 @@ msgid "Hide SSID"
|
||||
msgstr "Skrýt SSID"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:186
|
||||
#, fuzzy
|
||||
msgid "802.11n/ac/ax mode"
|
||||
msgstr "Režim 802.11n/ac"
|
||||
msgstr "Režim 802.11n/ac/ax"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:199
|
||||
msgid "Channel"
|
||||
@ -113,14 +116,25 @@ 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 "Vypnout 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 ""
|
||||
"Máte-li problémy při připojování k přístupovému bodu Wi-Fi, zkuste vypnout "
|
||||
"Management Frame Protection."
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:262
|
||||
msgid "auto"
|
||||
msgstr "automaticky"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:284
|
||||
#, fuzzy
|
||||
#: src/common/WiFiSettings/WiFiForm.js:303
|
||||
msgid "Custom"
|
||||
msgstr "automaticky"
|
||||
msgstr "Uživatelsky určené"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:42
|
||||
msgid "Enable Guest Wi-Fi"
|
||||
@ -134,31 +148,30 @@ 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
|
||||
#, fuzzy
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:90
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:109
|
||||
msgid "Password must not contain more than 63 symbols"
|
||||
msgstr "Je třeba, aby heslo obsahovalo alespoň 8 znaků"
|
||||
msgstr "Heslo nesmí obsahovat více než 63 znaků"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:9
|
||||
msgid "Disabled"
|
||||
@ -189,24 +202,20 @@ msgid "802.11ac - 160 MHz wide channel"
|
||||
msgstr "802.11ac – kanál šíře 160 MHz"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:16
|
||||
#, fuzzy
|
||||
msgid "802.11ax - 20 MHz wide channel"
|
||||
msgstr "802.11ac – kanál šíře 20 MHz"
|
||||
msgstr "802.11ax – kanál šíře 20 MHz"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:17
|
||||
#, fuzzy
|
||||
msgid "802.11ax - 40 MHz wide channel"
|
||||
msgstr "802.11ac – kanál šíře 40 MHz"
|
||||
msgstr "802.11ax – kanál šíře 40 MHz"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:18
|
||||
#, fuzzy
|
||||
msgid "802.11ax - 80 MHz wide channel"
|
||||
msgstr "802.11ac – kanál šíře 80 MHz"
|
||||
msgstr "802.11ax – kanál šíře 80 MHz"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:19
|
||||
#, fuzzy
|
||||
msgid "802.11ax - 160 MHz wide channel"
|
||||
msgstr "802.11ac – kanál šíře 160 MHz"
|
||||
msgstr "802.11ax – kanál šíře 160 MHz"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:26
|
||||
msgid "WPA3 only"
|
||||
@ -214,7 +223,7 @@ msgstr "pouze WPA3"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:27
|
||||
msgid "WPA3 with WPA2 as fallback (default)"
|
||||
msgstr ""
|
||||
msgstr "WPA3, nouzově WPA2 (výchozí)"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:28
|
||||
msgid "WPA2 only"
|
||||
@ -229,13 +238,8 @@ msgstr ""
|
||||
"problémy."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:34
|
||||
#, fuzzy
|
||||
msgid "WPA2/3 pre-shared key, that is required to connect to the network."
|
||||
msgstr ""
|
||||
"\n"
|
||||
" WPA2 předsdílený klíč, který je vyžadován pro připojení se k "
|
||||
"síti.\n"
|
||||
" "
|
||||
msgstr "Předsdílený klíč WPA2/3, který je vyžadován pro připojení se k síti."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:37
|
||||
msgid "If set, network is not visible when scanning for available networks."
|
||||
@ -244,38 +248,29 @@ msgstr ""
|
||||
"vyhledávat dostupné sítě."
|
||||
|
||||
#: 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"
|
||||
" Pásmo 2,4 GHz je v klientských zařízeních podporováno nejčastěji,"
|
||||
" ale bývá více zarušené. Pásmo 5 GHz je\n"
|
||||
" novější standard a nemusí být podporováno všemi vámi používanými "
|
||||
"zařízeními. Obvykle bývá méně zarušené,\n"
|
||||
" ale signál se hůře šíři uvnitř budov."
|
||||
"Pásmo 2,4 GHz je v klientských zařízeních podporováno nejčastěji, bývá ale "
|
||||
"více zarušené. Pásmo 5 GHz je novější standard a nemusí být podporováno "
|
||||
"všemi vámi používanými zařízeními. Obvykle bývá méně zarušené, signál se ale "
|
||||
"hůře šíří uvnitř budov."
|
||||
|
||||
#: 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"
|
||||
" Změna tohoto upraví režim fungování 802.11n/ac. 802.11n s kanály "
|
||||
"o šíři 40 MHz kanály může pomoci k vyšší\n"
|
||||
" propustnosti, ale je náchylnější na rušení. Pokud nevíte co "
|
||||
"zvolit, použijte výchozí volbu s kanálem šíře\n"
|
||||
" 20 MHz.\n"
|
||||
" "
|
||||
"Změna tohoto parametru upraví režim fungování 802.11n/ac. 802.11n s kanály o "
|
||||
"šíři 40 MHz může pomoci k vyšší propustnosti, je ale náchylnější na rušení. "
|
||||
"Pokud nevíte co zvolit, použijte výchozí volbu s kanálem šíře 20 MHz."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:46
|
||||
#, 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 "
|
||||
@ -283,14 +278,10 @@ msgid ""
|
||||
"router. Parameters of the guest network can be set in the Guest network "
|
||||
"tab."
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Zapíná Wi-Fi pro hosty, která je oddělená od místní sítě (LAN). "
|
||||
"Zařízením připojeným k této síti je umožněn\n"
|
||||
" přístup do Internetu, ale už ne na ostatní zařízení a k rozhraní "
|
||||
"pro nastavování směrovače.\n"
|
||||
" Parametry sítě pro hosty je možné nastavit na panelu „Síť pro "
|
||||
"hosty“.\n"
|
||||
" "
|
||||
"Zapíná Wi-Fi pro hosty, která je oddělená od místní sítě (LAN). Zařízením "
|
||||
"připojeným k této síti je umožněn přístup do Internetu, ale už ne na ostatní "
|
||||
"zařízení a k rozhraní pro nastavování směrovače. Parametry sítě pro hosty je "
|
||||
"možné nastavit na panelu „Síť pro hosty“."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:49
|
||||
msgid ""
|
||||
@ -299,6 +290,10 @@ msgid ""
|
||||
"without WPA3 support require older WPA2. If you experience issues with "
|
||||
"connecting older devices, try to enable WPA2."
|
||||
msgstr ""
|
||||
"Standard WPA3 je nová nejbezpečnější metoda, již se doporučuje používat se "
|
||||
"všemi zařízeními, která ji podporují. Starší zařízení bez podpory WPA3 "
|
||||
"potřebují starší WPA2. Zaznamenáte-li problémy s připojováním starších "
|
||||
"zařízení, zkuste zapnout WPA2."
|
||||
|
||||
#: src/form/components/ForisForm.js:121
|
||||
msgid "Settings saved successfully"
|
||||
@ -343,7 +338,6 @@ msgid "This is not a valid domain name."
|
||||
msgstr "Toto není platné doménové jméno."
|
||||
|
||||
#: src/utils/validations.js:17
|
||||
#, fuzzy
|
||||
msgid "This is not a valid hostname."
|
||||
msgstr "Toto není platné doménové jméno."
|
||||
|
||||
@ -384,4 +378,3 @@ msgstr "Neobsahuje seznam e-mailů oddělených čárkou."
|
||||
#~ "ale, že\n"
|
||||
#~ "se tím odstraní aktuální konfigurace a vrátí se výchozí hodnoty.\n"
|
||||
#~ " "
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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: 2021-09-24 19:38+0000\n"
|
||||
"Last-Translator: CryptKid <CryptKiddie@chaospott.de>\n"
|
||||
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
|
||||
"PO-Revision-Date: 2024-01-04 21:08+0000\n"
|
||||
"Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n"
|
||||
"Language-Team: German <https://hosted.weblate.org/projects/turris/foris-js/"
|
||||
"de/>\n"
|
||||
"Language: de\n"
|
||||
"Language-Team: German <https://hosted.weblate.org/projects/turris/foris-"
|
||||
"js/de/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.4-dev\n"
|
||||
"Generated-By: Babel 2.11.0\n"
|
||||
|
||||
#: src/api/utils.js:61
|
||||
msgid "The session is expired. Please log in again."
|
||||
@ -37,11 +38,11 @@ msgstr "Ein unbekannter API-Fehler ist aufgetreten."
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
msgstr "Kopiert!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Kopieren"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
@ -88,6 +89,9 @@ msgid ""
|
||||
"Fi settings. Note that this will remove the current Wi-Fi configuration "
|
||||
"and restore the default values."
|
||||
msgstr ""
|
||||
"Falls die Anzahl der WLAN-Karten nicht korrekt ist, könnte es helfen, die "
|
||||
"WLAN-Einstellungen zurückzusetzen. Beachten Sie, dass dabei die aktuelle "
|
||||
"WLAN-Konfiguration mit den Werkseinstellungen überschrieben wird."
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:95
|
||||
msgid "Wi-Fi ${deviceID + 1}"
|
||||
@ -103,9 +107,8 @@ msgid "Hide SSID"
|
||||
msgstr "SSID verbergen"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:186
|
||||
#, fuzzy
|
||||
msgid "802.11n/ac/ax mode"
|
||||
msgstr "802.11n/ac Modus"
|
||||
msgstr "802.11n/ac/ax-Modus"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:199
|
||||
msgid "Channel"
|
||||
@ -113,16 +116,27 @@ msgstr "Kanal"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:211
|
||||
msgid "Encryption"
|
||||
msgstr ""
|
||||
msgstr "Verschlüsselung"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:243
|
||||
#: src/common/WiFiSettings/WiFiForm.js:226
|
||||
msgid "Disable Management Frame Protection"
|
||||
msgstr "Management Frame Protection abschalten"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:227
|
||||
msgid ""
|
||||
"In case you have trouble connecting to WiFi Access Point, try disabling "
|
||||
"Management Frame Protection."
|
||||
msgstr ""
|
||||
"Falls Sie beim Verbinden mit dem WiFi-Access-Point Probleme haben, schalten "
|
||||
"Sie testweise die Management Frame Protection ab."
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:262
|
||||
msgid "auto"
|
||||
msgstr "automatisch"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:284
|
||||
#, fuzzy
|
||||
#: src/common/WiFiSettings/WiFiForm.js:303
|
||||
msgid "Custom"
|
||||
msgstr "automatisch"
|
||||
msgstr "Benutzerdefiniert"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:42
|
||||
msgid "Enable Guest Wi-Fi"
|
||||
@ -136,31 +150,30 @@ msgstr "WLAN QR-Code"
|
||||
msgid "Download PDF"
|
||||
msgstr "PDF herunterladen"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:78
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:94
|
||||
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
|
||||
msgid "SSID can't be empty"
|
||||
msgstr "SSID darf nicht leer sein"
|
||||
|
||||
#: 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 bytes"
|
||||
msgstr "SSID darf nicht länger als 32 Symbole sein"
|
||||
msgid "SSID can't be longer than 32 symbols"
|
||||
msgstr "Die SSID darf nicht länger als 32 Zeichen sein"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:84
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:101
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:83
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:100
|
||||
msgid "SSID can't be empty"
|
||||
msgstr "Die SSID darf nicht leer sein"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:85
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:102
|
||||
msgid "SSID can't be longer than 32 bytes"
|
||||
msgstr "Die SSID darf nicht länger als 32 Bytes sein"
|
||||
|
||||
#: 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
|
||||
#, fuzzy
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:90
|
||||
#: src/common/WiFiSettings/WiFiSettings.js:109
|
||||
msgid "Password must not contain more than 63 symbols"
|
||||
msgstr "Das Passwort muss mindestens 8 Zeichen enthalten"
|
||||
msgstr "Das Passwort darf höchstens 63 Zeichen enthalten"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:9
|
||||
msgid "Disabled"
|
||||
@ -187,56 +200,48 @@ msgid "802.11ac - 80 MHz wide channel"
|
||||
msgstr "802.11ac - 80 MHz breiter Kanal"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:15
|
||||
#, fuzzy
|
||||
msgid "802.11ac - 160 MHz wide channel"
|
||||
msgstr "802.11ac - 80 MHz breiter Kanal"
|
||||
msgstr "802.11ac - 160 MHz breiter Kanal"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:16
|
||||
#, fuzzy
|
||||
msgid "802.11ax - 20 MHz wide channel"
|
||||
msgstr "802.11ac - 20 MHz breiter Kanal"
|
||||
msgstr "802.11ax - 20 MHz breiter Kanal"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:17
|
||||
#, fuzzy
|
||||
msgid "802.11ax - 40 MHz wide channel"
|
||||
msgstr "802.11ac - 40 MHz breiter Kanal"
|
||||
msgstr "802.11ax - 40 MHz breiter Kanal"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:18
|
||||
#, fuzzy
|
||||
msgid "802.11ax - 80 MHz wide channel"
|
||||
msgstr "802.11ac - 80 MHz breiter Kanal"
|
||||
msgstr "802.11ax - 80 MHz breiter Kanal"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:19
|
||||
#, fuzzy
|
||||
msgid "802.11ax - 160 MHz wide channel"
|
||||
msgstr "802.11ac - 80 MHz breiter Kanal"
|
||||
msgstr "802.11ax - 160 MHz breiter Kanal"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:26
|
||||
msgid "WPA3 only"
|
||||
msgstr ""
|
||||
msgstr "Nur WPA3"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:27
|
||||
msgid "WPA3 with WPA2 as fallback (default)"
|
||||
msgstr ""
|
||||
msgstr "WPA3 mit WPA2 als Ausweichmöglichkeit (Voreinstellung)"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:28
|
||||
msgid "WPA2 only"
|
||||
msgstr ""
|
||||
msgstr "Nur WPA2"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:31
|
||||
msgid ""
|
||||
"SSID which contains non-standard characters could cause problems on some "
|
||||
"devices."
|
||||
msgstr ""
|
||||
"SSIDs, die nicht standardmäßige Zeichen enthalten, können auf manchen "
|
||||
"Geräten Probleme verursachen."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:34
|
||||
#, fuzzy
|
||||
msgid "WPA2/3 pre-shared key, that is required to connect to the network."
|
||||
msgstr ""
|
||||
"\n"
|
||||
" WPA2 Pre-Shared Key, der für die Verbindung mit dem Netzwerk "
|
||||
"benötigt wird.\n"
|
||||
" "
|
||||
msgstr "WPA2/3 Pre-Shard Key, der zum Verbinden mit dem Netzwerk notwendig ist."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:37
|
||||
msgid "If set, network is not visible when scanning for available networks."
|
||||
@ -245,39 +250,31 @@ msgstr ""
|
||||
"drahtlosen Netzwerke angezeigt."
|
||||
|
||||
#: 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"
|
||||
" Das 2,4 GHz-Band wird stärker von Clients unterstützt, hat aber "
|
||||
"tendenziell mehr Interferenzen. Das 5-GHz-Band ist ein\n"
|
||||
" neuerer Standard und wird möglicherweise nicht von allen Geräten "
|
||||
"unterstützt. Es hat in der Regel weniger Interferenzen, aber das Signal\n"
|
||||
" trägt nicht so gut drinnen."
|
||||
"Das 2,4 GHz-Band wird von allen Geräten unterstützt, ist aber tendenziell "
|
||||
"stärker mit Interferenzen belastet. Das 5-GHz-Band ist ein neuerer Standard, "
|
||||
"der möglicherweise nicht von allen Ihren Geräten unterstützt wird. Es hat in "
|
||||
"der Regel weniger Interferenzen, aber das Signal trägt nicht so gut in "
|
||||
"Innenräumen."
|
||||
|
||||
#: 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"
|
||||
" Ändern Sie diese Option, um den Betriebsmodus 802.11n/ac "
|
||||
"anzupassen. 802.11n mit 40 MHz breiten Kanälen können höhere\n"
|
||||
" durchsatz, kann jedoch zu mehr Interferenzen im Netzwerk führen. "
|
||||
"Wenn Sie nicht wissen, was Sie wählen sollen, verwenden Sie die "
|
||||
"Standardeinstellung\n"
|
||||
" Option mit 20 MHz breitem Kanal.\n"
|
||||
" "
|
||||
"Ändern Sie diese Option, um den 802.11n/ac/ax-Betriebsmodus anzupassen. 40 "
|
||||
"MHz breite Kanäle können bei 802.11n mehr Daten transportieren, jedoch zu "
|
||||
"mehr Interferenzen im Netzwerk führen. Wenn Sie nicht wissen, was Sie wählen "
|
||||
"sollen, verwenden Sie die Voreinstellung mit 20 MHz Kanalbreite."
|
||||
|
||||
#: 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 "
|
||||
@ -285,14 +282,11 @@ msgid ""
|
||||
"router. Parameters of the guest network can be set in the Guest network "
|
||||
"tab."
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Ermöglicht Wi-Fi für Gäste, das vom LAN-Netzwerk getrennt ist. "
|
||||
"Geräte, die mit diesem Netzwerk verbunden sind, dürfen\n"
|
||||
" auf das Internet zugreifen, dürfen aber nicht auf andere Geräte "
|
||||
"und die Konfigurationsschnittstelle des Routers zugreifen.\n"
|
||||
" Die Parameter des Gastnetzwerks können in der Registerkarte "
|
||||
"Gastnetzwerk eingestellt werden.\n"
|
||||
" "
|
||||
"Ermöglicht ein Wi-Fi für Gäste, das vom LAN-Netzwerk getrennt ist. Geräte, "
|
||||
"die mit diesem Netzwerk verbunden sind, dürfen auf das Internet zugreifen, "
|
||||
"nicht jedoch auf andere Geräte oder die Konfigurationsschnittstelle des "
|
||||
"Routers. Die Parameter des Gastnetzwerks können auf der Gastnetzwerk-"
|
||||
"Registerkarte eingestellt werden."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:49
|
||||
msgid ""
|
||||
@ -301,6 +295,11 @@ msgid ""
|
||||
"without WPA3 support require older WPA2. If you experience issues with "
|
||||
"connecting older devices, try to enable WPA2."
|
||||
msgstr ""
|
||||
"Der WPA3-Standard ist die neue Verschlüsselungsmethode mit der besten "
|
||||
"Sicherheit. Er empfiehlt sich für jedes Gerät, das ihn unterstützt, aber "
|
||||
"ältere Geräte, bei denen das noch nicht der Fall ist, müssen auf das ältere "
|
||||
"WPA2 ausweichen. Falls Sie Probleme dabei haben, ältere Geräte mit dem WLAN "
|
||||
"zu verbinden, schalten Sie versuchsweise WPA2 ein."
|
||||
|
||||
#: src/form/components/ForisForm.js:121
|
||||
msgid "Settings saved successfully"
|
||||
@ -309,6 +308,8 @@ msgstr "Einstellungen erfolgreich gespeichert"
|
||||
#: src/form/components/ForisForm.js:183
|
||||
msgid "Changes you made may not be saved. Are you sure you want to leave?"
|
||||
msgstr ""
|
||||
"Änderungen, die Sie vorgenommen haben, werden möglicherweise nicht "
|
||||
"gespeichert. Möchten Sie wirklich gehen?"
|
||||
|
||||
#: src/form/components/SubmitButton.js:31
|
||||
msgid "Updating"
|
||||
@ -324,11 +325,11 @@ msgstr "Speichern"
|
||||
|
||||
#: src/utils/ErrorMessage.js:16
|
||||
msgid "An error occurred while fetching data."
|
||||
msgstr ""
|
||||
msgstr "Beim Abruf der Daten ist ein Fehler aufgetreten."
|
||||
|
||||
#: src/utils/validations.js:13
|
||||
msgid "This is not a valid IPv4 address."
|
||||
msgstr "Dies ist keine gültige IPv4-Adresse."
|
||||
msgstr "Das ist keine gültige IPv4 Adresse."
|
||||
|
||||
#: src/utils/validations.js:14
|
||||
msgid "This is not a valid IPv6 address."
|
||||
@ -343,9 +344,8 @@ msgid "This is not a valid domain name."
|
||||
msgstr "Dies ist kein gültiger Domainname."
|
||||
|
||||
#: src/utils/validations.js:17
|
||||
#, fuzzy
|
||||
msgid "This is not a valid hostname."
|
||||
msgstr "Dies ist kein gültiger Domainname."
|
||||
msgstr "Dies ist kein gültiger Hostname."
|
||||
|
||||
#: src/utils/validations.js:18
|
||||
msgid "This is not a valid DUID."
|
||||
@ -377,4 +377,3 @@ msgstr "Enthält keine Liste von E-Mails, die durch Kommas getrennt sind."
|
||||
#~ "current Wi-Fi configuration and restore the default values.\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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."
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -7,20 +7,22 @@ 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-12-31 23:48+0000\n"
|
||||
"Last-Translator: Anselmo <anselmo@casinadicornia.com>\n"
|
||||
"Language-Team: Italian <https://hosted.weblate.org/projects/turris/foris-js/"
|
||||
"it/>\n"
|
||||
"Language: it\n"
|
||||
"Language-Team: it <LL@li.org>\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"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.15.1-dev\n"
|
||||
"Generated-By: Babel 2.11.0\n"
|
||||
|
||||
#: src/api/utils.js:61
|
||||
msgid "The session is expired. Please log in again."
|
||||
msgstr ""
|
||||
msgstr "Sessione scaduta. Ripetere l'accesso."
|
||||
|
||||
#: src/api/utils.js:66
|
||||
msgid "Timeout error occurred."
|
||||
@ -93,7 +95,7 @@ msgstr ""
|
||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:80
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
msgstr "Password"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:146
|
||||
msgid "Hide SSID"
|
||||
@ -111,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 ""
|
||||
|
||||
@ -131,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 ""
|
||||
|
||||
@ -285,7 +297,7 @@ msgstr ""
|
||||
|
||||
#: src/utils/validations.js:13
|
||||
msgid "This is not a valid IPv4 address."
|
||||
msgstr ""
|
||||
msgstr "Indirizzo IPv4 non valido."
|
||||
|
||||
#: src/utils/validations.js:14
|
||||
msgid "This is not a valid IPv6 address."
|
||||
@ -404,4 +416,3 @@ msgstr ""
|
||||
#~ " default option with 20 MHz wide "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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: 2022-03-10 23:09+0000\n"
|
||||
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
|
||||
"PO-Revision-Date: 2023-03-02 11:40+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"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
"Generated-By: Babel 2.11.0\n"
|
||||
|
||||
#: src/api/utils.js:61
|
||||
msgid "The session is expired. Please log in again."
|
||||
@ -38,11 +39,11 @@ msgstr "Ukjent API-feil."
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
msgstr "Kopiert"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Kopier"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
#, fuzzy
|
||||
@ -120,14 +121,27 @@ msgstr "Kanal"
|
||||
msgid "Encryption"
|
||||
msgstr "Kryptering"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:243
|
||||
#: src/common/WiFiSettings/WiFiForm.js:226
|
||||
#, fuzzy
|
||||
msgid "Disable Management Frame Protection"
|
||||
msgstr "Skru av håndtering av rammebeskyttelse"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:227
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"In case you have trouble connecting to WiFi Access Point, try disabling "
|
||||
"Management Frame Protection."
|
||||
msgstr ""
|
||||
"I fall du har problemer med å koble til Wi-Fi-tilgangspunkt, kan du skru av "
|
||||
"håndtering av rammebeskyttelse."
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:262
|
||||
msgid "auto"
|
||||
msgstr "automatisk"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:284
|
||||
#, fuzzy
|
||||
#: src/common/WiFiSettings/WiFiForm.js:303
|
||||
msgid "Custom"
|
||||
msgstr "automatisk"
|
||||
msgstr "Tilpasset"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:42
|
||||
#, fuzzy
|
||||
@ -142,29 +156,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 +251,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 +291,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 +305,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,4 +393,3 @@ msgstr "Inneholder ikke en kommainndelt liste med e-postadresser."
|
||||
#~ "\n"
|
||||
#~ "gjeldende Wi-Fi-oppsett og tilbakestiller forvalgte verdier.\n"
|
||||
#~ " "
|
||||
|
||||
|
@ -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: 2020-11-29 19:29+0000\n"
|
||||
"Last-Translator: Johan van de Wetering <mail@jvdwetering.nl>\n"
|
||||
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
|
||||
"PO-Revision-Date: 2024-01-04 21:08+0000\n"
|
||||
"Last-Translator: powerburner-nl <peter.mulder.1981@gmail.com>\n"
|
||||
"Language-Team: Dutch <https://hosted.weblate.org/projects/turris/foris-js/nl/"
|
||||
">\n"
|
||||
"Language: nl\n"
|
||||
"Language-Team: Dutch <https://hosted.weblate.org/projects/turris/foris-"
|
||||
"js/nl/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.4-dev\n"
|
||||
"Generated-By: Babel 2.11.0\n"
|
||||
|
||||
#: src/api/utils.js:61
|
||||
msgid "The session is expired. Please log in again."
|
||||
@ -54,19 +55,19 @@ msgstr "Opnieuw opstarten"
|
||||
|
||||
#: src/common/RebootButton.js:66
|
||||
msgid "Warning!"
|
||||
msgstr ""
|
||||
msgstr "Waarschuwing!"
|
||||
|
||||
#: src/common/RebootButton.js:68
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
msgstr "Weet u zeker dat u de router opnieuw wilt opstarten?"
|
||||
|
||||
#: src/common/RebootButton.js:71
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: src/common/RebootButton.js:73
|
||||
msgid "Confirm reboot"
|
||||
msgstr ""
|
||||
msgstr "Opnieuw opstarten bevestigen"
|
||||
|
||||
#: 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 "auto"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:284
|
||||
#: src/common/WiFiSettings/WiFiForm.js:303
|
||||
#, fuzzy
|
||||
msgid "Custom"
|
||||
msgstr "auto"
|
||||
@ -134,28 +145,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 ""
|
||||
|
||||
@ -408,4 +419,3 @@ msgstr "Bevat geen lijst met e-mails gescheiden door komma's."
|
||||
#~ " default option with 20 MHz wide "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -7,18 +7,19 @@ 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: 2023-03-07 16:37+0000\n"
|
||||
"Last-Translator: Arusekk <arek_koz@o2.pl>\n"
|
||||
"Language-Team: Polish <https://hosted.weblate.org/projects/turris/foris-js/"
|
||||
"pl/>\n"
|
||||
"Language: pl\n"
|
||||
"Language-Team: Polish <https://hosted.weblate.org/projects/turris/foris-"
|
||||
"js/pl/>\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && "
|
||||
"(n%100<10 || n%100>=20) ? 1 : 2\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.16.2-dev\n"
|
||||
"Generated-By: Babel 2.11.0\n"
|
||||
|
||||
#: src/api/utils.js:61
|
||||
msgid "The session is expired. Please log in again."
|
||||
@ -50,23 +51,23 @@ 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
|
||||
msgid "Are you sure you want to restart the router?"
|
||||
msgstr ""
|
||||
msgstr "Czy na pewno 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,13 +114,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 ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:262
|
||||
msgid "auto"
|
||||
msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:284
|
||||
#: src/common/WiFiSettings/WiFiForm.js:303
|
||||
msgid "Custom"
|
||||
msgstr ""
|
||||
msgstr "Własny"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiGuestForm.js:42
|
||||
msgid "Enable Guest Wi-Fi"
|
||||
@ -133,34 +144,34 @@ 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 ""
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:9
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
msgstr "Wyłączone"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:10
|
||||
msgid "802.11n - 20 MHz wide channel"
|
||||
@ -406,4 +417,3 @@ msgstr "Nie zawiera listy e-maili oddzielonych przecinkami."
|
||||
#~ " default option with 20 MHz wide "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -7,18 +7,19 @@ 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-03-12 06:58+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"
|
||||
"Language: ru\n"
|
||||
"Language-Team: Russian <https://hosted.weblate.org/projects/turris/foris-"
|
||||
"js/ru/>\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.0\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.15-dev\n"
|
||||
"Generated-By: Babel 2.11.0\n"
|
||||
|
||||
#: src/api/utils.js:61
|
||||
msgid "The session is expired. Please log in again."
|
||||
@ -38,11 +39,11 @@ msgstr "Неизвестная ошибка программного интер
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
msgstr "Скопировано!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Копировать"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
@ -105,9 +106,8 @@ msgid "Hide SSID"
|
||||
msgstr "Скрыть SSID"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:186
|
||||
#, fuzzy
|
||||
msgid "802.11n/ac/ax mode"
|
||||
msgstr "Режим 802.11n/ac"
|
||||
msgstr "Режим 802.11n/ac/ax"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:199
|
||||
msgid "Channel"
|
||||
@ -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 символов"
|
||||
|
||||
@ -227,9 +239,8 @@ msgstr ""
|
||||
"некоторых устройствах."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:34
|
||||
#, fuzzy
|
||||
msgid "WPA2/3 pre-shared key, that is required to connect to the network."
|
||||
msgstr "Общий ключ WPA2, необходимый для подключения к сети."
|
||||
msgstr "Общий ключ WPA2/3, необходимый для подключения к сети."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:37
|
||||
msgid "If set, network is not visible when scanning for available networks."
|
||||
@ -250,17 +261,16 @@ msgstr ""
|
||||
"помещении сигнал проходит не так хорошо."
|
||||
|
||||
#: 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 ""
|
||||
"Измените это, чтобы настроить режим работы 802.11n/ac. 802.11n с каналами"
|
||||
" шириной 40 МГц обеспечивает более высокую пропускную способность, но "
|
||||
"может вызывать больше помех в сети. Если вы не знаете, что выбрать, "
|
||||
"используйте опцию по умолчанию с каналом шириной 20 МГц."
|
||||
"Измените это, чтобы настроить режим работы 802.11n/ac/ax. 802.11n с "
|
||||
"каналами шириной 40 МГц обеспечивает более высокую пропускную "
|
||||
"способность, но может вызывать больше помех в сети. Если вы не знаете, "
|
||||
"что выбрать, используйте опцию по умолчанию с каналом шириной 20 МГц."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:46
|
||||
msgid ""
|
||||
@ -374,4 +384,3 @@ msgstr "Не содержит списка электронных адресов
|
||||
#~ "конфигурации Wi-Fi и восстановлению "
|
||||
#~ "значений по умолчанию.\n"
|
||||
#~ " "
|
||||
|
||||
|
@ -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: 2022-03-17 17:58+0000\n"
|
||||
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
|
||||
"PO-Revision-Date: 2023-01-17 22:51+0000\n"
|
||||
"Last-Translator: Atec <dr.atec@gmail.com>\n"
|
||||
"Language-Team: Slovak <https://hosted.weblate.org/projects/turris/foris-js/"
|
||||
"sk/>\n"
|
||||
"Language: sk\n"
|
||||
"Language-Team: Slovak <https://hosted.weblate.org/projects/turris/foris-"
|
||||
"js/sk/>\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.15.1-dev\n"
|
||||
"Generated-By: Babel 2.11.0\n"
|
||||
|
||||
#: src/api/utils.js:61
|
||||
msgid "The session is expired. Please log in again."
|
||||
@ -37,11 +38,11 @@ msgstr "Nastala neznáma chyba v API."
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
msgstr "Skopírované!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Kopírovať"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
@ -104,9 +105,8 @@ msgid "Hide SSID"
|
||||
msgstr "Skryť SSID"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:186
|
||||
#, fuzzy
|
||||
msgid "802.11n/ac/ax mode"
|
||||
msgstr "802.11 n/ac mód"
|
||||
msgstr "802.11 n/ac/ax mód"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:199
|
||||
msgid "Channel"
|
||||
@ -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"
|
||||
|
||||
@ -226,9 +238,8 @@ msgstr ""
|
||||
"problémy."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:34
|
||||
#, fuzzy
|
||||
msgid "WPA2/3 pre-shared key, that is required to connect to the network."
|
||||
msgstr "WPA2 vopred zdieľaný kľúč, ktorý sa vyžaduje na pripojenie k sieti."
|
||||
msgstr "WPA2/3 vopred zdieľaný kľúč, ktorý sa vyžaduje na pripojenie k sieti."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:37
|
||||
msgid "If set, network is not visible when scanning for available networks."
|
||||
@ -249,15 +260,14 @@ msgstr ""
|
||||
"budov šíri horšie."
|
||||
|
||||
#: 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 ""
|
||||
"Zmenou tejto položky sa nastavuje režim prevádzky 802.11n/ac. Štandard "
|
||||
"802.11n so šírkou kanálov 40 MHz môže priniesť vyššiu priepustnosť, ale "
|
||||
"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."
|
||||
|
||||
@ -370,4 +380,3 @@ msgstr "Neobsahuje zoznam e-mailov oddelených čiarkami."
|
||||
#~ "že sa tým odstráni aktuálna konfigurácia"
|
||||
#~ " a obnovia sa východiskové hodnoty.\n"
|
||||
#~ " "
|
||||
|
||||
|
@ -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: 2021-09-26 03:39+0000\n"
|
||||
"Last-Translator: Kristoffer Grundström "
|
||||
"<swedishsailfishosuser@tutanota.com>\n"
|
||||
"POT-Creation-Date: 2022-12-02 15:54+0100\n"
|
||||
"PO-Revision-Date: 2023-09-22 21:00+0000\n"
|
||||
"Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n"
|
||||
"Language-Team: Swedish <https://hosted.weblate.org/projects/turris/foris-js/"
|
||||
"sv/>\n"
|
||||
"Language: sv\n"
|
||||
"Language-Team: Swedish <https://hosted.weblate.org/projects/turris/foris-"
|
||||
"js/sv/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.1-dev\n"
|
||||
"Generated-By: Babel 2.11.0\n"
|
||||
|
||||
#: src/api/utils.js:61
|
||||
msgid "The session is expired. Please log in again."
|
||||
@ -30,19 +30,19 @@ msgstr ""
|
||||
|
||||
#: src/api/utils.js:69
|
||||
msgid "No response received."
|
||||
msgstr ""
|
||||
msgstr "Inget svar togs emot."
|
||||
|
||||
#: src/api/utils.js:79
|
||||
msgid "An unknown API error occurred."
|
||||
msgstr ""
|
||||
msgstr "Ett okänt API-fel inträffade."
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
msgstr "Kopierades!"
|
||||
|
||||
#: src/bootstrap/CopyInput.js:55
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Kopiera"
|
||||
|
||||
#: src/common/RebootButton.js:27
|
||||
msgid "Reboot request failed."
|
||||
@ -70,11 +70,11 @@ msgstr "Bekräfta omstart"
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:38
|
||||
msgid "An error occurred during resetting Wi-Fi settings."
|
||||
msgstr ""
|
||||
msgstr "Ett fel inträffade under återställningen av Wi-Fi-inställningarna."
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:41
|
||||
msgid "Wi-Fi settings are set to defaults."
|
||||
msgstr ""
|
||||
msgstr "Wi-Fi-inställningarna har ställts in standardinställningarna."
|
||||
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:55
|
||||
#: src/common/WiFiSettings/ResetWiFiSettings.js:69
|
||||
@ -87,6 +87,9 @@ msgid ""
|
||||
"Fi settings. Note that this will remove the current Wi-Fi configuration "
|
||||
"and restore the default values."
|
||||
msgstr ""
|
||||
"Om ett antal trådlösa kort inte matchar så kan du prova att återställa Wi-Fi-"
|
||||
"inställningarna. Notera att det här kommer att ta bort den nuvarande Wi-Fi-"
|
||||
"konfigurationen och återställa till standardvärdena."
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:95
|
||||
msgid "Wi-Fi ${deviceID + 1}"
|
||||
@ -99,11 +102,11 @@ msgstr "Lösenord"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:146
|
||||
msgid "Hide SSID"
|
||||
msgstr ""
|
||||
msgstr "Göm SSID"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:186
|
||||
msgid "802.11n/ac/ax mode"
|
||||
msgstr ""
|
||||
msgstr "802.11n/ac/ax-läge"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:199
|
||||
#, fuzzy
|
||||
@ -112,13 +115,23 @@ msgstr "Avbryt"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:211
|
||||
msgid "Encryption"
|
||||
msgstr "Kryptering"
|
||||
|
||||
#: 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 "auto"
|
||||
|
||||
#: src/common/WiFiSettings/WiFiForm.js:284
|
||||
#: src/common/WiFiSettings/WiFiForm.js:303
|
||||
#, fuzzy
|
||||
msgid "Custom"
|
||||
msgstr "auto"
|
||||
@ -135,28 +148,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"
|
||||
@ -211,7 +224,7 @@ msgstr "802.11ac - 160 MHz bred kanal"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:26
|
||||
msgid "WPA3 only"
|
||||
msgstr ""
|
||||
msgstr "Endast WPA3"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:27
|
||||
msgid "WPA3 with WPA2 as fallback (default)"
|
||||
@ -219,13 +232,15 @@ msgstr ""
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:28
|
||||
msgid "WPA2 only"
|
||||
msgstr ""
|
||||
msgstr "Endast WPA2"
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:31
|
||||
msgid ""
|
||||
"SSID which contains non-standard characters could cause problems on some "
|
||||
"devices."
|
||||
msgstr ""
|
||||
"SSID som innehåller icke-standardiserade tecken kan orsaka problem i en del "
|
||||
"enheter."
|
||||
|
||||
#: src/common/WiFiSettings/constants.js:34
|
||||
msgid "WPA2/3 pre-shared key, that is required to connect to the network."
|
||||
@ -414,4 +429,3 @@ msgstr ""
|
||||
#~ " default option with 20 MHz wide "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
|
||||
|
Reference in New Issue
Block a user