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

Compare commits

...

12 Commits

Author SHA1 Message Date
Štěpán Henek
8fe77bda5d Merge branch 'feature/ws-included' into 'dev'
Using socket.io for websocket handling and make reforis configurable

See merge request turris/reforis/foris-js!201
2024-09-26 10:03:42 +02:00
Aleksandr Gumroian
e7758cab9a Merge branch 'bump-version-621' into 'dev'
Bump v6.2.1

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

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

Translation: Turris/Foris JS
Translate-URL: https://hosted.weblate.org/projects/turris/foris-js/cs/
2024-09-25 10:15:45 +00:00
Atec
a1036514dd
Translated using Weblate (Slovak)
Currently translated at 100.0% (71 of 71 strings)

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

See merge request turris/reforis/foris-js!240
2024-09-20 14:06:10 +02:00
Aleksandr Gumroian
cc1389536e
Fix tests 2024-09-05 13:02:14 +02:00
Aleksandr Gumroian
499be46588
Using socket.io for websocket handling and make reforis configurable
Socket.io wrapper is used to handle websockets now,
this means that websocket logic had to be redone.

Also it is necessary to set `REFORIS_PREFIX` env variable
during the build process. To set the path of backend url.
It was previously fixed to `/reforis`.
2024-09-05 13:02:13 +02:00
Aleksandr Gumroian
bb559cbe53 Merge branch 'dev' into 'master'
Dev

See merge request turris/reforis/foris-js!236
2024-08-30 16:03:17 +02:00
33 changed files with 295 additions and 193 deletions

View File

@ -8,6 +8,17 @@ and this project adheres to
## [Unreleased]
## [6.2.1] - 2024-09-25
### Added
- Added & updated Weblate translations
### Changed
- Refactored CopyInput component
- Refactored ForisURLs to include new URLs for Overview page
## [6.2.0] - 2024-09-20
### Added
@ -374,7 +385,8 @@ and this project adheres to
## [0.0.7] - 2019-09-02
[unreleased]:
https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.0...dev
https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.1...dev
[6.2.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.0...v6.2.1
[6.2.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.1.1...v6.2.0
[6.1.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.1.0...v6.1.1
[6.1.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.3...v6.1.0

128
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "foris",
"version": "6.2.0",
"version": "6.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "foris",
"version": "6.2.0",
"version": "6.2.1",
"license": "GPL-3.0",
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.6.0",
@ -18,7 +18,8 @@
"moment": "^2.30.1",
"qrcode.react": "^3.1.0",
"react-datetime": "^3.2.0",
"react-uid": "^2.3.3"
"react-uid": "^2.3.3",
"socket.io-client": "^4.6.1"
},
"devDependencies": {
"@babel/cli": "^7.24.7",
@ -3583,6 +3584,12 @@
"@sinonjs/commons": "^3.0.0"
}
},
"node_modules/@socket.io/component-emitter": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
"license": "MIT"
},
"node_modules/@testing-library/dom": {
"version": "5.6.1",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz",
@ -6372,7 +6379,6 @@
"version": "4.3.5",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"dependencies": {
"ms": "2.1.2"
},
@ -6722,6 +6728,28 @@
"node": ">= 0.8"
}
},
"node_modules/engine.io-client": {
"version": "6.5.4",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz",
"integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==",
"license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1",
"engine.io-parser": "~5.2.1",
"ws": "~8.17.1",
"xmlhttprequest-ssl": "~2.0.0"
}
},
"node_modules/engine.io-parser": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
"integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/enhanced-resolve": {
"version": "5.17.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
@ -13948,8 +13976,7 @@
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/multicast-dns": {
"version": "7.2.5",
@ -16552,6 +16579,34 @@
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
"dev": true
},
"node_modules/socket.io-client": {
"version": "4.7.5",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz",
"integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==",
"license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.2",
"engine.io-client": "~6.5.2",
"socket.io-parser": "~4.2.4"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/socket.io-parser": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
"integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
"license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/sockjs": {
"version": "0.3.24",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
@ -18360,7 +18415,6 @@
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@ -18393,6 +18447,14 @@
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
"dev": true
},
"node_modules/xmlhttprequest-ssl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
"integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@ -21053,6 +21115,11 @@
"@sinonjs/commons": "^3.0.0"
}
},
"@socket.io/component-emitter": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="
},
"@testing-library/dom": {
"version": "5.6.1",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz",
@ -23262,7 +23329,6 @@
"version": "4.3.5",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
@ -23522,6 +23588,23 @@
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"dev": true
},
"engine.io-client": {
"version": "6.5.4",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz",
"integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==",
"requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1",
"engine.io-parser": "~5.2.1",
"ws": "~8.17.1",
"xmlhttprequest-ssl": "~2.0.0"
}
},
"engine.io-parser": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
"integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q=="
},
"enhanced-resolve": {
"version": "5.17.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
@ -28947,8 +29030,7 @@
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"multicast-dns": {
"version": "7.2.5",
@ -30877,6 +30959,26 @@
}
}
},
"socket.io-client": {
"version": "4.7.5",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz",
"integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==",
"requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.2",
"engine.io-client": "~6.5.2",
"socket.io-parser": "~4.2.4"
}
},
"socket.io-parser": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
"integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
"requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1"
}
},
"sockjs": {
"version": "0.3.24",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
@ -32198,7 +32300,6 @@
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"dev": true,
"requires": {}
},
"xml-name-validator": {
@ -32213,6 +32314,11 @@
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
"dev": true
},
"xmlhttprequest-ssl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
"integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",

View File

@ -1,6 +1,6 @@
{
"name": "foris",
"version": "6.2.0",
"version": "6.2.1",
"description": "Foris JS library is a set of components and utils for reForis application and plugins.",
"author": "CZ.NIC, z.s.p.o.",
"repository": {
@ -23,7 +23,8 @@
"moment": "^2.30.1",
"qrcode.react": "^3.1.0",
"react-datetime": "^3.2.0",
"react-uid": "^2.3.3"
"react-uid": "^2.3.3",
"socket.io-client": "^4.6.1"
},
"peerDependencies": {
"bootstrap": "^5.3.3",

View File

@ -26,7 +26,7 @@ function ResetWiFiSettings({ ws, endpoint }) {
useEffect(() => {
const module = "wifi";
ws.subscribe(module).bind(module, "reset", () => {
ws.bind(module, "reset", () => {
// eslint-disable-next-line no-restricted-globals
setTimeout(() => location.reload(), 1000);
});

View File

@ -46,7 +46,7 @@ describe("<RebootButton/>", () => {
fireEvent.click(getByText(componentContainer, "Reboot"));
fireEvent.click(getByText(componentContainer, "Confirm reboot"));
expect(mockAxios.post).toHaveBeenCalledWith(
"/reforis/api/reboot",
"/api/reboot",
undefined,
expect.anything()
);

View File

@ -10,3 +10,4 @@ global._ = (str) => str;
global.ngettext = (str) => str;
global.babel = { format: (str) => str };
global.ForisTranslations = { locale: "en" };
global.setImmediate = (fn) => setTimeout(fn, 0);

View File

@ -5,7 +5,7 @@
* See /LICENSE for more information.
*/
export const REFORIS_URL_PREFIX = "/reforis";
export const REFORIS_URL_PREFIX = process.env.REFORIS_PREFIX || "";
export const REFORIS_API_URL_PREFIX = `${REFORIS_URL_PREFIX}/api`;
export const ForisURLs = {

View File

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

View File

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

View File

@ -7,13 +7,13 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"PO-Revision-Date: 2023-11-23 16:03+0000\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2024-09-25 10:15+0000\n"
"Last-Translator: Lukas Jelinek <lukas.jelinek@nic.cz>\n"
"Language: cs\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/turris/foris-"
"js/cs/>\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -35,9 +35,10 @@ msgstr "Neobdržena žádná odezva."
msgid "An unknown API error occurred."
msgstr "Došlo k neznámé chybě v aplikačním programovém rozhraní."
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
msgstr "Zavřít"
#: src/bootstrap/CopyInput.js:57
msgid "Copied!"
@ -99,7 +100,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Heslo"
@ -145,15 +146,14 @@ msgstr "Zapnout Wi-Fi pro hosty"
#: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
#, fuzzy
msgid "Show QR code"
msgstr "Wi-Fi QR kód"
msgstr "Ukázat QR kód"
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code"
msgstr "Wi-Fi QR kód"
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr "Stáhnout PDF"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: da\n"
@ -34,7 +34,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -95,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -146,7 +147,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2024-01-04 21:08+0000\n"
"Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n"
"Language: de\n"
@ -35,7 +35,8 @@ msgstr "Keine Antwort erhalten."
msgid "An unknown API error occurred."
msgstr "Ein unbekannter API-Fehler ist aufgetreten."
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -101,7 +102,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr "WLAN ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Passwort"
@ -155,7 +156,7 @@ msgstr "WLAN QR-Code"
msgid "Wi-Fi QR Code"
msgstr "WLAN QR-Code"
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr "PDF herunterladen"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2021-02-09 16:50+0000\n"
"Last-Translator: Michalis <michalisntovas@yahoo.gr>\n"
"Language: el\n"
@ -35,7 +35,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -96,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -148,7 +149,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2019-10-17 09:28+0000\n"
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
"Language: en\n"
@ -35,7 +35,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -96,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -147,7 +148,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2024-08-24 13:09+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/turris/foris-js/"
"es/>\n"
"Language: es\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/turris/foris-"
"js/es/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.7.1-dev\n"
"Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61
@ -38,7 +37,8 @@ msgstr ""
"Un error desconocido ha ocurrido. Compruebe la consola para mas "
"informaciòn."
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr "Cerrar"
@ -102,7 +102,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Contraseña"
@ -155,7 +155,7 @@ msgstr "Mostrar el código QR"
msgid "Wi-Fi QR Code"
msgstr "Código QR Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr "Descargar PDF"
@ -446,3 +446,4 @@ msgstr "No contiene una lista de correos electrónicos separados por comas."
#~ " default option with 20 MHz wide "
#~ "channel."
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fi\n"
@ -34,7 +34,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -95,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -146,7 +147,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fo\n"
@ -34,7 +34,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -95,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -146,7 +147,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Foris JS 6.1.0\n"
"Project-Id-Version: Foris JS 6.2.0\n"
"Report-Msgid-Bugs-To: tech.support@turris.cz\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -33,7 +33,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -94,7 +95,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -145,7 +146,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2024-07-27 01:09+0000\n"
"Last-Translator: Moha684 <nahil82466@gmail.com>\n"
"Language: fr\n"
@ -35,7 +35,8 @@ msgstr "Aucun réponse reçue."
msgid "An unknown API error occurred."
msgstr "Une erreur dAPI inconnue sest produite."
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -98,7 +99,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Mot de passe"
@ -153,7 +154,7 @@ msgstr "Code QR Wi-Fi"
msgid "Wi-Fi QR Code"
msgstr "Code QR Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr "Télécharger le PDF"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2022-09-29 14:17+0000\n"
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
"Language: hr\n"
@ -36,7 +36,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -97,7 +98,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Lozinka"
@ -148,7 +149,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2021-01-07 01:26+0000\n"
"Last-Translator: Zoli <boritek@gmail.com>\n"
"Language: hu\n"
@ -35,7 +35,8 @@ msgstr "Nem érkezett válasz."
msgid "An unknown API error occurred."
msgstr "Ismeretlen API-hiba történt."
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -96,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -147,7 +148,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2022-12-31 23:48+0000\n"
"Last-Translator: Anselmo <anselmo@casinadicornia.com>\n"
"Language: it\n"
@ -35,7 +35,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -96,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Password"
@ -147,7 +148,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2019-10-16 10:08+0000\n"
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
"Language: ja\n"
@ -35,7 +35,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -96,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -148,7 +149,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ko\n"
@ -34,7 +34,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -95,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -146,7 +147,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: lt\n"
@ -35,7 +35,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -96,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -147,7 +148,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2023-03-02 11:40+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language: nb_NO\n"
@ -36,7 +36,8 @@ msgstr "Fikk ikke svar."
msgid "An unknown API error occurred."
msgstr "Ukjent API-feil."
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -103,7 +104,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Passord"
@ -161,7 +162,7 @@ msgstr "QR-kode for Wi-Fi"
msgid "Wi-Fi QR Code"
msgstr "QR-kode for Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr "Last ned PDF"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2024-01-04 21:08+0000\n"
"Last-Translator: powerburner-nl <peter.mulder.1981@gmail.com>\n"
"Language: nl\n"
@ -35,7 +35,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -97,7 +98,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Wachtwoord"
@ -149,7 +150,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2023-03-07 16:37+0000\n"
"Last-Translator: Arusekk <arek_koz@o2.pl>\n"
"Language: pl\n"
@ -36,7 +36,8 @@ msgstr "Brak odpowiedzi."
msgid "An unknown API error occurred."
msgstr "Wystąpił nieznany błąd API."
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -97,7 +98,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Hasło"
@ -148,7 +149,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2021-12-21 12:52+0000\n"
"Last-Translator: c10l <weblate.org@a.c10l.cc>\n"
"Language: pt_BR\n"
@ -35,7 +35,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -96,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -147,7 +148,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2019-02-19 13:35+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n"
@ -35,7 +35,8 @@ msgstr ""
msgid "An unknown API error occurred."
msgstr ""
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -96,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr ""
@ -147,7 +148,7 @@ msgstr ""
msgid "Wi-Fi QR Code"
msgstr ""
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2022-12-07 12:47+0000\n"
"Last-Translator: Алексей Леньшин <alenshin@gmail.com>\n"
"Language: ru\n"
@ -36,7 +36,8 @@ msgstr "Ответ не получен."
msgid "An unknown API error occurred."
msgstr "Неизвестная ошибка программного интерфейса приложения."
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -100,7 +101,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Пароль"
@ -154,7 +155,7 @@ msgstr "QR-код Wi-Fi"
msgid "Wi-Fi QR Code"
msgstr "QR-код Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr "Скачать PDF"

View File

@ -7,13 +7,13 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"PO-Revision-Date: 2023-01-17 22:51+0000\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2024-09-09 18:09+0000\n"
"Last-Translator: Atec <dr.atec@gmail.com>\n"
"Language: sk\n"
"Language-Team: Slovak <https://hosted.weblate.org/projects/turris/foris-"
"js/sk/>\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -35,9 +35,10 @@ msgstr "Nenastala žiadna odozva."
msgid "An unknown API error occurred."
msgstr "Nastala neznáma chyba v API."
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
msgstr "Zatvoriť"
#: src/bootstrap/CopyInput.js:57
msgid "Copied!"
@ -99,7 +100,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Heslo"
@ -145,15 +146,14 @@ msgstr "Povoliť Wi-Fi pre hostí"
#: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44
#, fuzzy
msgid "Show QR code"
msgstr "Wi-Fi QR kód"
msgstr "Zobraziť QR kód"
#: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code"
msgstr "Wi-Fi QR kód"
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr "Stiahnuť PDF"
@ -184,7 +184,7 @@ msgstr "Heslo nesmie obsahovať viac ako 63 znakov"
#: src/common/WiFiSettings/constants.js:9
msgid "Disabled"
msgstr "Zakázané"
msgstr "Vypnuté"
#: src/common/WiFiSettings/constants.js:10
msgid "802.11n - 20 MHz wide channel"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
"PO-Revision-Date: 2023-09-22 21:00+0000\n"
"Last-Translator: Kristoffer Grundström "
"<swedishsailfishosuser@tutanota.com>\n"
@ -36,7 +36,8 @@ msgstr "Inget svar togs emot."
msgid "An unknown API error occurred."
msgstr "Ett okänt API-fel inträffade."
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close"
msgstr ""
@ -100,7 +101,7 @@ msgid "Wi-Fi ${deviceID + 1}"
msgstr "Wi-Fi ${deviceID + 1}"
#: src/common/WiFiSettings/WiFiForm.js:132
#: src/common/WiFiSettings/WiFiGuestForm.js:81
#: src/common/WiFiSettings/WiFiGuestForm.js:78
msgid "Password"
msgstr "Lösenord"
@ -154,7 +155,7 @@ msgstr "QR-kod för Wi-Fi"
msgid "Wi-Fi QR Code"
msgstr "QR-kod för Wi-Fi"
#: src/common/WiFiSettings/WiFiQRCode.js:93
#: src/common/WiFiSettings/WiFiQRCode.js:102
msgid "Download PDF"
msgstr "Ladda ner PDF"