1
0
mirror of https://gitlab.nic.cz/turris/reforis/foris-js.git synced 2025-05-05 09:40:54 +02:00

Compare commits

..

No commits in common. "74722b8ff351092b89e59b6bb406bcfd2d1b5ce2" and "c7087eabf2bb645be7693258167e076d6e4af174" have entirely different histories.

14 changed files with 217 additions and 222 deletions

View File

@ -8,22 +8,6 @@ and this project adheres to
## [Unreleased] ## [Unreleased]
## [6.6.0] - 2025-02-07
### Added
- Added & updated Weblate translations
- Added Wi-Fi and LAN settings URLs to ForisURLs
- Added Wi-Fi modes VHT/HE 80+80
- Added encryption selection to WiFiGuestForm
- Added optional close button to ModalHeader component
### Changed
- Updated Wi-Fi API
- Enhanced NumberInput component with keyboard & touch accessibility
- Refactored pagination condition in RichTable component
## [6.5.0] - 2024-11-13 ## [6.5.0] - 2024-11-13
### Added ### Added
@ -435,8 +419,7 @@ and this project adheres to
## [0.0.7] - 2019-09-02 ## [0.0.7] - 2019-09-02
[unreleased]: [unreleased]:
https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.6.0...dev https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.5.0...dev
[6.6.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.5.0...v6.6.0
[6.5.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.4.0...v6.5.0 [6.5.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.4.0...v6.5.0
[6.4.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.3.0...v6.4.0 [6.4.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.3.0...v6.4.0
[6.3.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.1...v6.3.0 [6.3.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.1...v6.3.0

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "foris", "name": "foris",
"version": "6.6.0", "version": "6.5.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "foris", "name": "foris",
"version": "6.6.0", "version": "6.5.0",
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/fontawesome-svg-core": "^6.6.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "foris", "name": "foris",
"version": "6.6.0", "version": "6.5.0",
"description": "Foris JS library is a set of components and utils for reForis application and plugins.", "description": "Foris JS library is a set of components and utils for reForis application and plugins.",
"author": "CZ.NIC, z.s.p.o.", "author": "CZ.NIC, z.s.p.o.",
"repository": { "repository": {

View File

@ -9,7 +9,7 @@ import React from "react";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import { HELP_TEXTS, HTMODES, BANDS, ENCRYPTIONMODES } from "./constants"; import { HELP_TEXTS, HTMODES, HWMODES, ENCRYPTIONMODES } from "./constants";
import WifiGuestForm from "./WiFiGuestForm"; import WifiGuestForm from "./WiFiGuestForm";
import WiFiQRCode from "./WiFiQRCode"; import WiFiQRCode from "./WiFiQRCode";
import PasswordInput from "../../bootstrap/PasswordInput"; import PasswordInput from "../../bootstrap/PasswordInput";
@ -60,7 +60,7 @@ DeviceForm.propTypes = {
SSID: PropTypes.string.isRequired, SSID: PropTypes.string.isRequired,
password: PropTypes.string.isRequired, password: PropTypes.string.isRequired,
hidden: PropTypes.bool.isRequired, hidden: PropTypes.bool.isRequired,
band: PropTypes.string.isRequired, hwmode: PropTypes.string.isRequired,
htmode: PropTypes.string.isRequired, htmode: PropTypes.string.isRequired,
channel: PropTypes.string.isRequired, channel: PropTypes.string.isRequired,
guest_wifi: PropTypes.object.isRequired, guest_wifi: PropTypes.object.isRequired,
@ -155,26 +155,26 @@ function DeviceForm({
/> />
<RadioSet <RadioSet
name={`band-${deviceID}`} name={`hwmode-${deviceID}`}
label={_("Band")} label="GHz"
choices={getBandChoices(formData)} choices={getHwmodeChoices(formData)}
value={formData.band} value={formData.hwmode}
helpText={HELP_TEXTS.band} helpText={HELP_TEXTS.hwmode}
inline inline
onChange={setFormValue((value) => { onChange={setFormValue((value) => {
// Find the selected band // Get the last item in an array of available HT modes
const selectedBand = bnds.find( const [best2] = bnds[0].available_htmodes.slice(-1);
(band) => band.band === value const [best5] = bnds[1].available_htmodes.slice(-1);
);
// Get the last item in the available HT modes for the selected band
const bestHtmode =
selectedBand.available_htmodes.slice(-1)[0];
return { return {
devices: { devices: {
[deviceIndex]: { [deviceIndex]: {
band: { $set: value }, hwmode: { $set: value },
channel: { $set: "0" }, channel: { $set: "0" },
htmode: { $set: bestHtmode }, htmode: {
$set:
// Set HT mode depending on checked frequency
value === "11a" ? best5 : best2,
},
}, },
}, },
}; };
@ -263,7 +263,7 @@ function getChannelChoices(device) {
}; };
device.available_bands.forEach((availableBand) => { device.available_bands.forEach((availableBand) => {
if (availableBand.band !== device.band) return; if (availableBand.hwmode !== device.hwmode) return;
availableBand.available_channels.forEach((availableChannel) => { availableBand.available_channels.forEach((availableChannel) => {
channelChoices[availableChannel.number.toString()] = ` channelChoices[availableChannel.number.toString()] = `
@ -282,7 +282,7 @@ function getHtmodeChoices(device) {
const htmodeChoices = {}; const htmodeChoices = {};
device.available_bands.forEach((availableBand) => { device.available_bands.forEach((availableBand) => {
if (availableBand.band !== device.band) return; if (availableBand.hwmode !== device.hwmode) return;
availableBand.available_htmodes.forEach((availableHtmod) => { availableBand.available_htmodes.forEach((availableHtmod) => {
htmodeChoices[availableHtmod] = HTMODES[availableHtmod]; htmodeChoices[availableHtmod] = HTMODES[availableHtmod];
@ -291,10 +291,10 @@ function getHtmodeChoices(device) {
return htmodeChoices; return htmodeChoices;
} }
function getBandChoices(device) { function getHwmodeChoices(device) {
return device.available_bands.map((availableBand) => ({ return device.available_bands.map((availableBand) => ({
label: `${BANDS[availableBand.band]} GHz`, label: HWMODES[availableBand.hwmode],
value: availableBand.band, value: availableBand.hwmode,
})); }));
} }

View File

@ -77,7 +77,7 @@ describe("<WiFiSettings/>", () => {
it("Snapshot 2.4 GHz", () => { it("Snapshot 2.4 GHz", () => {
fireEvent.click(getByText("Wi-Fi 1")); fireEvent.click(getByText("Wi-Fi 1"));
const enabledRender = asFragment(); const enabledRender = asFragment();
fireEvent.click(getAllByText(/2.4/)[0]); fireEvent.click(getAllByText("2.4")[0]);
expect(diffSnapshot(enabledRender, asFragment())).toMatchSnapshot(); expect(diffSnapshot(enabledRender, asFragment())).toMatchSnapshot();
}); });
@ -118,7 +118,7 @@ describe("<WiFiSettings/>", () => {
guest_wifi: { enabled: false }, guest_wifi: { enabled: false },
hidden: false, hidden: false,
htmode: "HT80", htmode: "HT80",
band: "5g", hwmode: "11a",
id: 0, id: 0,
password: "TestPass", password: "TestPass",
encryption: "WPA3", encryption: "WPA3",
@ -135,7 +135,7 @@ describe("<WiFiSettings/>", () => {
it("Post form: 2.4 GHz", () => { it("Post form: 2.4 GHz", () => {
fireEvent.click(getByText("Wi-Fi 1")); fireEvent.click(getByText("Wi-Fi 1"));
fireEvent.click(getAllByText(/2.4/)[0]); fireEvent.click(getAllByText("2.4")[0]);
fireEvent.click(getByText("Save")); fireEvent.click(getByText("Save"));
expect(mockAxios.post).toBeCalled(); expect(mockAxios.post).toBeCalled();
@ -148,7 +148,7 @@ describe("<WiFiSettings/>", () => {
guest_wifi: { enabled: false }, guest_wifi: { enabled: false },
hidden: false, hidden: false,
htmode: "VHT80", htmode: "VHT80",
band: "2g", hwmode: "11g",
id: 0, id: 0,
password: "TestPass", password: "TestPass",
encryption: "WPA3", encryption: "WPA3",
@ -185,7 +185,7 @@ describe("<WiFiSettings/>", () => {
}, },
hidden: false, hidden: false,
htmode: "HT80", htmode: "HT80",
band: "5g", hwmode: "11a",
id: 0, id: 0,
password: "TestPass", password: "TestPass",
encryption: "WPA3", encryption: "WPA3",

View File

@ -77,7 +77,7 @@ export function wifiSettingsFixture() {
"VHT40", "VHT40",
"VHT80", "VHT80",
], ],
band: "2g", hwmode: "11g",
}, },
{ {
available_channels: [ available_channels: [
@ -215,7 +215,7 @@ export function wifiSettingsFixture() {
"VHT40", "VHT40",
"VHT80", "VHT80",
], ],
band: "5g", hwmode: "11a",
}, },
], ],
channel: 60, channel: 60,
@ -227,7 +227,7 @@ export function wifiSettingsFixture() {
}, },
hidden: false, hidden: false,
htmode: "HT80", htmode: "HT80",
band: "5g", hwmode: "11a",
id: 0, id: 0,
password: "TestPass", password: "TestPass",
encryption: "WPA3", encryption: "WPA3",
@ -294,7 +294,7 @@ export function wifiSettingsFixture() {
}, },
], ],
available_htmodes: ["NOHT", "HT20", "HT40"], available_htmodes: ["NOHT", "HT20", "HT40"],
band: "2g", hwmode: "11g",
}, },
], ],
channel: 11, channel: 11,
@ -306,7 +306,7 @@ export function wifiSettingsFixture() {
}, },
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
band: "2g", hwmode: "11g",
id: 1, id: 1,
password: "TestPass", password: "TestPass",
encryption: "WPA3", encryption: "WPA3",
@ -323,7 +323,7 @@ const oneDevice = {
guest_wifi: { enabled: false }, guest_wifi: { enabled: false },
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
band: "5g", hwmode: "11a",
id: 0, id: 0,
password: "TestPass", password: "TestPass",
encryption: "WPA3", encryption: "WPA3",
@ -340,7 +340,7 @@ const twoDevices = {
guest_wifi: { enabled: false }, guest_wifi: { enabled: false },
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
band: "5g", hwmode: "11a",
id: 0, id: 0,
password: "TestPass", password: "TestPass",
encryption: "WPA3", encryption: "WPA3",
@ -352,7 +352,7 @@ const twoDevices = {
guest_wifi: { enabled: false }, guest_wifi: { enabled: false },
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
band: "5g", hwmode: "11a",
id: 1, id: 1,
password: "TestPass", password: "TestPass",
encryption: "WPA3", encryption: "WPA3",
@ -369,7 +369,7 @@ const threeDevices = {
guest_wifi: { enabled: false }, guest_wifi: { enabled: false },
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
band: "5g", hwmode: "11a",
id: 0, id: 0,
password: "TestPass", password: "TestPass",
encryption: "WPA3", encryption: "WPA3",
@ -381,7 +381,7 @@ const threeDevices = {
guest_wifi: { enabled: false }, guest_wifi: { enabled: false },
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
band: "5g", hwmode: "11a",
id: 1, id: 1,
password: "TestPass", password: "TestPass",
encryption: "WPA3", encryption: "WPA3",
@ -393,7 +393,7 @@ const threeDevices = {
guest_wifi: { enabled: false }, guest_wifi: { enabled: false },
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
band: "5g", hwmode: "11a",
id: 2, id: 2,
password: "", password: "",
encryption: "WPA3", encryption: "WPA3",

View File

@ -592,23 +592,23 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ class="d-block" + class="d-block"
+ for="6" + for="6"
+ > + >
+ Band + GHz
+ </label> + </label>
+ <div + <div
+ class="mb-3 form-check form-check-inline" + class="mb-3 form-check form-check-inline"
+ > + >
+ <input + <input
+ class="form-check-input me-2" + class="form-check-input me-2"
+ id="band-0-0" + id="hwmode-0-0"
+ name="band-0" + name="hwmode-0"
+ type="radio" + type="radio"
+ value="2g" + value="11g"
+ /> + />
+ <label + <label
+ class="form-check-label" + class="form-check-label"
+ for="band-0-0" + for="hwmode-0-0"
+ > + >
+ 2.4 GHz + 2.4
+ </label> + </label>
+ </div> + </div>
+ <div + <div
@ -617,16 +617,16 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ <input + <input
+ checked="" + checked=""
+ class="form-check-input me-2" + class="form-check-input me-2"
+ id="band-0-1" + id="hwmode-0-1"
+ name="band-0" + name="hwmode-0"
+ type="radio" + type="radio"
+ value="5g" + value="11a"
+ /> + />
+ <label + <label
+ class="form-check-label" + class="form-check-label"
+ for="band-0-1" + for="hwmode-0-1"
+ > + >
+ 5 GHz + 5
+ </label> + </label>
+ </div> + </div>
+ <div + <div

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://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. * This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information. * See /LICENSE for more information.
@ -20,10 +20,9 @@ export const HTMODES = {
HE80_80: _("802.11ax - 80+80 MHz wide channel"), HE80_80: _("802.11ax - 80+80 MHz wide channel"),
HE160: _("802.11ax - 160 MHz wide channel"), HE160: _("802.11ax - 160 MHz wide channel"),
}; };
export const BANDS = { export const HWMODES = {
"2g": "2.4", "11g": "2.4",
"5g": "5", "11a": "5",
"6g": "6",
}; };
export const ENCRYPTIONMODES = { export const ENCRYPTIONMODES = {
WPA3: _("WPA3 only"), WPA3: _("WPA3 only"),
@ -40,7 +39,7 @@ export const HELP_TEXTS = {
hidden: _( hidden: _(
"If set, network is not visible when scanning for available networks." "If set, network is not visible when scanning for available networks."
), ),
band: _( hwmode: _(
"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." "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."
), ),
htmode: _( htmode: _(

View File

@ -38,8 +38,6 @@ export const ForisURLs = {
overview: "/overview", overview: "/overview",
notifications: "/overview#notifications", notifications: "/overview#notifications",
notificationsSettings: "/administration/notifications-settings", notificationsSettings: "/administration/notifications-settings",
wifiSettings: "/network-settings/wifi",
lanSettings: "/network-settings/lan",
approveUpdates: "/package-management/updates", approveUpdates: "/package-management/updates",
languages: "/package-management/languages", languages: "/package-management/languages",

View File

@ -8,16 +8,15 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-11-13 14:06+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-11-15 06:01+0000\n" "PO-Revision-Date: 2024-09-25 10:15+0000\n"
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>\n" "Last-Translator: Lukas Jelinek <lukas.jelinek@nic.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/turris/foris-js/cs/"
">\n"
"Language: cs\n" "Language: cs\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/turris/foris-"
"js/cs/>\n"
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
"X-Generator: Weblate 5.9-dev\n"
"Generated-By: Babel 2.16.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
@ -50,72 +49,74 @@ msgid "Copy"
msgstr "Kopírovat" msgstr "Kopírovat"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
#, fuzzy
msgid "Action successful." msgid "Action successful."
msgstr "Akce úspěšná." msgstr "Nastavení úspěšně uložena"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Action failed." msgid "Action failed."
msgstr "Akce se nezdařila." msgstr ""
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Cancel" msgid "Cancel"
msgstr "Zrušit" msgstr "Zrušit"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
#, fuzzy
msgid "Confirm" msgid "Confirm"
msgstr "Potvrdit" msgstr "Potvrdit restart"
#: src/common/RichTable/RichTableHeader.js:29 #: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending" msgid "Sort ascending"
msgstr "Seřadit vzestupně" msgstr ""
#: src/common/RichTable/RichTableHeader.js:30 #: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending" msgid "Sort descending"
msgstr "Seřadit sestupně" msgstr ""
#: src/common/RichTable/RichTableHeader.js:31 #: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort" msgid "Clear sort"
msgstr "Vyčistit řazení" msgstr ""
#: src/common/RichTable/RichTablePagination.js:65 #: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar" msgid "Pagination navigation bar"
msgstr "Navigační pruh stránkování" msgstr ""
#: src/common/RichTable/RichTablePagination.js:71 #: src/common/RichTable/RichTablePagination.js:71
msgid "First page" msgid "First page"
msgstr "První stránka" msgstr ""
#: src/common/RichTable/RichTablePagination.js:77 #: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page" msgid "Previous page"
msgstr "Předchozí stránka" msgstr ""
#: src/common/RichTable/RichTablePagination.js:83 #: src/common/RichTable/RichTablePagination.js:83
msgid "Next page" msgid "Next page"
msgstr "Následující stránka" msgstr ""
#: src/common/RichTable/RichTablePagination.js:89 #: src/common/RichTable/RichTablePagination.js:89
msgid "Last page" msgid "Last page"
msgstr "Poslední stránka" msgstr ""
#: src/common/RichTable/RichTablePagination.js:95 #: src/common/RichTable/RichTablePagination.js:95
msgid "Page" msgid "Page"
msgstr "Stránka" msgstr ""
#: src/common/RichTable/RichTablePagination.js:98 #: src/common/RichTable/RichTablePagination.js:98
msgid "of" msgid "of"
msgstr "z" msgstr ""
#: src/common/RichTable/RichTablePagination.js:106 #: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:" msgid "Rows per page:"
msgstr "Řádků na stránku:" msgstr ""
#: src/common/RichTable/RichTablePagination.js:109 #: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page" msgid "Select rows per page"
msgstr "Vyberte řádky na stránku" msgstr ""
#: src/common/RichTable/RichTablePagination.js:121 #: src/common/RichTable/RichTablePagination.js:121
msgid "All" msgid "All"
msgstr "Vše" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
@ -136,9 +137,9 @@ msgid ""
"Fi settings. Note that this will remove the current Wi-Fi configuration " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"and restore the default values." "and restore the default values."
msgstr "" msgstr ""
"Pokud se počet bezdrátových karet neshoduje, můžete zkusit obnovit nastavení " "Pokud se počet bezdrátových karet neshoduje, můžete zkusit obnovit "
"Wi-Fi. Je třeba upozornit, že se tím odstraní stávající nastavení Wi-Fi a " "nastavení Wi-Fi. Je třeba upozornit, že se tím odstraní aktuální "
"obnoví se výchozí hodnoty." "konfigurace Wi-Fi a obnoví se výchozí hodnoty."
#: src/common/WiFiSettings/WiFiForm.js:97 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
@ -174,7 +175,7 @@ msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling " "In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection." "Management Frame Protection."
msgstr "" msgstr ""
"Pokud máte problémy při připojování k přístupovému bodu Wi-Fi, zkuste " "Máte-li problémy při připojování k přístupovému bodu Wi-Fi, zkuste "
"vypnout Management Frame Protection." "vypnout Management Frame Protection."
#: src/common/WiFiSettings/WiFiForm.js:262 #: src/common/WiFiSettings/WiFiForm.js:262
@ -225,7 +226,7 @@ msgstr "Je třeba, aby heslo obsahovalo alespoň 8 znaků"
#: src/common/WiFiSettings/WiFiSettings.js:91 #: src/common/WiFiSettings/WiFiSettings.js:91
#: src/common/WiFiSettings/WiFiSettings.js:110 #: src/common/WiFiSettings/WiFiSettings.js:110
msgid "Password must not contain more than 63 symbols" msgid "Password must not contain more than 63 symbols"
msgstr "Heslo nemůže obsahovat více než 63 znaků" msgstr "Heslo nesmí obsahovat více než 63 znaků"
#: src/common/WiFiSettings/constants.js:9 #: src/common/WiFiSettings/constants.js:9
msgid "Disabled" msgid "Disabled"
@ -362,11 +363,11 @@ msgstr ""
#: src/form/components/SubmitButton.js:32 #: src/form/components/SubmitButton.js:32
msgid "Updating" msgid "Updating"
msgstr "Aktualizuje se" msgstr "Aktualizuji"
#: src/form/components/SubmitButton.js:35 #: src/form/components/SubmitButton.js:35
msgid "Load settings" msgid "Load settings"
msgstr "Načíst nastavení" msgstr "Načítám nastavení"
#: src/form/components/SubmitButton.js:38 #: src/form/components/SubmitButton.js:38
msgid "Save" msgid "Save"
@ -398,7 +399,7 @@ msgstr "Toto není platné doménové jméno."
#: src/utils/validations.js:18 #: src/utils/validations.js:18
msgid "This is not a valid DUID." msgid "This is not a valid DUID."
msgstr "Toto není platné DUID." msgstr "Tohle není platné DUID."
#: src/utils/validations.js:19 #: src/utils/validations.js:19
msgid "This is not a valid MAC address." msgid "This is not a valid MAC address."
@ -445,3 +446,4 @@ msgstr "Neobsahuje seznam e-mailů oddělených čárkou."
#~ msgid "Are you sure you want to restart the router?" #~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Opravdu chcete router restartovat?" #~ msgstr "Opravdu chcete router restartovat?"

View File

@ -11,8 +11,8 @@ msgstr ""
"PO-Revision-Date: 2024-01-04 21:08+0000\n" "PO-Revision-Date: 2024-01-04 21:08+0000\n"
"Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n" "Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n"
"Language: de\n" "Language: de\n"
"Language-Team: German <https://hosted.weblate.org/projects/turris/foris-js/" "Language-Team: German <https://hosted.weblate.org/projects/turris/foris-"
"de/>\n" "js/de/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
@ -35,16 +35,16 @@ msgstr "Keine Antwort erhalten."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Ein unbekannter API-Fehler ist aufgetreten." msgstr "Ein unbekannter API-Fehler ist aufgetreten."
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89 #: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close" msgid "Close"
msgstr "Schließen" msgstr ""
#: src/bootstrap/CopyInput.js:56 src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Kopiert!" msgstr "Kopiert!"
#: src/bootstrap/CopyInput.js:56 src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopieren" msgstr "Kopieren"
@ -58,7 +58,6 @@ msgid "Action failed."
msgstr "" msgstr ""
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Abbrechen" msgstr "Abbrechen"
@ -122,7 +121,8 @@ msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "" msgstr ""
"Ein Fehler ist während der Zurücksetzung der WLAN-Einstellungen aufgetreten." "Ein Fehler ist während der Zurücksetzung der WLAN-Einstellungen "
"aufgetreten."
#: src/common/WiFiSettings/ResetWiFiSettings.js:42 #: src/common/WiFiSettings/ResetWiFiSettings.js:42
msgid "Wi-Fi settings are set to defaults." msgid "Wi-Fi settings are set to defaults."
@ -135,13 +135,13 @@ msgstr "WLAN-Einstellungen zurücksetzen"
#: src/common/WiFiSettings/ResetWiFiSettings.js:58 #: src/common/WiFiSettings/ResetWiFiSettings.js:58
msgid "" msgid ""
"If a number of wireless cards doesn't match, you may try to reset the Wi-Fi " "If a number of wireless cards doesn't match, you may try to reset the Wi-"
"settings. Note that this will remove the current Wi-Fi configuration and " "Fi settings. Note that this will remove the current Wi-Fi configuration "
"restore the default values." "and restore the default values."
msgstr "" msgstr ""
"Falls die Anzahl der WLAN-Karten nicht korrekt ist, könnte es helfen, die " "Falls die Anzahl der WLAN-Karten nicht korrekt ist, könnte es helfen, die"
"WLAN-Einstellungen zurückzusetzen. Beachten Sie, dass dabei die aktuelle " " WLAN-Einstellungen zurückzusetzen. Beachten Sie, dass dabei die aktuelle"
"WLAN-Konfiguration mit den Werkseinstellungen überschrieben wird." " WLAN-Konfiguration mit den Werkseinstellungen überschrieben wird."
#: src/common/WiFiSettings/WiFiForm.js:97 #: src/common/WiFiSettings/WiFiForm.js:97
msgid "Wi-Fi ${deviceID + 1}" msgid "Wi-Fi ${deviceID + 1}"
@ -177,8 +177,8 @@ msgid ""
"In case you have trouble connecting to WiFi Access Point, try disabling " "In case you have trouble connecting to WiFi Access Point, try disabling "
"Management Frame Protection." "Management Frame Protection."
msgstr "" msgstr ""
"Falls Sie beim Verbinden mit dem WiFi-Access-Point Probleme haben, schalten " "Falls Sie beim Verbinden mit dem WiFi-Access-Point Probleme haben, "
"Sie testweise die Management Frame Protection ab." "schalten Sie testweise die Management Frame Protection ab."
#: src/common/WiFiSettings/WiFiForm.js:262 #: src/common/WiFiSettings/WiFiForm.js:262
msgid "auto" msgid "auto"
@ -194,8 +194,9 @@ msgstr "Gast-WLAN aktivieren"
#: src/common/WiFiSettings/WiFiQRCode.js:43 #: src/common/WiFiSettings/WiFiQRCode.js:43
#: src/common/WiFiSettings/WiFiQRCode.js:44 #: src/common/WiFiSettings/WiFiQRCode.js:44
#, fuzzy
msgid "Show QR code" msgid "Show QR code"
msgstr "QR-Code anzeigen" msgstr "WLAN QR-Code"
#: src/common/WiFiSettings/WiFiQRCode.js:70 #: src/common/WiFiSettings/WiFiQRCode.js:70
msgid "Wi-Fi QR Code" msgid "Wi-Fi QR Code"
@ -296,8 +297,7 @@ msgstr ""
#: src/common/WiFiSettings/constants.js:34 #: src/common/WiFiSettings/constants.js:34
msgid "WPA2/3 pre-shared key, that is required to connect to the network." msgid "WPA2/3 pre-shared key, that is required to connect to the network."
msgstr "" msgstr "WPA2/3 Pre-Shard Key, der zum Verbinden mit dem Netzwerk notwendig ist."
"WPA2/3 Pre-Shard Key, der zum Verbinden mit dem Netzwerk notwendig ist."
#: src/common/WiFiSettings/constants.js:37 #: src/common/WiFiSettings/constants.js:37
msgid "If set, network is not visible when scanning for available networks." msgid "If set, network is not visible when scanning for available networks."
@ -307,54 +307,55 @@ msgstr ""
#: src/common/WiFiSettings/constants.js:40 #: src/common/WiFiSettings/constants.js:40
msgid "" msgid ""
"The 2.4 GHz band is more widely supported by clients, but tends to have more " "The 2.4 GHz band is more widely supported by clients, but tends to have "
"interference. The 5 GHz band is a newer standard and may not be supported by " "more interference. The 5 GHz band is a newer standard and may not be "
"all your devices. It usually has less interference, but the signal does not " "supported by all your devices. It usually has less interference, but the "
"carry so well indoors." "signal does not carry so well indoors."
msgstr "" msgstr ""
"Das 2,4 GHz-Band wird von allen Geräten unterstützt, ist aber tendenziell " "Das 2,4 GHz-Band wird von allen Geräten unterstützt, ist aber tendenziell"
"stärker mit Interferenzen belastet. Das 5-GHz-Band ist ein neuerer Standard, " " stärker mit Interferenzen belastet. Das 5-GHz-Band ist ein neuerer "
"der möglicherweise nicht von allen Ihren Geräten unterstützt wird. Es hat in " "Standard, der möglicherweise nicht von allen Ihren Geräten unterstützt "
"der Regel weniger Interferenzen, aber das Signal trägt nicht so gut in " "wird. Es hat in der Regel weniger Interferenzen, aber das Signal trägt "
"Innenräumen." "nicht so gut in Innenräumen."
#: src/common/WiFiSettings/constants.js:43 #: src/common/WiFiSettings/constants.js:43
msgid "" msgid ""
"Change this to adjust 802.11n/ac/ax mode of operation. 802.11n with 40 MHz " "Change this to adjust 802.11n/ac/ax mode of operation. 802.11n with 40 "
"wide channels can yield higher throughput but can cause more interference in " "MHz wide channels can yield higher throughput but can cause more "
"the network. If you don't know what to choose, use the default option with " "interference in the network. If you don't know what to choose, use the "
"20 MHz wide channel." "default option with 20 MHz wide channel."
msgstr "" msgstr ""
"Ändern Sie diese Option, um den 802.11n/ac/ax-Betriebsmodus anzupassen. 40 " "Ändern Sie diese Option, um den 802.11n/ac/ax-Betriebsmodus anzupassen. "
"MHz breite Kanäle können bei 802.11n mehr Daten transportieren, jedoch zu " "40 MHz breite Kanäle können bei 802.11n mehr Daten transportieren, jedoch"
"mehr Interferenzen im Netzwerk führen. Wenn Sie nicht wissen, was Sie wählen " " zu mehr Interferenzen im Netzwerk führen. Wenn Sie nicht wissen, was Sie"
"sollen, verwenden Sie die Voreinstellung mit 20 MHz Kanalbreite." " wählen sollen, verwenden Sie die Voreinstellung mit 20 MHz Kanalbreite."
#: src/common/WiFiSettings/constants.js:46 #: src/common/WiFiSettings/constants.js:46
msgid "" msgid ""
"Enables Wi-Fi for guests, which is separated from LAN network. Devices " "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 " "connected to this network are allowed to access the internet, but aren't "
"allowed to access other devices and the configuration interface of the " "allowed to access other devices and the configuration interface of the "
"router. Parameters of the guest network can be set in the Guest network tab." "router. Parameters of the guest network can be set in the Guest network "
"tab."
msgstr "" msgstr ""
"Ermöglicht ein Wi-Fi für Gäste, das vom LAN-Netzwerk getrennt ist. Geräte, " "Ermöglicht ein Wi-Fi für Gäste, das vom LAN-Netzwerk getrennt ist. "
"die mit diesem Netzwerk verbunden sind, dürfen auf das Internet zugreifen, " "Geräte, die mit diesem Netzwerk verbunden sind, dürfen auf das Internet "
"nicht jedoch auf andere Geräte oder die Konfigurationsschnittstelle des " "zugreifen, nicht jedoch auf andere Geräte oder die "
"Routers. Die Parameter des Gastnetzwerks können auf der Gastnetzwerk-" "Konfigurationsschnittstelle des Routers. Die Parameter des Gastnetzwerks "
"Registerkarte eingestellt werden." "können auf der Gastnetzwerk-Registerkarte eingestellt werden."
#: src/common/WiFiSettings/constants.js:49 #: src/common/WiFiSettings/constants.js:49
msgid "" msgid ""
"The WPA3 standard is the new most secure encryption method that is suggested " "The WPA3 standard is the new most secure encryption method that is "
"to be used with any device that supports it. The older devices without WPA3 " "suggested to be used with any device that supports it. The older devices "
"support require older WPA2. If you experience issues with connecting older " "without WPA3 support require older WPA2. If you experience issues with "
"devices, try to enable WPA2." "connecting older devices, try to enable WPA2."
msgstr "" msgstr ""
"Der WPA3-Standard ist die neue Verschlüsselungsmethode mit der besten " "Der WPA3-Standard ist die neue Verschlüsselungsmethode mit der besten "
"Sicherheit. Er empfiehlt sich für jedes Gerät, das ihn unterstützt, aber " "Sicherheit. Er empfiehlt sich für jedes Gerät, das ihn unterstützt, aber "
"ältere Geräte, bei denen das noch nicht der Fall ist, müssen auf das ältere " "ältere Geräte, bei denen das noch nicht der Fall ist, müssen auf das "
"WPA2 ausweichen. Falls Sie Probleme dabei haben, ältere Geräte mit dem WLAN " "ältere WPA2 ausweichen. Falls Sie Probleme dabei haben, ältere Geräte mit"
"zu verbinden, schalten Sie versuchsweise WPA2 ein." " dem WLAN zu verbinden, schalten Sie versuchsweise WPA2 ein."
#: src/form/components/ForisForm.js:121 #: src/form/components/ForisForm.js:121
msgid "Settings saved successfully" msgid "Settings saved successfully"
@ -414,25 +415,34 @@ msgstr "Dies ist keine gültige MAC-Adresse."
msgid "Doesn't contain a list of emails separated by commas." msgid "Doesn't contain a list of emails separated by commas."
msgstr "Enthält keine Liste von E-Mails, die durch Kommas getrennt sind." msgstr "Enthält keine Liste von E-Mails, die durch Kommas getrennt sind."
#: src/common/RebootButton.js:27 #~ msgid "An unknown error occurred. Check the console for more info."
msgid "Reboot request failed." #~ msgstr ""
msgstr "Neustart-Einleitung fehlgeschlagen."
#: src/common/RebootButton.js:51 #~ msgid "Reboot confirmation"
msgid "Reboot" #~ msgstr ""
msgstr "Systemneustart"
#: src/common/RebootButton.js:66
msgid "Warning!"
msgstr "Warnung!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Sind Sie sicher, dass Sie den Router neu starten wollen?"
#: src/common/RebootButton.js:73
msgid "Confirm reboot"
msgstr "Neustart bestätigen"
#~ msgid "Enable" #~ msgid "Enable"
#~ msgstr "Aktivieren" #~ msgstr "Aktivieren"
#~ msgid ""
#~ "\n"
#~ "If a number of wireless cards "
#~ "doesn't match, you may try to "
#~ "reset the Wi-Fi settings. Note "
#~ "that this will remove the\n"
#~ "current Wi-Fi configuration and restore the default values.\n"
#~ " "
#~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr "Neustart-Einleitung fehlgeschlagen."
#~ msgid "Reboot"
#~ msgstr "Systemneustart"
#~ msgid "Warning!"
#~ msgstr "Warnung!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Sind Sie sicher, dass Sie den Router neu starten wollen?"

View File

@ -8,16 +8,15 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-11-13 14:06+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2025-01-18 11:00+0000\n" "PO-Revision-Date: 2021-02-09 16:50+0000\n"
"Last-Translator: Thanasis <thanasakis11mail@gmail.com>\n" "Last-Translator: Michalis <michalisntovas@yahoo.gr>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/turris/foris-js/el/"
">\n"
"Language: el\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"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10-dev\n"
"Generated-By: Babel 2.16.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
@ -39,7 +38,7 @@ msgstr ""
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89 #: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close" msgid "Close"
msgstr "Κλείσιμο" msgstr ""
#: src/bootstrap/CopyInput.js:56 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
@ -180,7 +179,7 @@ msgstr ""
#: src/common/WiFiSettings/WiFiForm.js:303 #: src/common/WiFiSettings/WiFiForm.js:303
msgid "Custom" msgid "Custom"
msgstr "Προσαρμοσμένο" msgstr ""
#: src/common/WiFiSettings/WiFiGuestForm.js:43 #: src/common/WiFiSettings/WiFiGuestForm.js:43
msgid "Enable Guest Wi-Fi" msgid "Enable Guest Wi-Fi"
@ -226,7 +225,7 @@ msgstr ""
#: src/common/WiFiSettings/constants.js:9 #: src/common/WiFiSettings/constants.js:9
msgid "Disabled" msgid "Disabled"
msgstr "Απενεργοποιημένο" msgstr ""
#: src/common/WiFiSettings/constants.js:10 #: src/common/WiFiSettings/constants.js:10
msgid "802.11n - 20 MHz wide channel" msgid "802.11n - 20 MHz wide channel"
@ -484,3 +483,4 @@ msgstr ""
#~ msgid "Are you sure you want to restart the router?" #~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Είστε βέβαιοι ότι θέλετε να κάνετε επανεκκίνηση του δρομολογητή;" #~ msgstr "Είστε βέβαιοι ότι θέλετε να κάνετε επανεκκίνηση του δρομολογητή;"

View File

@ -8,16 +8,15 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-11-13 14:06+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-12-14 10:00+0000\n" "PO-Revision-Date: 2024-07-27 01:09+0000\n"
"Last-Translator: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>\n" "Last-Translator: Moha684 <nahil82466@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/turris/foris-js/"
"fr/>\n"
"Language: fr\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"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.9-rc\n"
"Generated-By: Babel 2.16.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
@ -39,7 +38,7 @@ msgstr "Une erreur dAPI inconnue sest produite."
#: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101 #: src/bootstrap/Alert.js:73 src/bootstrap/Modal.js:101
#: src/common/WiFiSettings/WiFiQRCode.js:89 #: src/common/WiFiSettings/WiFiQRCode.js:89
msgid "Close" msgid "Close"
msgstr "Fermer" msgstr ""
#: src/bootstrap/CopyInput.js:56 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
@ -50,12 +49,13 @@ msgid "Copy"
msgstr "Copier" msgstr "Copier"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
#, fuzzy
msgid "Action successful." msgid "Action successful."
msgstr "Paramètres enregistrés avec succès." msgstr "Paramètres enregistrés avec succès"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Action failed." msgid "Action failed."
msgstr "L'enregistrement des paramètres a échoué." msgstr ""
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Cancel" msgid "Cancel"
@ -84,39 +84,39 @@ msgstr ""
#: src/common/RichTable/RichTablePagination.js:71 #: src/common/RichTable/RichTablePagination.js:71
msgid "First page" msgid "First page"
msgstr "Première page" msgstr ""
#: src/common/RichTable/RichTablePagination.js:77 #: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page" msgid "Previous page"
msgstr "Page précédente" msgstr ""
#: src/common/RichTable/RichTablePagination.js:83 #: src/common/RichTable/RichTablePagination.js:83
msgid "Next page" msgid "Next page"
msgstr "Page suivante" msgstr ""
#: src/common/RichTable/RichTablePagination.js:89 #: src/common/RichTable/RichTablePagination.js:89
msgid "Last page" msgid "Last page"
msgstr "Dernière page" msgstr ""
#: src/common/RichTable/RichTablePagination.js:95 #: src/common/RichTable/RichTablePagination.js:95
msgid "Page" msgid "Page"
msgstr "Page" msgstr ""
#: src/common/RichTable/RichTablePagination.js:98 #: src/common/RichTable/RichTablePagination.js:98
msgid "of" msgid "of"
msgstr "de" msgstr ""
#: src/common/RichTable/RichTablePagination.js:106 #: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:" msgid "Rows per page:"
msgstr "Lignes par page :" msgstr ""
#: src/common/RichTable/RichTablePagination.js:109 #: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page" msgid "Select rows per page"
msgstr "Sélectionnez les lignes par page" msgstr ""
#: src/common/RichTable/RichTablePagination.js:121 #: src/common/RichTable/RichTablePagination.js:121
msgid "All" msgid "All"
msgstr "Tout" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
@ -473,3 +473,4 @@ msgstr ""
#~ msgid "Are you sure you want to restart the router?" #~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Voulez-vous vraiment redémarrer le routeur ?" #~ msgstr "Voulez-vous vraiment redémarrer le routeur ?"

View File

@ -8,16 +8,15 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-11-13 14:06+0100\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-12-14 10:00+0000\n" "PO-Revision-Date: 2024-09-09 18:09+0000\n"
"Last-Translator: Atec <dr.atec@gmail.com>\n" "Last-Translator: Atec <dr.atec@gmail.com>\n"
"Language-Team: Slovak <https://hosted.weblate.org/projects/turris/foris-js/"
"sk/>\n"
"Language: sk\n" "Language: sk\n"
"Language-Team: Slovak <https://hosted.weblate.org/projects/turris/foris-"
"js/sk/>\n"
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
"X-Generator: Weblate 5.9-rc\n"
"Generated-By: Babel 2.16.0\n" "Generated-By: Babel 2.16.0\n"
#: src/api/utils.js:61 #: src/api/utils.js:61
@ -50,72 +49,74 @@ msgid "Copy"
msgstr "Kopírovať" msgstr "Kopírovať"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
#, fuzzy
msgid "Action successful." msgid "Action successful."
msgstr "Akcia úspešná." msgstr "Nastavenia boli úspešne uložené"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Action failed." msgid "Action failed."
msgstr "Akcia neúspešná." msgstr ""
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Cancel" msgid "Cancel"
msgstr "Zrušiť" msgstr "Zrušiť"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
#, fuzzy
msgid "Confirm" msgid "Confirm"
msgstr "Potvrdiť" msgstr "Potvrdiť reštart"
#: src/common/RichTable/RichTableHeader.js:29 #: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending" msgid "Sort ascending"
msgstr "Zoradiť vzostupne" msgstr ""
#: src/common/RichTable/RichTableHeader.js:30 #: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending" msgid "Sort descending"
msgstr "Zoradiť zostupne" msgstr ""
#: src/common/RichTable/RichTableHeader.js:31 #: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort" msgid "Clear sort"
msgstr "Vymazať zoradenie" msgstr ""
#: src/common/RichTable/RichTablePagination.js:65 #: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar" msgid "Pagination navigation bar"
msgstr "Navigačný pás stránkovania" msgstr ""
#: src/common/RichTable/RichTablePagination.js:71 #: src/common/RichTable/RichTablePagination.js:71
msgid "First page" msgid "First page"
msgstr "Prvá strana" msgstr ""
#: src/common/RichTable/RichTablePagination.js:77 #: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page" msgid "Previous page"
msgstr "Predchádzajúca strana" msgstr ""
#: src/common/RichTable/RichTablePagination.js:83 #: src/common/RichTable/RichTablePagination.js:83
msgid "Next page" msgid "Next page"
msgstr "Nasledujúca strana" msgstr ""
#: src/common/RichTable/RichTablePagination.js:89 #: src/common/RichTable/RichTablePagination.js:89
msgid "Last page" msgid "Last page"
msgstr "Posledná strana" msgstr ""
#: src/common/RichTable/RichTablePagination.js:95 #: src/common/RichTable/RichTablePagination.js:95
msgid "Page" msgid "Page"
msgstr "Strana" msgstr ""
#: src/common/RichTable/RichTablePagination.js:98 #: src/common/RichTable/RichTablePagination.js:98
msgid "of" msgid "of"
msgstr "z" msgstr ""
#: src/common/RichTable/RichTablePagination.js:106 #: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:" msgid "Rows per page:"
msgstr "Počet riadkov na stranu:" msgstr ""
#: src/common/RichTable/RichTablePagination.js:109 #: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page" msgid "Select rows per page"
msgstr "Vyberte počet riadkov na stranu" msgstr ""
#: src/common/RichTable/RichTablePagination.js:121 #: src/common/RichTable/RichTablePagination.js:121
msgid "All" msgid "All"
msgstr "Všetky" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
@ -446,3 +447,4 @@ msgstr "Neobsahuje zoznam e-mailov oddelených čiarkami."
#~ msgid "Are you sure you want to restart the router?" #~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Naozaj sa má router reštartovať?" #~ msgstr "Naozaj sa má router reštartovať?"