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

Compare commits

...

19 Commits

Author SHA1 Message Date
Aleksandr Gumroian
605f61bdd6
Update Snapshots 2024-12-05 17:48:19 +01:00
Aleksandr Gumroian
25181db628
Fix tests 2024-12-05 17:48:10 +01:00
Aleksandr Gumroian
10c328f15f
fixup! fixup! !fixup WiFi API update 2024-12-05 17:47:11 +01:00
Stepan Henek
a7f36be30c
fixup! !fixup WiFi API update 2024-12-05 17:46:06 +01:00
Aleksandr Gumroian
30fa79b55e
!fixup WiFi API update 2024-12-05 17:46:06 +01:00
Stepan Henek
01d4ae74e4
WiFi API update
Deprecated option `hwmode=11g/11a` was replaced by `band=2g/5g/6g`
2024-12-05 17:46:06 +01:00
Aleksandr Gumroian
30fd6f91b4 Merge branch 'dev' into 'master'
Dev

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

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

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

See merge request turris/reforis/foris-js!253
2024-11-08 23:52:53 +01:00
Aleksandr Gumroian
e6365ecac4
Update Snapshots 2024-11-08 17:59:15 +01:00
Aleksandr Gumroian
e57722caa0
Add RebootButton and RichTable components to documentation 2024-11-08 17:59:15 +01:00
Aleksandr Gumroian
babdf92ddd
Fix import path for CustomizationContextMock in customTestRender.js 2024-11-08 17:59:02 +01:00
Aleksandr Gumroian
42294316d9
Add RichTable component with header, body, and pagination 2024-11-08 17:59:02 +01:00
Aleksandr Gumroian
b65e034b04
Add @tanstack/react-table v8.20.5 to dependencies 2024-11-04 22:27:14 +01:00
47 changed files with 2798 additions and 723 deletions

View File

@ -8,6 +8,20 @@ and this project adheres to
## [Unreleased] ## [Unreleased]
## [6.5.0] - 2024-11-13
### Added
- Added & updated Weblate translations
- Added RichTable component with pagination and sorting
- Added @tanstack/react-table v8.20.5 to dependencies
### Changed
- Updated documentation
- Replaced RebootButton with ActionButtonWithModal component
- Fixed import path for CustomizationContextMock in customTestRender.js
## [6.4.0] - 2024-10-02 ## [6.4.0] - 2024-10-02
### Changed ### Changed
@ -405,7 +419,8 @@ 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.4.0...dev https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.5.0...dev
[6.5.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.4.0...v6.5.0
[6.4.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.3.0...v6.4.0 [6.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
[6.2.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.0...v6.2.1 [6.2.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.0...v6.2.1

55
package-lock.json generated
View File

@ -1,18 +1,19 @@
{ {
"name": "foris", "name": "foris",
"version": "6.4.0", "version": "6.5.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "foris", "name": "foris",
"version": "6.4.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",
"@fortawesome/free-regular-svg-icons": "^6.6.0", "@fortawesome/free-regular-svg-icons": "^6.6.0",
"@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0",
"@fortawesome/react-fontawesome": "^0.2.2", "@fortawesome/react-fontawesome": "^0.2.2",
"@tanstack/react-table": "^8.20.5",
"axios": "^1.7.2", "axios": "^1.7.2",
"immutability-helper": "^3.1.1", "immutability-helper": "^3.1.1",
"moment": "^2.30.1", "moment": "^2.30.1",
@ -3583,6 +3584,39 @@
"@sinonjs/commons": "^3.0.0" "@sinonjs/commons": "^3.0.0"
} }
}, },
"node_modules/@tanstack/react-table": {
"version": "8.20.5",
"resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.20.5.tgz",
"integrity": "sha512-WEHopKw3znbUZ61s9i0+i9g8drmDo6asTWbrQh8Us63DAk/M0FkmIqERew6P71HI75ksZ2Pxyuf4vvKh9rAkiA==",
"license": "MIT",
"dependencies": {
"@tanstack/table-core": "8.20.5"
},
"engines": {
"node": ">=12"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
},
"peerDependencies": {
"react": ">=16.8",
"react-dom": ">=16.8"
}
},
"node_modules/@tanstack/table-core": {
"version": "8.20.5",
"resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.20.5.tgz",
"integrity": "sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg==",
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
}
},
"node_modules/@testing-library/dom": { "node_modules/@testing-library/dom": {
"version": "5.6.1", "version": "5.6.1",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz",
@ -15493,7 +15527,6 @@
"version": "16.9.0", "version": "16.9.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.9.0.tgz", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.9.0.tgz",
"integrity": "sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==", "integrity": "sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==",
"dev": true,
"dependencies": { "dependencies": {
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"object-assign": "^4.1.1", "object-assign": "^4.1.1",
@ -16247,7 +16280,6 @@
"version": "0.15.0", "version": "0.15.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
"integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==", "integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==",
"dev": true,
"dependencies": { "dependencies": {
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"object-assign": "^4.1.1" "object-assign": "^4.1.1"
@ -21102,6 +21134,19 @@
"@sinonjs/commons": "^3.0.0" "@sinonjs/commons": "^3.0.0"
} }
}, },
"@tanstack/react-table": {
"version": "8.20.5",
"resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.20.5.tgz",
"integrity": "sha512-WEHopKw3znbUZ61s9i0+i9g8drmDo6asTWbrQh8Us63DAk/M0FkmIqERew6P71HI75ksZ2Pxyuf4vvKh9rAkiA==",
"requires": {
"@tanstack/table-core": "8.20.5"
}
},
"@tanstack/table-core": {
"version": "8.20.5",
"resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.20.5.tgz",
"integrity": "sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg=="
},
"@testing-library/dom": { "@testing-library/dom": {
"version": "5.6.1", "version": "5.6.1",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz",
@ -30083,7 +30128,6 @@
"version": "16.9.0", "version": "16.9.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.9.0.tgz", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.9.0.tgz",
"integrity": "sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==", "integrity": "sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==",
"dev": true,
"requires": { "requires": {
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"object-assign": "^4.1.1", "object-assign": "^4.1.1",
@ -30648,7 +30692,6 @@
"version": "0.15.0", "version": "0.15.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
"integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==", "integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==",
"dev": true,
"requires": { "requires": {
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"object-assign": "^4.1.1" "object-assign": "^4.1.1"

View File

@ -1,6 +1,6 @@
{ {
"name": "foris", "name": "foris",
"version": "6.4.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": {
@ -18,6 +18,7 @@
"@fortawesome/free-regular-svg-icons": "^6.6.0", "@fortawesome/free-regular-svg-icons": "^6.6.0",
"@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0",
"@fortawesome/react-fontawesome": "^0.2.2", "@fortawesome/react-fontawesome": "^0.2.2",
"@tanstack/react-table": "^8.20.5",
"axios": "^1.7.2", "axios": "^1.7.2",
"immutability-helper": "^3.1.1", "immutability-helper": "^3.1.1",
"moment": "^2.30.1", "moment": "^2.30.1",

View File

@ -0,0 +1,135 @@
/*
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
*
* This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information.
*/
import React, { useState, useEffect } from "react";
import PropTypes from "prop-types";
import { useAPIPost } from "../../api/hooks";
import { API_STATE } from "../../api/utils";
import Button from "../../bootstrap/Button";
import {
Modal,
ModalHeader,
ModalBody,
ModalFooter,
} from "../../bootstrap/Modal";
import { useAlert } from "../../context/alertContext/AlertContext";
ActionButtonWithModal.propTypes = {
/** Component that triggers the action. */
actionTrigger: PropTypes.elementType.isRequired,
/** URL to send the action to. */
actionUrl: PropTypes.string.isRequired,
/** Title of the modal. */
modalTitle: PropTypes.string.isRequired,
/** Message of the modal. */
modalMessage: PropTypes.string.isRequired,
/** Text of the action button in the modal. */
modalActionText: PropTypes.string,
/** Props for the action button in the modal. */
modalActionProps: PropTypes.object,
/** Message to display on successful action. */
successMessage: PropTypes.string,
/** Message to display on failed action. */
errorMessage: PropTypes.string,
};
function ActionButtonWithModal({
actionTrigger: ActionTriggerComponent,
actionUrl,
modalTitle,
modalMessage,
modalActionText,
modalActionProps,
successMessage,
errorMessage,
}) {
const [triggered, setTriggered] = useState(false);
const [modalShown, setModalShown] = useState(false);
const [triggerActionStatus, triggerAction] = useAPIPost(actionUrl);
const [setAlert] = useAlert();
useEffect(() => {
if (triggerActionStatus.state === API_STATE.SUCCESS) {
setAlert(
successMessage || _("Action successful."),
API_STATE.SUCCESS
);
}
if (triggerActionStatus.state === API_STATE.ERROR) {
setAlert(errorMessage || _("Action failed."));
}
}, [triggerActionStatus, setAlert, successMessage, errorMessage]);
const actionHandler = () => {
setTriggered(true);
triggerAction();
setModalShown(false);
};
return (
<>
<ActionModal
shown={modalShown}
setShown={setModalShown}
onAction={actionHandler}
title={modalTitle}
message={modalMessage}
actionText={modalActionText}
actionProps={modalActionProps}
/>
<ActionTriggerComponent
loading={triggered}
disabled={triggered}
onClick={() => setModalShown(true)}
/>
</>
);
}
ActionModal.propTypes = {
shown: PropTypes.bool.isRequired,
setShown: PropTypes.func.isRequired,
onAction: PropTypes.func.isRequired,
title: PropTypes.string.isRequired,
message: PropTypes.string.isRequired,
actionText: PropTypes.string,
actionProps: PropTypes.object,
};
function ActionModal({
shown,
setShown,
onAction,
title,
message,
actionText,
actionProps,
}) {
return (
<Modal shown={shown} setShown={setShown}>
<ModalHeader setShown={setShown} title={title} />
<ModalBody>
<p className="mb-0">{message}</p>
</ModalBody>
<ModalFooter>
<Button
className="btn-secondary"
onClick={() => setShown(false)}
>
{_("Cancel")}
</Button>
<Button onClick={onAction} {...actionProps}>
{actionText || _("Confirm")}
</Button>
</ModalFooter>
</Modal>
);
}
export default ActionButtonWithModal;

View File

@ -0,0 +1,39 @@
RebootButton component is a button that opens a modal dialog to confirm the
reboot of the device.
## Usage
```jsx
import React, { useEffect, createContext } from "react";
import Button from "../../bootstrap/Button";
import { AlertContextProvider } from "../../context/alertContext/AlertContext";
import ActionButtonWithModal from "./ActionButtonWithModal";
window.AlertContext = React.createContext();
const RebootButtonExample = () => {
const ActionButton = (props) => {
return <Button {...props}>Action</Button>;
};
return (
<AlertContextProvider>
<div id="modal-container" />
<div id="alert-container" />
<ActionButtonWithModal
actionTrigger={ActionButton}
actionUrl="/reforis/api/action"
modalTitle="Warning!"
modalMessage="Are you sure you want to perform this action?"
modalActionText="Confirm action"
modalActionProps={{ className: "btn-danger" }}
successMessage="Action request succeeded."
errorMessage="Action request failed."
/>
</AlertContextProvider>
);
};
<RebootButtonExample />;
```

View File

@ -1,80 +0,0 @@
/*
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
*
* This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information.
*/
import React, { useState, useEffect } from "react";
import PropTypes from "prop-types";
import { useAPIPost } from "../api/hooks";
import { API_STATE } from "../api/utils";
import Button from "../bootstrap/Button";
import { Modal, ModalHeader, ModalBody, ModalFooter } from "../bootstrap/Modal";
import { useAlert } from "../context/alertContext/AlertContext";
import { ForisURLs } from "../utils/forisUrls";
function RebootButton(props) {
const [triggered, setTriggered] = useState(false);
const [modalShown, setModalShown] = useState(false);
const [triggerRebootStatus, triggerReboot] = useAPIPost(ForisURLs.reboot);
const [setAlert] = useAlert();
useEffect(() => {
if (triggerRebootStatus.state === API_STATE.ERROR) {
setAlert(_("Reboot request failed."));
}
});
const rebootHandler = () => {
setTriggered(true);
triggerReboot();
setModalShown(false);
};
return (
<>
<RebootModal
shown={modalShown}
setShown={setModalShown}
onReboot={rebootHandler}
/>
<Button
className="btn-danger"
loading={triggered}
disabled={triggered}
onClick={() => setModalShown(true)}
{...props}
>
{_("Reboot")}
</Button>
</>
);
}
RebootModal.propTypes = {
shown: PropTypes.bool.isRequired,
setShown: PropTypes.func.isRequired,
onReboot: PropTypes.func.isRequired,
};
function RebootModal({ shown, setShown, onReboot }) {
return (
<Modal shown={shown} setShown={setShown}>
<ModalHeader setShown={setShown} title={_("Warning!")} />
<ModalBody>
<p>{_("Are you sure you want to restart the router?")}</p>
</ModalBody>
<ModalFooter>
<Button onClick={() => setShown(false)}>{_("Cancel")}</Button>
<Button className="btn-danger" onClick={onReboot}>
{_("Confirm reboot")}
</Button>
</ModalFooter>
</Modal>
);
}
export default RebootButton;

View File

@ -0,0 +1,84 @@
/*
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
*
* This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information.
*/
import React, { useMemo, useState } from "react";
import {
flexRender,
getCoreRowModel,
getSortedRowModel,
getPaginationRowModel,
useReactTable,
} from "@tanstack/react-table";
import PropTypes from "prop-types";
import RichTableBody from "./RichTableBody";
import RichTableHeader from "./RichTableHeader";
import RichTablePagination from "./RichTablePagination";
const fallbackData = [];
RichTable.propTypes = {
/** Columns to be displayed in the table */
columns: PropTypes.array.isRequired,
/** Data to be displayed in the table */
data: PropTypes.array.isRequired,
/** Whether to display pagination */
withPagination: PropTypes.bool,
/** Number of rows per page */
pageSize: PropTypes.number,
/** Index of the current page */
pageIndex: PropTypes.number,
};
function RichTable({
columns,
data,
withPagination,
pageSize = 5,
pageIndex = 0,
}) {
const tableColumns = useMemo(() => columns, [columns]);
const [tableData] = useState(data ?? fallbackData);
const [sorting, setSorting] = useState([]);
const [pagination, setPagination] = useState({
pageIndex,
pageSize,
});
const table = useReactTable({
data: tableData,
columns: tableColumns,
getCoreRowModel: getCoreRowModel(),
getSortedRowModel: getSortedRowModel(),
getPaginationRowModel: getPaginationRowModel(),
onPaginationChange: setPagination,
onSortingChange: setSorting,
state: {
sorting,
pagination,
},
});
return (
<div className="table-responsive">
<table className="table table-hover text-nowrap">
<RichTableHeader table={table} flexRender={flexRender} />
<RichTableBody table={table} flexRender={flexRender} />
</table>
{withPagination && (
<RichTablePagination
table={table}
tablePageSize={pageSize}
allRows={tableData.length}
/>
)}
</div>
);
}
export default RichTable;

View File

@ -0,0 +1,135 @@
### Description
Rich Table is a table component based on
[Tanstack React Table](https://tanstack.com/table/). It adds some features to
the table component, such as:
- **Pagination**: The table can be paginated.
- **Sorting**: The table can be sorted by columns.
- **Row Expansion**: The table rows can be expanded. (To be implemented)
### Example
```js
import RichTable from "./RichTable";
const columns = [
{
header: "Name",
accessorKey: "name",
},
{
header: "Surname",
accessorKey: "surname",
},
{
header: "Age",
accessorKey: "age",
},
{
header: "Phone",
accessorKey: "phone",
},
];
const data = [
{
name: "John",
surname: "Coltrane",
age: 30,
phone: "123456789",
},
{
name: "Jane",
surname: "Doe",
age: 25,
phone: "987654321",
},
{
name: "Alice",
surname: "Smith",
age: 35,
phone: "123456789",
},
{
name: "Bob",
surname: "Smith",
age: 40,
phone: "987654321",
},
{
name: "Charlie",
surname: "Brown",
age: 45,
phone: "123456789",
},
{
name: "Daisy",
surname: "Brown",
age: 50,
phone: "987654321",
},
{
name: "Eve",
surname: "Johnson",
age: 55,
phone: "123456789",
},
{
name: "Frank",
surname: "Johnson",
age: 60,
phone: "987654321",
},
{
name: "Grace",
surname: "Williams",
age: 65,
phone: "123456789",
},
{
name: "Henry",
surname: "Williams",
age: 70,
phone: "987654321",
},
{
name: "Ivy",
surname: "Brown",
age: 75,
phone: "123456789",
},
{
name: "Jack",
surname: "Brown",
age: 80,
phone: "987654321",
},
{
name: "Kelly",
surname: "Johnson",
age: 85,
phone: "123456789",
},
{
name: "Liam",
surname: "Johnson",
age: 90,
phone: "987654321",
},
{
name: "Mia",
surname: "Williams",
age: 95,
phone: "123456789",
},
{
name: "Nathan",
surname: "Williams",
age: 100,
phone: "987654321",
},
];
<RichTable columns={columns} data={data} withPagination />;
```

View File

@ -0,0 +1,48 @@
/*
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
*
* This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information.
*/
import React from "react";
import propTypes from "prop-types";
RichTableBody.propTypes = {
table: propTypes.shape({
getRowModel: propTypes.func.isRequired,
}).isRequired,
flexRender: propTypes.func.isRequired,
};
function RichTableBody({ table, flexRender }) {
return (
<tbody>
{table.getRowModel().rows.map((row) => {
return (
<tr key={row.id} className="align-middle">
{row.getVisibleCells().map((cell) => {
return (
<td
key={cell.id}
{...(cell.column.columnDef.className && {
className:
cell.column.columnDef.className,
})}
>
{flexRender(
cell.column.columnDef.cell,
cell.getContext()
)}
</td>
);
})}
</tr>
);
})}
</tbody>
);
}
export default RichTableBody;

View File

@ -0,0 +1,96 @@
/*
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
*
* This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information.
*/
import React from "react";
import {
faSquareCaretUp,
faSquareCaretDown,
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import propTypes from "prop-types";
RichTableHeader.propTypes = {
table: propTypes.shape({
getHeaderGroups: propTypes.func.isRequired,
}).isRequired,
flexRender: propTypes.func.isRequired,
};
function RichTableHeader({ table, flexRender }) {
const getThTitle = (header) => {
if (!header.column.getCanSort()) return undefined;
const nextSortingOrder = header.column.getNextSortingOrder();
if (nextSortingOrder === "asc") return _("Sort ascending");
if (nextSortingOrder === "desc") return _("Sort descending");
return _("Clear sort");
};
return (
<thead className="thead-light">
{table.getHeaderGroups().map((headerGroup) => (
<tr key={headerGroup.id} role="row">
{headerGroup.headers.map((header) => (
<th
key={header.id}
colSpan={header.colSpan}
{...(header.column.columnDef.headerClassName && {
className:
header.column.columnDef.headerClassName,
})}
>
{header.isPlaceholder ||
header.column.columnDef.headerIsHidden ? (
<div className="d-none" aria-hidden="true">
{flexRender(
header.column.columnDef.header,
header.getContext()
)}
</div>
) : (
<button
type="button"
className={`btn btn-link text-decoration-none text-reset fw-bold p-0 d-flex align-items-center
${
header.column.getCanSort()
? "d-flex align-items-center"
: ""
}
`}
onClick={header.column.getToggleSortingHandler()}
title={getThTitle(header)}
>
{flexRender(
header.column.columnDef.header,
header.getContext()
)}
{{
asc: (
<FontAwesomeIcon
icon={faSquareCaretUp}
className="ms-1 text-primary"
/>
),
desc: (
<FontAwesomeIcon
icon={faSquareCaretDown}
className="ms-1 text-primary"
/>
),
}[header.column.getIsSorted()] ?? null}
</button>
)}
</th>
))}
</tr>
))}
</thead>
);
}
export default RichTableHeader;

View File

@ -0,0 +1,128 @@
/*
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
*
* This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information.
*/
import React, { useMemo } from "react";
import {
faAngleLeft,
faAnglesLeft,
faAngleRight,
faAnglesRight,
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import propTypes from "prop-types";
RichTablePagination.propTypes = {
table: propTypes.shape({
getState: propTypes.func.isRequired,
getCanPreviousPage: propTypes.func.isRequired,
getCanNextPage: propTypes.func.isRequired,
firstPage: propTypes.func.isRequired,
previousPage: propTypes.func.isRequired,
nextPage: propTypes.func.isRequired,
lastPage: propTypes.func.isRequired,
setPageSize: propTypes.func.isRequired,
getPageCount: propTypes.func.isRequired,
}).isRequired,
tablePageSize: propTypes.number,
allRows: propTypes.number,
};
function RichTablePagination({ table, tablePageSize, allRows }) {
const { pagination } = table.getState();
const prevPagBtnDisabled = !table.getCanPreviousPage();
const nextPagBtnDisabled = !table.getCanNextPage();
const pageSizes = useMemo(() => {
return [tablePageSize ?? 5, 10, 25].filter(
(value, index, self) => self.indexOf(value) === index
);
}, [tablePageSize]);
const renderPaginationButton = (icon, ariaLabel, onClick, disabled) => (
<li
className={`page-item ${disabled ? "disabled" : ""}`}
style={{ cursor: disabled ? "not-allowed" : "pointer" }}
>
<button
type="button"
className="page-link"
aria-label={ariaLabel}
onClick={onClick}
disabled={disabled}
>
<FontAwesomeIcon icon={icon} />
</button>
</li>
);
return (
<nav
aria-label={_("Pagination navigation bar")}
className="d-flex gap-2 justify-content-start align-items-center mx-2 mb-1 text-nowrap"
>
<ul className="pagination pagination-sm mb-0">
{renderPaginationButton(
faAnglesLeft,
_("First page"),
() => table.firstPage(),
prevPagBtnDisabled
)}
{renderPaginationButton(
faAngleLeft,
_("Previous page"),
() => table.previousPage(),
prevPagBtnDisabled
)}
{renderPaginationButton(
faAngleRight,
_("Next page"),
() => table.nextPage(),
nextPagBtnDisabled
)}
{renderPaginationButton(
faAnglesRight,
_("Last page"),
() => table.lastPage(),
nextPagBtnDisabled
)}
</ul>
<span>
{_("Page")}&nbsp;
<span className="fw-bold">
{pagination.pageIndex + 1}
&nbsp;{_("of")}&nbsp;
{table.getPageCount().toLocaleString()}
</span>
</span>
<div
className="vr mx-1 align-self-center"
style={{ height: "1.5rem" }}
/>
<span>{_("Rows per page:")}</span>
<select
className="form-select form-select-sm w-auto"
aria-label={_("Select rows per page")}
value={pagination.pageSize}
onChange={(e) => {
table.setPageSize(Number(e.target.value));
}}
>
{pageSizes.map((pageSize) => (
<option key={pageSize} value={pageSize}>
{pageSize}
</option>
))}
<option key={allRows} value={allRows}>
{_("All")}
</option>
</select>
</nav>
);
}
export default RichTablePagination;

View File

@ -9,7 +9,7 @@ import React from "react";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import { HELP_TEXTS, HTMODES, HWMODES, ENCRYPTIONMODES } from "./constants"; import { HELP_TEXTS, HTMODES, BANDS, 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,
hwmode: PropTypes.string.isRequired, band: 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={`hwmode-${deviceID}`} name={`band-${deviceID}`}
label="GHz" label={_("Band")}
choices={getHwmodeChoices(formData)} choices={getBandChoices(formData)}
value={formData.hwmode} value={formData.band}
helpText={HELP_TEXTS.hwmode} helpText={HELP_TEXTS.band}
inline inline
onChange={setFormValue((value) => { onChange={setFormValue((value) => {
// Get the last item in an array of available HT modes // Find the selected band
const [best2] = bnds[0].available_htmodes.slice(-1); const selectedBand = bnds.find(
const [best5] = bnds[1].available_htmodes.slice(-1); (band) => band.band === value
);
// 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]: {
hwmode: { $set: value }, band: { $set: value },
channel: { $set: "0" }, channel: { $set: "0" },
htmode: { htmode: { $set: bestHtmode },
$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.hwmode !== device.hwmode) return; if (availableBand.band !== device.band) 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.hwmode !== device.hwmode) return; if (availableBand.band !== device.band) 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 getHwmodeChoices(device) { function getBandChoices(device) {
return device.available_bands.map((availableBand) => ({ return device.available_bands.map((availableBand) => ({
label: HWMODES[availableBand.hwmode], label: `${BANDS[availableBand.band]} GHz`,
value: availableBand.hwmode, value: availableBand.band,
})); }));
} }

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",
hwmode: "11a", band: "5g",
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",
hwmode: "11g", band: "2g",
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",
hwmode: "11a", band: "5g",
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",
], ],
hwmode: "11g", band: "2g",
}, },
{ {
available_channels: [ available_channels: [
@ -215,7 +215,7 @@ export function wifiSettingsFixture() {
"VHT40", "VHT40",
"VHT80", "VHT80",
], ],
hwmode: "11a", band: "5g",
}, },
], ],
channel: 60, channel: 60,
@ -227,7 +227,7 @@ export function wifiSettingsFixture() {
}, },
hidden: false, hidden: false,
htmode: "HT80", htmode: "HT80",
hwmode: "11a", band: "5g",
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"],
hwmode: "11g", band: "2g",
}, },
], ],
channel: 11, channel: 11,
@ -306,7 +306,7 @@ export function wifiSettingsFixture() {
}, },
hidden: false, hidden: false,
htmode: "HT40", htmode: "HT40",
hwmode: "11g", band: "2g",
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",
hwmode: "11a", band: "5g",
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",
hwmode: "11a", band: "5g",
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",
hwmode: "11a", band: "5g",
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",
hwmode: "11a", band: "5g",
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",
hwmode: "11a", band: "5g",
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",
hwmode: "11a", band: "5g",
id: 2, id: 2,
password: "", password: "",
encryption: "WPA3", encryption: "WPA3",

View File

@ -555,23 +555,23 @@ exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
+ class="d-block" + class="d-block"
+ for="6" + for="6"
+ > + >
+ GHz + Band
+ </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="hwmode-0-0" + id="band-0-0"
+ name="hwmode-0" + name="band-0"
+ type="radio" + type="radio"
+ value="11g" + value="2g"
+ /> + />
+ <label + <label
+ class="form-check-label" + class="form-check-label"
+ for="hwmode-0-0" + for="band-0-0"
+ > + >
+ 2.4 + 2.4 GHz
+ </label> + </label>
+ </div> + </div>
+ <div + <div
@ -580,16 +580,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="hwmode-0-1" + id="band-0-1"
+ name="hwmode-0" + name="band-0"
+ type="radio" + type="radio"
+ value="11a" + value="5g"
+ /> + />
+ <label + <label
+ class="form-check-label" + class="form-check-label"
+ for="hwmode-0-1" + for="band-0-1"
+ > + >
+ 5 + 5 GHz
+ </label> + </label>
+ </div> + </div>
+ <div + <div

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2019-2022 CZ.NIC z.s.p.o. (https://www.nic.cz/) * Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
* *
* This is free software, licensed under the GNU General Public License v3. * This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information. * See /LICENSE for more information.
@ -18,9 +18,10 @@ export const HTMODES = {
HE80: _("802.11ax - 80 MHz wide channel"), HE80: _("802.11ax - 80 MHz wide channel"),
HE160: _("802.11ax - 160 MHz wide channel"), HE160: _("802.11ax - 160 MHz wide channel"),
}; };
export const HWMODES = { export const BANDS = {
"11g": "2.4", "2g": "2.4",
"11a": "5", "5g": "5",
"6g": "6",
}; };
export const ENCRYPTIONMODES = { export const ENCRYPTIONMODES = {
WPA3: _("WPA3 only"), WPA3: _("WPA3 only"),
@ -37,7 +38,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."
), ),
hwmode: _( band: _(
"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

@ -0,0 +1,92 @@
/*
* Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
*
* This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information.
*/
import React from "react";
import Button from "bootstrap/Button";
import {
fireEvent,
getByText,
queryByText,
render,
wait,
} from "customTestRender";
import mockAxios from "jest-mock-axios";
import { mockJSONError } from "testUtils/network";
import { mockSetAlert } from "testUtils/alertContextMock";
import ActionButtonWithModal from "../ActionButtonWithModal/ActionButtonWithModal";
describe("<ActionButtonWithModal/>", () => {
let componentContainer;
const ActionButton = (props) => (
<Button type="button" {...props}>
Action
</Button>
);
beforeEach(() => {
const { container } = render(
<>
<div id="modal-container" />
<div id="alert-container" />
<ActionButtonWithModal
actionTrigger={ActionButton}
actionUrl="/reforis/api/action"
modalTitle="Warning!"
modalMessage="Are you sure you want to perform this action?"
modalActionText="Confirm action"
modalActionProps={{ className: "btn-danger" }}
successMessage="Action request succeeded."
errorMessage="Action request failed."
/>
</>
);
componentContainer = container;
});
it("Render button.", () => {
expect(componentContainer).toMatchSnapshot();
});
it("Render modal.", () => {
fireEvent.click(getByText(componentContainer, "Action"));
expect(componentContainer).toMatchSnapshot();
});
it("Confirm action.", () => {
fireEvent.click(getByText(componentContainer, "Action"));
fireEvent.click(getByText(componentContainer, "Confirm action"));
expect(mockAxios.post).toHaveBeenCalledWith(
"/reforis/api/action",
undefined,
expect.anything()
);
});
it("Hold error.", async () => {
fireEvent.click(getByText(componentContainer, "Action"));
fireEvent.click(getByText(componentContainer, "Confirm action"));
mockJSONError();
await wait(() =>
expect(mockSetAlert).toBeCalledWith("Action request failed.")
);
});
it("Show success alert on successful action.", async () => {
fireEvent.click(getByText(componentContainer, "Action"));
fireEvent.click(getByText(componentContainer, "Confirm action"));
mockAxios.mockResponse({ status: 200 });
await wait(() =>
expect(mockSetAlert).toBeCalledWith(
"Action request succeeded.",
"success"
)
);
});
});

View File

@ -1,63 +0,0 @@
/*
* Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
*
* This is free software, licensed under the GNU General Public License v3.
* See /LICENSE for more information.
*/
import React from "react";
import {
fireEvent,
getByText,
queryByText,
render,
wait,
} from "customTestRender";
import mockAxios from "jest-mock-axios";
import { mockJSONError } from "testUtils/network";
import { mockSetAlert } from "testUtils/alertContextMock";
import RebootButton from "../RebootButton";
describe("<RebootButton/>", () => {
let componentContainer;
beforeEach(() => {
const { container } = render(
<>
<div id="modal-container" />
<RebootButton />
</>
);
componentContainer = container;
});
it("Render.", () => {
expect(componentContainer).toMatchSnapshot();
});
it("Render modal.", () => {
expect(queryByText(componentContainer, "Confirm reboot")).toBeNull();
fireEvent.click(getByText(componentContainer, "Reboot"));
expect(componentContainer).toMatchSnapshot();
});
it("Confirm reboot.", () => {
fireEvent.click(getByText(componentContainer, "Reboot"));
fireEvent.click(getByText(componentContainer, "Confirm reboot"));
expect(mockAxios.post).toHaveBeenCalledWith(
"/reforis/api/reboot",
undefined,
expect.anything()
);
});
it("Hold error.", async () => {
fireEvent.click(getByText(componentContainer, "Reboot"));
fireEvent.click(getByText(componentContainer, "Confirm reboot"));
mockJSONError();
await wait(() =>
expect(mockSetAlert).toBeCalledWith("Reboot request failed.")
);
});
});

View File

@ -1,6 +1,25 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP // Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<RebootButton/> Render modal. 1`] = ` exports[`<ActionButtonWithModal/> Render button. 1`] = `
<div>
<div
id="modal-container"
/>
<div
id="alert-container"
/>
<button
class="btn btn-primary d-inline-flex justify-content-center align-items-center"
type="button"
>
<span>
Action
</span>
</button>
</div>
`;
exports[`<ActionButtonWithModal/> Render modal. 1`] = `
<div> <div>
<div <div
id="modal-container" id="modal-container"
@ -35,15 +54,17 @@ exports[`<RebootButton/> Render modal. 1`] = `
<div <div
class="modal-body" class="modal-body"
> >
<p> <p
Are you sure you want to restart the router? class="mb-0"
>
Are you sure you want to perform this action?
</p> </p>
</div> </div>
<div <div
class="modal-footer" class="modal-footer"
> >
<button <button
class="btn btn-primary d-inline-flex justify-content-center align-items-center" class="btn btn-secondary d-inline-flex justify-content-center align-items-center"
type="button" type="button"
> >
<span> <span>
@ -55,7 +76,7 @@ exports[`<RebootButton/> Render modal. 1`] = `
type="button" type="button"
> >
<span> <span>
Confirm reboot Confirm action
</span> </span>
</button> </button>
</div> </div>
@ -63,28 +84,15 @@ exports[`<RebootButton/> Render modal. 1`] = `
</div> </div>
</div> </div>
</div> </div>
<button
class="btn btn-danger d-inline-flex justify-content-center align-items-center"
type="button"
>
<span>
Reboot
</span>
</button>
</div>
`;
exports[`<RebootButton/> Render. 1`] = `
<div>
<div <div
id="modal-container" id="alert-container"
/> />
<button <button
class="btn btn-danger d-inline-flex justify-content-center align-items-center" class="btn btn-primary d-inline-flex justify-content-center align-items-center"
type="button" type="button"
> >
<span> <span>
Reboot Action
</span> </span>
</button> </button>
</div> </div>

View File

@ -40,9 +40,10 @@ export { Spinner, SpinnerElement } from "./bootstrap/Spinner";
export { Modal, ModalBody, ModalFooter, ModalHeader } from "./bootstrap/Modal"; export { Modal, ModalBody, ModalFooter, ModalHeader } from "./bootstrap/Modal";
// Common // Common
export { default as RebootButton } from "./common/RebootButton"; export { default as ActionButtonWithModal } from "./common/ActionButtonWithModal/ActionButtonWithModal";
export { default as WiFiSettings } from "./common/WiFiSettings/WiFiSettings"; export { default as WiFiSettings } from "./common/WiFiSettings/WiFiSettings";
export { default as ResetWiFiSettings } from "./common/WiFiSettings/ResetWiFiSettings"; export { default as ResetWiFiSettings } from "./common/WiFiSettings/ResetWiFiSettings";
export { default as RichTable } from "./common/RichTable/RichTable";
// Form // Form
export { default as ForisForm } from "./form/components/ForisForm"; export { default as ForisForm } from "./form/components/ForisForm";
export { export {

View File

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

View File

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

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-09-25 10:15+0000\n" "PO-Revision-Date: 2024-09-25 10:15+0000\n"
"Last-Translator: Lukas Jelinek <lukas.jelinek@nic.cz>\n" "Last-Translator: Lukas Jelinek <lukas.jelinek@nic.cz>\n"
"Language: cs\n" "Language: cs\n"
@ -35,43 +35,89 @@ msgstr "Neobdržena žádná odezva."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Došlo k neznámé chybě v aplikačním programovém rozhraní." msgstr "Došlo k neznámé chybě v aplikačním programovém rozhraní."
#: src/bootstrap/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 "Zavřít" msgstr "Zavřít"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Zkopírováno!" msgstr "Zkopírováno!"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopírovat" msgstr "Kopírovat"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "Vyžadován restart." msgid "Action successful."
msgstr "Nastavení úspěšně uložena"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Restartovat" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "Varování!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Opravdu chcete router restartovat?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Zrušit" msgstr "Zrušit"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Potvrdit restart" msgstr "Potvrdit restart"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "Při resetu nastavení Wi-Fi došlo k chybě." msgstr "Při resetu nastavení Wi-Fi došlo k chybě."
@ -389,3 +435,15 @@ msgstr "Neobsahuje seznam e-mailů oddělených čárkou."
#~ "se tím odstraní aktuální konfigurace a vrátí se výchozí hodnoty.\n" #~ "se tím odstraní aktuální konfigurace a vrátí se výchozí hodnoty.\n"
#~ " " #~ " "
#~ msgid "Reboot request failed."
#~ msgstr "Vyžadován restart."
#~ msgid "Reboot"
#~ msgstr "Restartovat"
#~ msgid "Warning!"
#~ msgstr "Varování!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Opravdu chcete router restartovat?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n" "PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: da\n" "Language: da\n"
@ -34,41 +34,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -425,3 +469,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr ""
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-01-04 21:08+0000\n" "PO-Revision-Date: 2024-01-04 21:08+0000\n"
"Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n" "Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n"
"Language: de\n" "Language: de\n"
@ -35,43 +35,89 @@ 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Kopiert!" msgstr "Kopiert!"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopieren" msgstr "Kopieren"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "Neustart-Einleitung fehlgeschlagen." msgid "Action successful."
msgstr "Einstellungen erfolgreich gespeichert"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Systemneustart" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "Warnung!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Sind Sie sicher, dass Sie den Router neu starten wollen?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Abbrechen" msgstr "Abbrechen"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Neustart bestätigen" msgstr "Neustart bestätigen"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: 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 ""
@ -388,3 +434,15 @@ msgstr "Enthält keine Liste von E-Mails, die durch Kommas getrennt sind."
#~ " " #~ " "
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr "Neustart-Einleitung fehlgeschlagen."
#~ msgid "Reboot"
#~ msgstr "Systemneustart"
#~ msgid "Warning!"
#~ msgstr "Warnung!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Sind Sie sicher, dass Sie den Router neu starten wollen?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2021-02-09 16:50+0000\n" "PO-Revision-Date: 2021-02-09 16:50+0000\n"
"Last-Translator: Michalis <michalisntovas@yahoo.gr>\n" "Last-Translator: Michalis <michalisntovas@yahoo.gr>\n"
"Language: el\n" "Language: el\n"
@ -35,43 +35,88 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Επανεκκίνηση"
#: src/common/RebootButton.js:66
msgid "Warning!"
msgstr "" msgstr ""
#: src/common/RebootButton.js:68 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Are you sure you want to restart the router?"
msgstr "Είστε βέβαιοι ότι θέλετε να κάνετε επανεκκίνηση του δρομολογητή;"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Άκυρο" msgstr "Άκυρο"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Επιβεβαίωση επανεκκίνησης" msgstr "Επιβεβαίωση επανεκκίνησης"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: 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 ""
@ -427,3 +472,15 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr "Επανεκκίνηση"
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Είστε βέβαιοι ότι θέλετε να κάνετε επανεκκίνηση του δρομολογητή;"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-10-17 09:28+0000\n" "PO-Revision-Date: 2019-10-17 09:28+0000\n"
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n" "Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
"Language: en\n" "Language: en\n"
@ -35,41 +35,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -423,3 +467,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr ""
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-08-24 13:09+0000\n" "PO-Revision-Date: 2024-08-24 13:09+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n" "Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language: es\n" "Language: es\n"
@ -37,43 +37,89 @@ msgstr ""
"Un error desconocido ha ocurrido. Compruebe la consola para mas " "Un error desconocido ha ocurrido. Compruebe la consola para mas "
"informaciòn." "informaciòn."
#: src/bootstrap/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 "Cerrar" msgstr "Cerrar"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "¡Copiado!" msgstr "¡Copiado!"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Copiar" msgstr "Copiar"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "La petición de reinicio ha fallado." msgid "Action successful."
msgstr "Los ajustes se han guardado correctamente"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Reiniciar" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "¡Atención!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "¿Estás seguro de que quieres reiniciar el router?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Confirmar reinicio" msgstr "Confirmar reinicio"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "Ocurrió un error durante el reseteo de los ajustes Wi-Fi." msgstr "Ocurrió un error durante el reseteo de los ajustes Wi-Fi."
@ -447,3 +493,15 @@ msgstr "No contiene una lista de correos electrónicos separados por comas."
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr "La petición de reinicio ha fallado."
#~ msgid "Reboot"
#~ msgstr "Reiniciar"
#~ msgid "Warning!"
#~ msgstr "¡Atención!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "¿Estás seguro de que quieres reiniciar el router?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n" "PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fi\n" "Language: fi\n"
@ -34,41 +34,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -425,3 +469,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr ""
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n" "PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fo\n" "Language: fo\n"
@ -34,41 +34,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -425,3 +469,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr ""
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -6,9 +6,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Foris JS 6.2.0\n" "Project-Id-Version: Foris JS 6.5.0\n"
"Report-Msgid-Bugs-To: tech.support@turris.cz\n" "Report-Msgid-Bugs-To: tech.support@turris.cz\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -33,41 +33,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-07-27 01:09+0000\n" "PO-Revision-Date: 2024-07-27 01:09+0000\n"
"Last-Translator: Moha684 <nahil82466@gmail.com>\n" "Last-Translator: Moha684 <nahil82466@gmail.com>\n"
"Language: fr\n" "Language: fr\n"
@ -35,43 +35,89 @@ msgstr "Aucun réponse reçue."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Une erreur dAPI inconnue sest produite." msgstr "Une erreur dAPI inconnue sest produite."
#: src/bootstrap/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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Copié!" msgstr "Copié!"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Copier" msgstr "Copier"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "La demande de redémarrage a échoué." msgid "Action successful."
msgstr "Paramètres enregistrés avec succès"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Redémarrer" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "Attention!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Voulez-vous vraiment redémarrer le routeur ?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Confirmer le redémarrage" msgstr "Confirmer le redémarrage"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: 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 ""
@ -416,3 +462,15 @@ msgstr ""
#~ " " #~ " "
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr "La demande de redémarrage a échoué."
#~ msgid "Reboot"
#~ msgstr "Redémarrer"
#~ msgid "Warning!"
#~ msgstr "Attention!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Voulez-vous vraiment redémarrer le routeur ?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2022-09-29 14:17+0000\n" "PO-Revision-Date: 2022-09-29 14:17+0000\n"
"Last-Translator: Milo Ivir <mail@milotype.de>\n" "Last-Translator: Milo Ivir <mail@milotype.de>\n"
"Language: hr\n" "Language: hr\n"
@ -36,41 +36,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -427,3 +471,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr ""
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2021-01-07 01:26+0000\n" "PO-Revision-Date: 2021-01-07 01:26+0000\n"
"Last-Translator: Zoli <boritek@gmail.com>\n" "Last-Translator: Zoli <boritek@gmail.com>\n"
"Language: hu\n" "Language: hu\n"
@ -35,41 +35,86 @@ msgstr "Nem érkezett válasz."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Ismeretlen API-hiba történt." msgstr "Ismeretlen API-hiba történt."
#: src/bootstrap/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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgid "Action successful."
msgstr "Beállítások sikeresen elmentve"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Reboot"
msgstr ""
#: src/common/RebootButton.js:66
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -420,3 +465,18 @@ msgstr "Nem tartalmaz vesszővel elválasztott e-mail listát."
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr ""
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2022-12-31 23:48+0000\n" "PO-Revision-Date: 2022-12-31 23:48+0000\n"
"Last-Translator: Anselmo <anselmo@casinadicornia.com>\n" "Last-Translator: Anselmo <anselmo@casinadicornia.com>\n"
"Language: it\n" "Language: it\n"
@ -35,41 +35,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -426,3 +470,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr ""
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-10-16 10:08+0000\n" "PO-Revision-Date: 2019-10-16 10:08+0000\n"
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n" "Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
"Language: ja\n" "Language: ja\n"
@ -35,41 +35,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "再起動"
#: src/common/RebootButton.js:66
msgid "Warning!"
msgstr "" msgstr ""
#: src/common/RebootButton.js:68 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -427,3 +471,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr "再起動"
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n" "PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ko\n" "Language: ko\n"
@ -34,41 +34,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -425,3 +469,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr ""
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:34+0100\n" "PO-Revision-Date: 2019-02-19 13:34+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: lt\n" "Language: lt\n"
@ -35,41 +35,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -426,3 +470,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr ""
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2023-03-02 11:40+0000\n" "PO-Revision-Date: 2023-03-02 11:40+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n" "Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language: nb_NO\n" "Language: nb_NO\n"
@ -36,44 +36,89 @@ msgstr "Fikk ikke svar."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Ukjent API-feil." msgstr "Ukjent API-feil."
#: src/bootstrap/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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Kopiert" msgstr "Kopiert"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopier" msgstr "Kopier"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
#, fuzzy #, fuzzy
msgid "Reboot request failed." msgid "Action successful."
msgstr "Omstart kreves" msgstr "Innstillinger lagret"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Start på ny" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "Advarsel!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Er du sikker på at du vil utføre omstart av ruteren?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Avbryt" msgstr "Avbryt"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Bekreft omstart" msgstr "Bekreft omstart"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
#, fuzzy #, fuzzy
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
@ -404,3 +449,15 @@ msgstr "Inneholder ikke en kommainndelt liste med e-postadresser."
#~ "gjeldende Wi-Fi-oppsett og tilbakestiller forvalgte verdier.\n" #~ "gjeldende Wi-Fi-oppsett og tilbakestiller forvalgte verdier.\n"
#~ " " #~ " "
#~ msgid "Reboot request failed."
#~ msgstr "Omstart kreves"
#~ msgid "Reboot"
#~ msgstr "Start på ny"
#~ msgid "Warning!"
#~ msgstr "Advarsel!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Er du sikker på at du vil utføre omstart av ruteren?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-01-04 21:08+0000\n" "PO-Revision-Date: 2024-01-04 21:08+0000\n"
"Last-Translator: powerburner-nl <peter.mulder.1981@gmail.com>\n" "Last-Translator: powerburner-nl <peter.mulder.1981@gmail.com>\n"
"Language: nl\n" "Language: nl\n"
@ -35,44 +35,88 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
#, fuzzy msgid "Action successful."
msgid "Reboot request failed." msgstr ""
msgstr "Opnieuw opstarten is vereist"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Opnieuw opstarten" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "Waarschuwing!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Weet u zeker dat u de router opnieuw wilt opstarten?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Annuleren" msgstr "Annuleren"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Opnieuw opstarten bevestigen" msgstr "Opnieuw opstarten bevestigen"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: 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 ""
@ -429,3 +473,15 @@ msgstr "Bevat geen lijst met e-mails gescheiden door komma's."
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr "Opnieuw opstarten is vereist"
#~ msgid "Reboot"
#~ msgstr "Opnieuw opstarten"
#~ msgid "Warning!"
#~ msgstr "Waarschuwing!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Weet u zeker dat u de router opnieuw wilt opstarten?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2023-03-07 16:37+0000\n" "PO-Revision-Date: 2023-03-07 16:37+0000\n"
"Last-Translator: Arusekk <arek_koz@o2.pl>\n" "Last-Translator: Arusekk <arek_koz@o2.pl>\n"
"Language: pl\n" "Language: pl\n"
@ -36,43 +36,89 @@ msgstr "Brak odpowiedzi."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Wystąpił nieznany błąd API." msgstr "Wystąpił nieznany błąd API."
#: src/bootstrap/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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgid "Action successful."
msgstr "Ustawienia zostały zapisane"
#: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Reboot"
msgstr "Restart"
#: src/common/RebootButton.js:66
msgid "Warning!"
msgstr "Ostrzeżenie!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Czy na pewno zrestartować router?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Anuluj" msgstr "Anuluj"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Potwierdź restart" msgstr "Potwierdź restart"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: 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 ""
@ -427,3 +473,15 @@ msgstr "Nie zawiera listy e-maili oddzielonych przecinkami."
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr "Restart"
#~ msgid "Warning!"
#~ msgstr "Ostrzeżenie!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Czy na pewno zrestartować router?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2021-12-21 12:52+0000\n" "PO-Revision-Date: 2021-12-21 12:52+0000\n"
"Last-Translator: c10l <weblate.org@a.c10l.cc>\n" "Last-Translator: c10l <weblate.org@a.c10l.cc>\n"
"Language: pt_BR\n" "Language: pt_BR\n"
@ -35,43 +35,88 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Reinício" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "Atenção!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Você tem certeza de que quer reiniciar o roteador?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Confirma reinício" msgstr "Confirma reinício"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: 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 ""
@ -404,3 +449,15 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr "Reinício"
#~ msgid "Warning!"
#~ msgstr "Atenção!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Você tem certeza de que quer reiniciar o roteador?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2019-02-19 13:35+0100\n" "PO-Revision-Date: 2019-02-19 13:35+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro\n" "Language: ro\n"
@ -35,41 +35,85 @@ msgstr ""
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "" msgstr ""
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "" msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr ""
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr ""
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" msgid "Confirm"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr "" msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
@ -426,3 +470,18 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr ""
#~ msgid "Reboot"
#~ msgstr ""
#~ msgid "Warning!"
#~ msgstr ""
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr ""
#~ msgid "Confirm reboot"
#~ msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2022-12-07 12:47+0000\n" "PO-Revision-Date: 2022-12-07 12:47+0000\n"
"Last-Translator: Алексей Леньшин <alenshin@gmail.com>\n" "Last-Translator: Алексей Леньшин <alenshin@gmail.com>\n"
"Language: ru\n" "Language: ru\n"
@ -36,43 +36,89 @@ msgstr "Ответ не получен."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Неизвестная ошибка программного интерфейса приложения." msgstr "Неизвестная ошибка программного интерфейса приложения."
#: 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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Скопировано!" msgstr "Скопировано!"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Копировать" msgstr "Копировать"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "Запрос на перезагрузку не выполнен." msgid "Action successful."
msgstr "Настройки были успешно сохранены"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Перезагрузка" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "Предупреждение!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Вы уверены, что хотите перезагрузить маршрутизатор?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Отмена" msgstr "Отмена"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Подтвердите перезагрузку" msgstr "Подтвердите перезагрузку"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "При сбросе настроек Wi-Fi произошла ошибка." msgstr "При сбросе настроек Wi-Fi произошла ошибка."
@ -395,3 +441,15 @@ msgstr "Не содержит списка электронных адресов
#~ "значений по умолчанию.\n" #~ "значений по умолчанию.\n"
#~ " " #~ " "
#~ msgid "Reboot request failed."
#~ msgstr "Запрос на перезагрузку не выполнен."
#~ msgid "Reboot"
#~ msgstr "Перезагрузка"
#~ msgid "Warning!"
#~ msgstr "Предупреждение!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Вы уверены, что хотите перезагрузить маршрутизатор?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2024-09-09 18:09+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: sk\n" "Language: sk\n"
@ -35,43 +35,89 @@ msgstr "Nenastala žiadna odozva."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Nastala neznáma chyba v API." msgstr "Nastala neznáma chyba v API."
#: src/bootstrap/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 "Zatvoriť" msgstr "Zatvoriť"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Skopírované!" msgstr "Skopírované!"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopírovať" msgstr "Kopírovať"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." #, fuzzy
msgstr "Požiadavka na reštart neúspešná." msgid "Action successful."
msgstr "Nastavenia boli úspešne uložené"
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Reštartovať" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "Výstraha!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Naozaj sa má router reštartovať?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Zrušiť" msgstr "Zrušiť"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Potvrdiť reštart" msgstr "Potvrdiť reštart"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "Pri resete nastavení Wi-Fi nastala chyba." msgstr "Pri resete nastavení Wi-Fi nastala chyba."
@ -390,3 +436,15 @@ msgstr "Neobsahuje zoznam e-mailov oddelených čiarkami."
#~ " a obnovia sa východiskové hodnoty.\n" #~ " a obnovia sa východiskové hodnoty.\n"
#~ " " #~ " "
#~ msgid "Reboot request failed."
#~ msgstr "Požiadavka na reštart neúspešná."
#~ msgid "Reboot"
#~ msgstr "Reštartovať"
#~ msgid "Warning!"
#~ msgstr "Výstraha!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Naozaj sa má router reštartovať?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-09-25 16:10+0200\n" "POT-Creation-Date: 2024-11-13 14:06+0100\n"
"PO-Revision-Date: 2023-09-22 21:00+0000\n" "PO-Revision-Date: 2023-09-22 21:00+0000\n"
"Last-Translator: Kristoffer Grundström " "Last-Translator: Kristoffer Grundström "
"<swedishsailfishosuser@tutanota.com>\n" "<swedishsailfishosuser@tutanota.com>\n"
@ -36,43 +36,88 @@ msgstr "Inget svar togs emot."
msgid "An unknown API error occurred." msgid "An unknown API error occurred."
msgstr "Ett okänt API-fel inträffade." msgstr "Ett okänt API-fel inträffade."
#: src/bootstrap/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 "" msgstr ""
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copied!" msgid "Copied!"
msgstr "Kopierades!" msgstr "Kopierades!"
#: src/bootstrap/CopyInput.js:57 #: src/bootstrap/CopyInput.js:56
msgid "Copy" msgid "Copy"
msgstr "Kopiera" msgstr "Kopiera"
#: src/common/RebootButton.js:27 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:60
msgid "Reboot request failed." msgid "Action successful."
msgstr "Förfrågning för omstart misslyckades." msgstr ""
#: src/common/RebootButton.js:51 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:65
msgid "Reboot" msgid "Action failed."
msgstr "Starta om" msgstr ""
#: src/common/RebootButton.js:66 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:125
msgid "Warning!"
msgstr "Varning!"
#: src/common/RebootButton.js:68
msgid "Are you sure you want to restart the router?"
msgstr "Är du säker på att du vill starta om routern?"
#: src/common/RebootButton.js:71
msgid "Cancel" msgid "Cancel"
msgstr "Avbryt" msgstr "Avbryt"
#: src/common/RebootButton.js:73 #: src/common/ActionButtonWithModal/ActionButtonWithModal.js:128
msgid "Confirm reboot" #, fuzzy
msgid "Confirm"
msgstr "Bekräfta omstart" msgstr "Bekräfta omstart"
#: src/common/RichTable/RichTableHeader.js:29
msgid "Sort ascending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:30
msgid "Sort descending"
msgstr ""
#: src/common/RichTable/RichTableHeader.js:31
msgid "Clear sort"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:65
msgid "Pagination navigation bar"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:71
msgid "First page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:77
msgid "Previous page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:83
msgid "Next page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:89
msgid "Last page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:95
msgid "Page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:98
msgid "of"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:106
msgid "Rows per page:"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:109
msgid "Select rows per page"
msgstr ""
#: src/common/RichTable/RichTablePagination.js:121
msgid "All"
msgstr ""
#: src/common/WiFiSettings/ResetWiFiSettings.js:39 #: src/common/WiFiSettings/ResetWiFiSettings.js:39
msgid "An error occurred during resetting Wi-Fi settings." msgid "An error occurred during resetting Wi-Fi settings."
msgstr "Ett fel inträffade under återställningen av Wi-Fi-inställningarna." msgstr "Ett fel inträffade under återställningen av Wi-Fi-inställningarna."
@ -441,3 +486,15 @@ msgstr ""
#~ "channel." #~ "channel."
#~ msgstr "" #~ msgstr ""
#~ msgid "Reboot request failed."
#~ msgstr "Förfrågning för omstart misslyckades."
#~ msgid "Reboot"
#~ msgstr "Starta om"
#~ msgid "Warning!"
#~ msgstr "Varning!"
#~ msgid "Are you sure you want to restart the router?"
#~ msgstr "Är du säker på att du vill starta om routern?"