diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..a34de45f6 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +end_of_line = lf +indent_size = 2 +indent_style = space +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/.eslintrc.js b/.eslintrc.js index 16b883880..2490d3526 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -3,9 +3,9 @@ module.exports = { 'mantine', 'plugin:@next/next/recommended', 'plugin:jest/recommended', - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended" + 'eslint:recommended', + 'plugin:@typescript-eslint/eslint-recommended', + 'plugin:@typescript-eslint/recommended', ], plugins: ['testing-library', 'jest', 'react-hooks', 'react', 'unused-imports'], overrides: [ @@ -20,12 +20,13 @@ module.exports = { rules: { 'react/react-in-jsx-scope': 'off', 'react/no-children-prop': 'off', - "unused-imports/no-unused-imports": "warn", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-unused-imports": "off", - "@typescript-eslint/no-unused-expressions": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-shadow": "off", - "@typescript-eslint/no-use-before-define": "off", + 'unused-imports/no-unused-imports': 'warn', + '@typescript-eslint/no-unused-vars': 'off', + '@typescript-eslint/no-unused-imports': 'off', + '@typescript-eslint/no-unused-expressions': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-shadow': 'off', + '@typescript-eslint/no-use-before-define': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', }, }; diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..df7848383 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: ajnart +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/README.md b/README.md index 9699df517..f1312ea9e 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,9 @@ CI Status + + + @@ -27,13 +30,13 @@ --- - + Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place. It integrates with the services you use to display information on the homepage (E.g. Show upcoming Sonarr/Radarr releases). -For a full list of integrations, [head over to our documentation](https://homarr.vercel.app/docs/advanced-features/integrations). +For a full list of integrations, [head over to our documentation](https://homarr.vercel.app/docs/advanced-configuration/integrations). If you have any questions about Homarr or want to share information with us, please go to one of the following places: @@ -111,7 +114,6 @@ docker run \ **Docker Compose** ```yml ---- version: '3' #---------------------------------------------------------------------# # Homarr - A homepage for your server. # diff --git a/crowdin.yml b/crowdin.yml index eabc088db..4b00c6c40 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,3 +1,3 @@ files: - - source: /public/locales/en/*.json - translation: /public/locales/%two_letters_code%/%original_file_name%.json + - source: /public/locales/en/**/*.json + translation: /public/locales/%two_letters_code%/**/%original_file_name% diff --git a/data/configs/default.json b/data/configs/default.json index 3f2acea0d..07dfe37b0 100644 --- a/data/configs/default.json +++ b/data/configs/default.json @@ -17,4 +17,4 @@ "enabled": true } } -} \ No newline at end of file +} diff --git a/data/constants.ts b/data/constants.ts index dfbcd4c76..e877a8da6 100644 --- a/data/constants.ts +++ b/data/constants.ts @@ -1,2 +1,2 @@ export const REPO_URL = 'ajnart/homarr'; -export const CURRENT_VERSION = 'v0.9.2'; +export const CURRENT_VERSION = 'v0.10.0'; diff --git a/next-i18next.config.js b/next-i18next.config.js new file mode 100644 index 000000000..c0f90fcf1 --- /dev/null +++ b/next-i18next.config.js @@ -0,0 +1,27 @@ +module.exports = { + // https://www.i18next.com/overview/configuration-options#logging + i18n: { + defaultLocale: 'en', + locales: [ + 'en', + 'de', + 'es', + 'fr', + 'it', + 'ja', + 'ko', + 'lol', + 'nl', + 'pl', + 'pt', + 'ru', + 'sl', + 'sv', + 'uk', + ], + fallbackLng: 'en', + localeDetection: true, + returnEmptyString: false, + }, + reloadOnPrerender: process.env.NODE_ENV === 'development', +}; diff --git a/next.config.js b/next.config.js index b91c26880..17decd099 100644 --- a/next.config.js +++ b/next.config.js @@ -1,5 +1,7 @@ const { env } = require('process'); +const { i18n } = require('./next-i18next.config'); + const withBundleAnalyzer = require('@next/bundle-analyzer')({ enabled: process.env.ANALYZE === 'true', }); @@ -13,4 +15,5 @@ module.exports = withBundleAnalyzer({ outputStandalone: true, }, output: 'standalone', + i18n, }); diff --git a/package.json b/package.json index f492e8ee8..50126516c 100644 --- a/package.json +++ b/package.json @@ -1,91 +1,101 @@ { - "name": "homarr", - "version": "0.9.2", - "description": "Homarr - A homepage for your server.", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/ajnart/homarr" - }, - "scripts": { - "dev": "next dev", - "build": "next build", - "analyze": "ANALYZE=true next build", - "start": "next start", - "typecheck": "tsc --noEmit", - "export": "next build && next export", - "lint": "next lint", - "jest": "jest", - "jest:watch": "jest --watch", - "prettier:check": "prettier --check \"**/*.{ts,tsx}\"", - "prettier:write": "prettier --write \"**/*.{ts,tsx}\"", - "test": "npm run prettier:check && npm run lint && npm run typecheck && npm run jest", - "ci": "yarn test && yarn lint --fix && yarn typecheck && yarn prettier:write" - }, - "dependencies": { - "@ctrl/deluge": "^4.1.0", - "@ctrl/qbittorrent": "^4.1.0", - "@ctrl/shared-torrent": "^4.1.1", - "@ctrl/transmission": "^4.1.1", - "@dnd-kit/core": "^6.0.5", - "@dnd-kit/sortable": "^7.0.1", - "@dnd-kit/utilities": "^3.2.0", - "@emotion/react": "^11.10.0", - "@emotion/server": "^11.10.0", - "@mantine/carousel": "^5.1.0", - "@mantine/core": "^5.1.0", - "@mantine/dates": "^5.1.0", - "@mantine/dropzone": "^5.1.0", - "@mantine/form": "^5.1.0", - "@mantine/hooks": "^5.1.0", - "@mantine/modals": "^5.1.0", - "@mantine/next": "^5.1.0", - "@mantine/notifications": "^5.1.0", - "@mantine/prism": "^5.0.0", - "@nivo/core": "^0.79.0", - "@nivo/line": "^0.79.1", - "@tabler/icons": "^1.78.0", - "add": "^2.0.6", - "axios": "^0.27.2", - "consola": "^2.15.3", - "cookies-next": "^2.1.1", - "dayjs": "^1.11.4", - "dockerode": "^3.3.2", - "embla-carousel-react": "^7.0.0", - "framer-motion": "^6.5.1", - "js-file-download": "^0.4.12", - "next": "12.1.6", - "prism-react-renderer": "^1.3.5", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sharp": "^0.30.7", - "systeminformation": "^5.12.1", - "uuid": "^8.3.2", - "yarn": "^1.22.19" - }, - "devDependencies": { - "@next/bundle-analyzer": "^12.1.4", - "@next/eslint-plugin-next": "^12.1.4", - "@types/dockerode": "^3.3.9", - "@types/node": "17.0.1", - "@types/react": "17.0.1", - "@types/uuid": "^8.3.4", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.30.7", - "eslint": "^8.20.0", - "eslint-config-airbnb": "^19.0.4", - "eslint-config-airbnb-typescript": "^17.0.0", - "eslint-config-mantine": "^2.0.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jest": "^26.6.0", - "eslint-plugin-jsx-a11y": "^6.6.1", - "eslint-plugin-react": "^7.30.1", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-testing-library": "^5.5.1", - "eslint-plugin-unused-imports": "^2.0.0", - "jest": "^28.1.3", - "prettier": "^2.7.1", - "typescript": "^4.7.4" - }, - "packageManager": "yarn@3.2.1" + "name": "homarr", + "version": "0.10.0", + "description": "Homarr - A homepage for your server.", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/ajnart/homarr" + }, + "scripts": { + "dev": "next dev", + "build": "next build", + "analyze": "ANALYZE=true next build", + "start": "next start", + "typecheck": "tsc --noEmit", + "export": "next build && next export", + "lint": "next lint", + "jest": "jest", + "jest:watch": "jest --watch", + "prettier:check": "prettier --check \"**/*.{ts,tsx}\"", + "prettier:write": "prettier --write \"**/*.{ts,tsx}\"", + "test": "npm run prettier:check && npm run lint && npm run typecheck && npm run jest", + "ci": "yarn test && yarn lint --fix && yarn typecheck && yarn prettier:write" + }, + "dependencies": { + "@ctrl/deluge": "^4.1.0", + "@ctrl/qbittorrent": "^4.1.0", + "@ctrl/shared-torrent": "^4.1.1", + "@ctrl/transmission": "^4.1.1", + "@dnd-kit/core": "^6.0.5", + "@dnd-kit/sortable": "^7.0.1", + "@dnd-kit/utilities": "^3.2.0", + "@emotion/react": "^11.10.0", + "@emotion/server": "^11.10.0", + "@mantine/carousel": "^5.1.0", + "@mantine/core": "^5.2.3", + "@mantine/dates": "^5.2.3", + "@mantine/dropzone": "^5.2.3", + "@mantine/form": "^5.2.3", + "@mantine/hooks": "^5.2.3", + "@mantine/modals": "^5.2.3", + "@mantine/next": "^5.2.3", + "@mantine/notifications": "^5.2.3", + "@mantine/prism": "^5.0.0", + "@nivo/core": "^0.79.0", + "@nivo/line": "^0.79.1", + "@tabler/icons": "^1.78.0", + "@tanstack/react-query": "^4.2.1", + "add": "^2.0.6", + "axios": "^0.27.2", + "consola": "^2.15.3", + "cookies-next": "^2.1.1", + "dayjs": "^1.11.5", + "dockerode": "^3.3.2", + "embla-carousel-react": "^7.0.0", + "framer-motion": "^6.5.1", + "i18next": "^21.9.1", + "i18next-browser-languagedetector": "^6.1.5", + "i18next-http-backend": "^1.4.1", + "js-file-download": "^0.4.12", + "next": "12.1.6", + "next-i18next": "^11.3.0", + "prism-react-renderer": "^1.3.5", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sabnzbd-api": "^1.5.0", + "sharp": "^0.30.7", + "systeminformation": "^5.12.1", + "uuid": "^8.3.2", + "yarn": "^1.22.19" + }, + "devDependencies": { + "@next/bundle-analyzer": "^12.1.4", + "@next/eslint-plugin-next": "^12.1.4", + "@types/dockerode": "^3.3.9", + "@types/node": "17.0.1", + "@types/react": "17.0.1", + "@types/uuid": "^8.3.4", + "@typescript-eslint/eslint-plugin": "^5.30.7", + "@typescript-eslint/parser": "^5.30.7", + "eslint": "^8.20.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-typescript": "^17.0.0", + "eslint-config-mantine": "^2.0.0", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jest": "^26.6.0", + "eslint-plugin-jsx-a11y": "^6.6.1", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-testing-library": "^5.5.1", + "eslint-plugin-unused-imports": "^2.0.0", + "jest": "^28.1.3", + "prettier": "^2.7.1", + "typescript": "^4.7.4" + }, + "resolutions": { + "@types/react": "17.0.2", + "@types/react-dom": "17.0.2" + }, + "packageManager": "yarn@3.2.1" } diff --git a/public/favicon.png b/public/favicon.png index 8565f6c31..cb0dc4489 100644 Binary files a/public/favicon.png and b/public/favicon.png differ diff --git a/public/favicon.svg b/public/favicon.svg index c5c6c1a70..178860125 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1 +1,17 @@ - \ No newline at end of file + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/imgs/favicon.png b/public/imgs/favicon.png index 8565f6c31..cb0dc4489 100644 Binary files a/public/imgs/favicon.png and b/public/imgs/favicon.png differ diff --git a/public/imgs/logo-color.svg b/public/imgs/logo-color.svg index c5c6c1a70..178860125 100644 --- a/public/imgs/logo-color.svg +++ b/public/imgs/logo-color.svg @@ -1 +1,17 @@ - \ No newline at end of file + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/imgs/logo.png b/public/imgs/logo.png index 2b0fd46aa..cb0dc4489 100644 Binary files a/public/imgs/logo.png and b/public/imgs/logo.png differ diff --git a/public/imgs/logo.svg b/public/imgs/logo.svg index 9da9311c8..178860125 100644 --- a/public/imgs/logo.svg +++ b/public/imgs/logo.svg @@ -1,247 +1,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/locales/de/common.json b/public/locales/de/common.json new file mode 100644 index 000000000..e5843b606 --- /dev/null +++ b/public/locales/de/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Speichern" + }, + "tip": "Tipp: ", + "time": { + "seconds": "Sekunden", + "minutes": "Minuten", + "hours": "Stunden" + } +} diff --git a/public/locales/de/layout/add-service-app-shelf.json b/public/locales/de/layout/add-service-app-shelf.json new file mode 100644 index 000000000..f7dc884e8 --- /dev/null +++ b/public/locales/de/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Einen Service hinzufügen" + }, + "modal": { + "title": "Service hinzufügen", + "form": { + "validation": { + "invalidUrl": "Bitte geben Sie eine gültige URL ein", + "noStatusCodeSelected": "Wähle bitte einen Status Code" + } + }, + "tabs": { + "options": { + "title": "Optionen", + "form": { + "serviceName": { + "label": "Service Name", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "Icon URL" + }, + "serviceUrl": { + "label": "Service URL" + }, + "onClickUrl": { + "label": "URL bei einem Klick" + }, + "serviceType": { + "label": "Service Typ", + "defaultValue": "Andere", + "placeholder": "Wähle einen Typ aus" + }, + "category": { + "label": "Kategorie", + "placeholder": "Wähle eine Kategorie oder erstelle eine neue", + "nothingFound": "Nichts gefunden", + "createLabel": "+ Erstelle {{query}}" + }, + "integrations": { + "apiKey": { + "label": "API Schlüssel", + "placeholder": "Dein API Schlüssel", + "validation": { + "noKey": "Invalider Schlüssel" + }, + "tip": { + "text": "Erhalte deinen API Schlüssel", + "link": "hier." + } + }, + "qBittorrent": { + "username": { + "label": "Benutzername", + "placeholder": "admin", + "validation": { + "invalidUsername": "Invalider Benutzername" + } + }, + "password": { + "label": "Passwort", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Ungültiges Passwort" + } + } + }, + "deluge": { + "password": { + "label": "Passwort", + "placeholder": "passwort", + "validation": { + "invalidPassword": "Ungültiges Passwort" + } + } + }, + "transmission": { + "username": { + "label": "Benutzername", + "placeholder": "admin", + "validation": { + "invalidUsername": "Ungültiger Nutzername" + } + }, + "password": { + "label": "Passwort", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Ungültiges Passwort" + } + } + } + } + } + }, + "advancedOptions": { + "title": "Erweiterte Optionen", + "form": { + "httpStatusCodes": { + "label": "HTTP Status Nummern", + "placeholder": "Gültige Statuscodes auswählen", + "clearButtonLabel": "Auswahl löschen", + "nothingFound": "Nichts gefunden" + }, + "openServiceInNewTab": { + "label": "Service in einem neuen Tab öffnen" + }, + "buttons": { + "submit": { + "content": "Service hinzufügen" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/de/layout/app-shelf-menu.json b/public/locales/de/layout/app-shelf-menu.json new file mode 100644 index 000000000..46e894272 --- /dev/null +++ b/public/locales/de/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Einen Service bearbeiten", + "buttons": { + "save": "Service speichern" + } + }, + "menu": { + "labels": { + "settings": "Einstellungen", + "dangerZone": "Gefahrenzone" + }, + "actions": { + "edit": "Bearbeiten", + "delete": "Löschen" + } + } +} \ No newline at end of file diff --git a/public/locales/de/layout/app-shelf.json b/public/locales/de/layout/app-shelf.json new file mode 100644 index 000000000..72788abb4 --- /dev/null +++ b/public/locales/de/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Deine Downloads" + }, + "others": { + "text": "Andere" + } + } +} \ No newline at end of file diff --git a/public/locales/de/modules/calendar.json b/public/locales/de/modules/calendar.json new file mode 100644 index 000000000..3aea9f379 --- /dev/null +++ b/public/locales/de/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Kalender", + "description": "Ein Kalendermodul für die Anzeige der kommenden Veröffentlichungen. Es interagiert mit der Sonarr- und Radarr-API.", + "settings": { + "sundayStart": { + "label": "Wochenbeginn am Sonntag" + } + } + } +} \ No newline at end of file diff --git a/public/locales/de/modules/common-media-cards.json b/public/locales/de/modules/common-media-cards.json new file mode 100644 index 000000000..55312bb3f --- /dev/null +++ b/public/locales/de/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Abspielen", + "request": "Anfragen" + } +} \ No newline at end of file diff --git a/public/locales/de/modules/common.json b/public/locales/de/modules/common.json new file mode 100644 index 000000000..1ee890fe2 --- /dev/null +++ b/public/locales/de/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Einstellungen" + } +} \ No newline at end of file diff --git a/public/locales/de/modules/dashdot.json b/public/locales/de/modules/dashdot.json new file mode 100644 index 000000000..4b49d328b --- /dev/null +++ b/public/locales/de/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Ein Modul, welches die Graphen aus einer laufenden Dash. Instanz anzeigt.", + "settings": { + "cpuMultiView": { + "label": "CPU Multi-Core View" + }, + "storageMultiView": { + "label": "Speicher Multi-Drive View" + }, + "useCompactView": { + "label": "Kompaktmodus verwenden" + }, + "graphs": { + "label": "Graphen" + }, + "url": { + "label": "Dash. URL" + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "Kein Dash. Dienst gefunden. Bitte fügen Sie einen zu Ihrem Homarr Dashboard hinzu oder setzen Sie eine Dash. URL in den Moduloptionen", + "noInformation": "Es können keine Informationen vom Dash. abgerufen werden. - Verwenden Sie die neueste Version?" + }, + "graphs": { + "storage": { + "title": "Speicher", + "label": "Speicher:" + }, + "network": { + "title": "Netzwerk", + "label": "Netzwerk:", + "metrics": { + "download": "Down", + "upload": "Up" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/de/modules/date.json b/public/locales/de/modules/date.json new file mode 100644 index 000000000..11448ecfc --- /dev/null +++ b/public/locales/de/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Datum", + "description": "Die aktuelle Zeit und das aktuelle Datum in der Card anzeigen", + "settings": { + "display24HourFormat": { + "label": "24-Stunden Format" + } + } + } +} \ No newline at end of file diff --git a/public/locales/de/modules/dlspeed.json b/public/locales/de/modules/dlspeed.json new file mode 100644 index 000000000..de1183baa --- /dev/null +++ b/public/locales/de/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Download Geschwindigkeit", + "description": "Zeige die aktuellen Downloadgeschwindigkeiten von unterstützten Services" + }, + "card": { + "table": { + "header": { + "name": "Name", + "size": "Größe", + "download": "Down", + "upload": "Up", + "estimatedTimeOfArrival": "Voraussichtlicher Abschluss", + "progress": "Fortschritt" + }, + "body": { + "nothingFound": "Keine Torrents gefunden" + } + }, + "lineChart": { + "title": "Aktuelle Downloadgeschwindigkeit", + "download": "Download: {{download}}", + "upload": "Upload: {{upload}}", + "timeSpan": "{{seconds}} Sekunden zuvor", + "totalDownload": "Download: {{download}}/s", + "totalUpload": "Upload: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Keine unterstützten Download-Clients gefunden!", + "text": "Fügen Sie einen Download-Service hinzu, um Ihre aktuellen Downloads anzuzeigen" + } + } + } +} \ No newline at end of file diff --git a/public/locales/de/modules/docker-module.json b/public/locales/de/modules/docker-module.json new file mode 100644 index 000000000..495bacb08 --- /dev/null +++ b/public/locales/de/modules/docker-module.json @@ -0,0 +1,65 @@ +{ + "search": { + "placeholder": "Suche nach Conainer oder Image Namen" + }, + "table": { + "header": { + "name": "Name", + "image": "Image", + "ports": "Ports", + "state": "Status" + }, + "body": { + "portCollapse": "{{ports}} weitere" + }, + "states": { + "running": "Läuft", + "created": "Erstellt", + "stopped": "Gestopped", + "unknown": "Unbekannt" + } + }, + "actionBar": { + "addService": { + "title": "Service hinzufügen", + "message": "Service zu Homarr hinzufügen" + }, + "restart": { + "title": "Neustarten" + }, + "stop": { + "title": "Stoppen" + }, + "start": { + "title": "Starten" + }, + "refreshData": "Daten aktualisieren", + "addToHomarr": { + "title": "Zu Homarr hinzufügen" + }, + "remove": { + "title": "Entfernen" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Container {{containerName}} {{action}}ed", + "message": "Your container was successfully {{action}}ed" + } + }, + "errors": { + "integrationFailed": { + "title": "Docker Integration schlug fehl", + "message": "Hast du vergessen, den Docker Socket zu verbinden?" + }, + "unknownError": { + "title": "Es ist ein Fehler aufgetreten" + }, + "oneServiceAtATime": { + "title": "Bitte füge nur einen Service zur Zeit hinzu." + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/de/modules/docker.json b/public/locales/de/modules/docker.json new file mode 100644 index 000000000..92ad11263 --- /dev/null +++ b/public/locales/de/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Ermöglicht Ihnen die einfache Verwaltung Ihrer Torrents" + }, + "search": { + "placeholder": "Suche nach Container- oder Image namen" + }, + "table": { + "header": { + "name": "Name", + "image": "Image", + "ports": "Ports", + "state": "Staat" + }, + "body": { + "portCollapse": "{{ports}} weitere" + }, + "states": { + "running": "Aktiv", + "created": "Erstellt", + "stopped": "Gestoppt", + "unknown": "Unbekannt" + } + }, + "actionBar": { + "addService": { + "title": "Service hinzufügen", + "message": "Service zu Homarr hinzufügen" + }, + "restart": { + "title": "Neustarten" + }, + "stop": { + "title": "Stopp" + }, + "start": { + "title": "Starten" + }, + "refreshData": { + "title": "Daten aktualisieren" + }, + "remove": { + "title": "Entfernen" + }, + "addToHomarr": { + "title": "Zu Homarr hinzufügen" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Container {{containerName}} {{action}}ed", + "message": "Ihr Container wurde erfolgreich {{action}}." + } + }, + "errors": { + "integrationFailed": { + "title": "Docker-Integration fehlgeschlagen", + "message": "Hast du vergessen, den Docker Socket zu verbinden?" + }, + "unknownError": { + "title": "Es ist ein Fehler aufgetreten" + }, + "oneServiceAtATime": { + "title": "Bitte nur einen Service gleichzeitig hinzufügen!" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/de/modules/overseerr.json b/public/locales/de/modules/overseerr.json new file mode 100644 index 000000000..ef98e3adf --- /dev/null +++ b/public/locales/de/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Ermöglicht das Suchen und Hinzufügen von Medien via Overseerr/Jellyseerr" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Fragen für {{title}}", + "cancel": "Abbrechen", + "request": "Anfragen" + }, + "alerts": { + "automaticApproval": { + "title": "API-Schlüssel wird verwendet", + "text": "Diese Anfrage wird automatisch genehmigt" + } + } + }, + "seasonSelector": { + "caption": "Kreuze die Staffeln an, die heruntergeladen werden sollen", + "table": { + "header": { + "season": "Staffel", + "numberOfEpisodes": "Anzahl der Episoden" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/de/modules/ping.json b/public/locales/de/modules/ping.json new file mode 100644 index 000000000..27d5c61b8 --- /dev/null +++ b/public/locales/de/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Ping", + "description": "Ermöglicht es Ihnen, zu überprüfen, ob der Service aktiv ist oder einen bestimmten HTTP-Statuscode zurückgibt." + }, + "states": { + "online": "Online {{response}}", + "offline": "Offline {{response}}", + "loading": "Wird geladen..." + } +} \ No newline at end of file diff --git a/public/locales/de/modules/search.json b/public/locales/de/modules/search.json new file mode 100644 index 000000000..3db2acb8d --- /dev/null +++ b/public/locales/de/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Suchleiste", + "description": "Suchleiste zum Durchsuchen des Internets, von Youtube, Torrents oder Overseerr" + }, + "input": { + "placeholder": "Das Internet durchsuchen..." + } +} \ No newline at end of file diff --git a/public/locales/de/modules/torrents-status.json b/public/locales/de/modules/torrents-status.json new file mode 100644 index 000000000..0f12a88ae --- /dev/null +++ b/public/locales/de/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Torrent", + "description": "Zeige die aktuellen Downloadgeschwindigkeiten von unterstützten Services", + "settings": { + "hideComplete": { + "label": "Abgeschlossene Torrents ausblenden" + } + } + }, + "card": { + "table": { + "header": { + "name": "Name", + "size": "Größe", + "download": "Down", + "upload": "Up", + "estimatedTimeOfArrival": "Voraussichtlicher Abschluss", + "progress": "Fortschritt" + }, + "body": { + "nothingFound": "Keine Torrents gefunden" + } + }, + "lineChart": { + "title": "Aktuelle Downloadgeschwindigkeit", + "download": "Download: {{download}}", + "upload": "Upload: {{upload}}", + "timeSpan": "{{seconds}} Sekunden zuvor", + "totalDownload": "Download: {{download}}/s", + "totalUpload": "Upload: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Keine unterstützten Download-Clients gefunden!", + "text": "Fügen Sie einen Download-Service hinzu, um Ihre aktuellen Downloads anzuzeigen" + } + } + } +} \ No newline at end of file diff --git a/public/locales/de/modules/usenet.json b/public/locales/de/modules/usenet.json new file mode 100644 index 000000000..043bc786b --- /dev/null +++ b/public/locales/de/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "Sabnzbd", + "description": "Ermöglicht es Ihnen, Ihre Sabnzbd-Warteschlange und den Verlauf zu sehen, Downloads anzuhalten und fortzusetzen" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "Keine unterstützten Download-Clients gefunden!", + "text": "Fügen Sie einen Download-Service hinzu, um Ihre aktuellen Downloads anzuzeigen" + } + } + }, + "tabs": { + "queue": "Warteschlange", + "history": "Geschichte" + }, + "info": { + "sizeLeft": "Größe links", + "paused": "Pausiert" + }, + "queue": { + "header": { + "name": "Name", + "size": "Größe", + "eta": "Voraussichtlicher Abschluss", + "progress": "Fortschritt" + }, + "empty": "Leere", + "error": { + "title": "Fehler", + "message": "Es ist ein Fehler aufgetreten" + }, + "paused": "Pausiert" + }, + "history": { + "header": { + "name": "Name", + "size": "Größe", + "duration": "Dauer" + }, + "empty": "Leere", + "error": { + "title": "Fehler", + "message": "Fehler beim Laden der Historie" + }, + "paused": "Pausiert" + } +} diff --git a/public/locales/de/modules/weather.json b/public/locales/de/modules/weather.json new file mode 100644 index 000000000..00fcb929c --- /dev/null +++ b/public/locales/de/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Wetter", + "description": "Aktuelles Wetter an deinem Standort anzeigen", + "settings": { + "displayInFahrenheit": { + "label": "In Fahrenheit anzeigen" + }, + "location": { + "label": "Wetterstandort" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Klar", + "mainlyClear": "Überwiegend klar", + "fog": "Nebel", + "drizzle": "Niesel", + "freezingDrizzle": "Eisiger Nieselregen", + "rain": "Regen", + "freezingRain": "Eisiger Regen", + "snowFall": "Schneefall", + "snowGrains": "Schneekörner", + "rainShowers": "Regenschauer", + "snowShowers": "Schneeschauer", + "thunderstorm": "Gewitter", + "thunderstormWithHail": "Gewitter mit Hagel", + "unknown": "Unbekannt" + } + } +} \ No newline at end of file diff --git a/public/locales/de/settings/common.json b/public/locales/de/settings/common.json new file mode 100644 index 000000000..e9eefcd25 --- /dev/null +++ b/public/locales/de/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Einstellungen", + "tooltip": "Einstellungen", + "tabs": { + "common": "Allgemein", + "customizations": "Anpassungen" + }, + "tips": { + "configTip": "Laden Sie Ihre Konfigurationsdatei durch Ziehen und Ablegen auf die Seite!" + }, + "credits": { + "madeWithLove": "Gemacht mit ❤️ von @" + } +} \ No newline at end of file diff --git a/public/locales/de/settings/customization/app-width.json b/public/locales/de/settings/customization/app-width.json new file mode 100644 index 000000000..4c34b7442 --- /dev/null +++ b/public/locales/de/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "App Breite" +} \ No newline at end of file diff --git a/public/locales/de/settings/customization/color-selector.json b/public/locales/de/settings/customization/color-selector.json new file mode 100644 index 000000000..fd1e6ff10 --- /dev/null +++ b/public/locales/de/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} Farbe" +} \ No newline at end of file diff --git a/public/locales/de/settings/customization/opacity-selector.json b/public/locales/de/settings/customization/opacity-selector.json new file mode 100644 index 000000000..bcec90883 --- /dev/null +++ b/public/locales/de/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "App Deckkraft" +} \ No newline at end of file diff --git a/public/locales/de/settings/customization/page-appearance.json b/public/locales/de/settings/customization/page-appearance.json new file mode 100644 index 000000000..8c195e6a1 --- /dev/null +++ b/public/locales/de/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "Seiten Titel", + "placeholder": "Homarr 🦞" + }, + "logo": { + "label": "Logo", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "Favicon", + "placeholder": "/favicon.png" + }, + "background": { + "label": "Hintergrund", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "Benutzerdefiniertes CSS", + "placeholder": "Benutzerdefiniertes CSS wird zuletzt ausgeführt" + }, + "buttons": { + "submit": "Absenden" + } +} diff --git a/public/locales/de/settings/customization/shade-selector.json b/public/locales/de/settings/customization/shade-selector.json new file mode 100644 index 000000000..88ad84009 --- /dev/null +++ b/public/locales/de/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Shatten" +} \ No newline at end of file diff --git a/public/locales/de/settings/general/color-schema.json b/public/locales/de/settings/general/color-schema.json new file mode 100644 index 000000000..5c885bd49 --- /dev/null +++ b/public/locales/de/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Wechseln zu {{scheme}} Modus" +} \ No newline at end of file diff --git a/public/locales/de/settings/general/config-changer.json b/public/locales/de/settings/general/config-changer.json new file mode 100644 index 000000000..c22184269 --- /dev/null +++ b/public/locales/de/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "Konfigurationslader" + }, + "modal": { + "title": "Wählen Sie den Namen für Ihre neue Konfiguration", + "form": { + "configName": { + "label": "Konfigurationsname", + "placeholder": "Ihr neuer Konfigurationsname" + }, + "submitButton": "Bestätigen" + }, + "events": { + "configSaved": { + "title": "Konfiguration gespeichert", + "message": "Konfiguration gespeichert als {{configName}}" + } + } + }, + "buttons": { + "download": "Konfiguration herunterladen", + "delete": { + "text": "Konfiguration löschen", + "notifications": { + "deleted": { + "title": "Konfiguration gelöscht", + "message": "Konfiguration gelöscht" + }, + "deleteFailed": { + "title": "Löschung der Konfiguration fehlgeschlagen", + "message": "Löschung der Konfiguration fehlgeschlagen" + } + } + }, + "saveCopy": "Eine Kopie speichern" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "Konfiguration konnte nicht geladen werden", + "message": "Die Konfiguration konnte nicht geladen werden. Ungültiges JSON-Format." + }, + "loadedSuccessfully": { + "title": "Konfiguration {{configName}} erfolgreich geladen" + } + }, + "accept": { + "text": "Ziehen Sie Dateien hierher, um eine Konfiguration hochzuladen. Unterstützung nur für JSON." + }, + "reject": { + "text": "Dieses Dateiformat wird nicht unterstützt. Bitte lade nur JSON hoch." + } + } +} \ No newline at end of file diff --git a/public/locales/de/settings/general/internationalization.json b/public/locales/de/settings/general/internationalization.json new file mode 100644 index 000000000..786d61394 --- /dev/null +++ b/public/locales/de/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Sprache" +} \ No newline at end of file diff --git a/public/locales/de/settings/general/module-enabler.json b/public/locales/de/settings/general/module-enabler.json new file mode 100644 index 000000000..b14f9bb89 --- /dev/null +++ b/public/locales/de/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "Modul-Aktivierer" +} \ No newline at end of file diff --git a/public/locales/de/settings/general/search-engine.json b/public/locales/de/settings/general/search-engine.json new file mode 100644 index 000000000..ead9dab99 --- /dev/null +++ b/public/locales/de/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Suchmaschine", + "tips": { + "generalTip": "Verwenden die Präfixe !yt und !t vor deiner Suchanfrage, um auf YouTube bzw. nach einem Torrent zu suchen.", + "placeholderTip": "%s kann als Platzhalter für deine Suchanfrage verwendet werden." + }, + "customEngine": { + "label": "Suchanfrage URL", + "placeholder": "Benutzerdefinierte Abfrage-URL" + } +} \ No newline at end of file diff --git a/public/locales/de/settings/general/theme-selector.json b/public/locales/de/settings/general/theme-selector.json new file mode 100644 index 000000000..a4062374a --- /dev/null +++ b/public/locales/de/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Wechseln zu {{theme}} Modus" +} \ No newline at end of file diff --git a/public/locales/de/settings/general/widget-positions.json b/public/locales/de/settings/general/widget-positions.json new file mode 100644 index 000000000..d34be8358 --- /dev/null +++ b/public/locales/de/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Widgets auf der linken Seite positionieren" +} \ No newline at end of file diff --git a/public/locales/en/common.json b/public/locales/en/common.json new file mode 100644 index 000000000..64232fcf5 --- /dev/null +++ b/public/locales/en/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Save" + }, + "tip": "Tip: ", + "time": { + "seconds": "seconds", + "minutes": "minutes", + "hours": "hours" + } +} diff --git a/public/locales/en/layout/add-service-app-shelf.json b/public/locales/en/layout/add-service-app-shelf.json new file mode 100644 index 000000000..ca88e1f31 --- /dev/null +++ b/public/locales/en/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Add a service" + }, + "modal": { + "title": "Add service", + "form": { + "validation": { + "invalidUrl": "Please enter a valid URL", + "noStatusCodeSelected": "Please select a status code" + } + }, + "tabs": { + "options": { + "title": "Options", + "form": { + "serviceName": { + "label": "Service name", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "Icon URL" + }, + "serviceUrl": { + "label": "Service URL" + }, + "onClickUrl": { + "label": "On Click URL" + }, + "serviceType": { + "label": "Service type", + "defaultValue": "Other", + "placeholder": "Pick one" + }, + "category": { + "label": "Category", + "placeholder": "Select a category or create a new one", + "nothingFound": "Nothing found", + "createLabel": "+ Create {{query}}" + }, + "integrations": { + "apiKey": { + "label": "API key", + "placeholder": "Your API key", + "validation": { + "noKey": "Invalid Key" + }, + "tip": { + "text": "Get your API key", + "link": "here." + } + }, + "qBittorrent": { + "username": { + "label": "Username", + "placeholder": "admin", + "validation": { + "invalidUsername": "Invalid username" + } + }, + "password": { + "label": "Password", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Invalid password" + } + } + }, + "deluge": { + "password": { + "label": "Password", + "placeholder": "password", + "validation": { + "invalidPassword": "Invalid password" + } + } + }, + "transmission": { + "username": { + "label": "Username", + "placeholder": "admin", + "validation": { + "invalidUsername": "Invalid username" + } + }, + "password": { + "label": "Password", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Invalid password" + } + } + } + } + } + }, + "advancedOptions": { + "title": "Advanced options", + "form": { + "httpStatusCodes": { + "label": "HTTP Status Codes", + "placeholder": "Select valid status codes", + "clearButtonLabel": "Clear selection", + "nothingFound": "Nothing found" + }, + "openServiceInNewTab": { + "label": "Open service in new tab" + }, + "buttons": { + "submit": { + "content": "Add service" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/en/layout/app-shelf-menu.json b/public/locales/en/layout/app-shelf-menu.json new file mode 100644 index 000000000..006e906c2 --- /dev/null +++ b/public/locales/en/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Modify a service", + "buttons": { + "save": "Save service" + } + }, + "menu": { + "labels": { + "settings": "Settings", + "dangerZone": "Danger zone" + }, + "actions": { + "edit": "Edit", + "delete": "Delete" + } + } +} \ No newline at end of file diff --git a/public/locales/en/layout/app-shelf.json b/public/locales/en/layout/app-shelf.json new file mode 100644 index 000000000..3297ffe7d --- /dev/null +++ b/public/locales/en/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Your downloads" + }, + "others": { + "text": "Others" + } + } +} \ No newline at end of file diff --git a/public/locales/en/modules/calendar.json b/public/locales/en/modules/calendar.json new file mode 100644 index 000000000..d470eabe9 --- /dev/null +++ b/public/locales/en/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Calendar", + "description": "A calendar module for displaying upcoming releases. It interacts with the Sonarr and Radarr API.", + "settings": { + "sundayStart": { + "label": "Start the week on Sunday" + } + } + } +} \ No newline at end of file diff --git a/public/locales/en/modules/common-media-cards.json b/public/locales/en/modules/common-media-cards.json new file mode 100644 index 000000000..b9bbbc537 --- /dev/null +++ b/public/locales/en/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Play", + "request": "Request" + } +} \ No newline at end of file diff --git a/public/locales/en/modules/common.json b/public/locales/en/modules/common.json new file mode 100644 index 000000000..3f4b36b03 --- /dev/null +++ b/public/locales/en/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Settings" + } +} \ No newline at end of file diff --git a/public/locales/en/modules/dashdot.json b/public/locales/en/modules/dashdot.json new file mode 100644 index 000000000..c44e04ca2 --- /dev/null +++ b/public/locales/en/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "A module for displaying the graphs of your running Dash. instance.", + "settings": { + "cpuMultiView": { + "label": "CPU Multi-Core View" + }, + "storageMultiView": { + "label": "Storage Multi-Drive View" + }, + "useCompactView": { + "label": "Use Compact View" + }, + "graphs": { + "label": "Graphs" + }, + "url": { + "label": "Dash. URL" + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "No Dash. service found. Please add one to your Homarr dashboard or set a Dash. URL in the module options", + "noInformation": "Cannot acquire information from dash. - are you running the latest version?" + }, + "graphs": { + "storage": { + "title": "Storage", + "label": "Storage:" + }, + "network": { + "title": "Network", + "label": "Network:", + "metrics": { + "download": "Down", + "upload": "Up" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/en/modules/date.json b/public/locales/en/modules/date.json new file mode 100644 index 000000000..521e220a4 --- /dev/null +++ b/public/locales/en/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Date", + "description": "Show the current time and date in a card", + "settings": { + "display24HourFormat": { + "label": "Display full time (24-hour)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/en/modules/dlspeed.json b/public/locales/en/modules/dlspeed.json new file mode 100644 index 000000000..ff9bc709e --- /dev/null +++ b/public/locales/en/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Download Speed", + "description": "Show the current download speed of supported services" + }, + "card": { + "table": { + "header": { + "name": "Name", + "size": "Size", + "download": "Down", + "upload": "Up", + "estimatedTimeOfArrival": "ETA", + "progress": "Progress" + }, + "body": { + "nothingFound": "No torrents found" + } + }, + "lineChart": { + "title": "Current download speed", + "download": "Download: {{download}}", + "upload": "Upload: {{upload}}", + "timeSpan": "{{seconds}} seconds ago", + "totalDownload": "Download: {{download}}/s", + "totalUpload": "Upload: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "No supported download clients found!", + "text": "Add a download service to view your current downloads" + } + } + } +} \ No newline at end of file diff --git a/public/locales/en/modules/docker.json b/public/locales/en/modules/docker.json new file mode 100644 index 000000000..f54db9bd9 --- /dev/null +++ b/public/locales/en/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Allows you to easily manage your torrents" + }, + "search": { + "placeholder": "Search by container or image name" + }, + "table": { + "header": { + "name": "Name", + "image": "Image", + "ports": "Ports", + "state": "State" + }, + "body": { + "portCollapse": "{{ports}} more" + }, + "states": { + "running": "Running", + "created": "Created", + "stopped": "Stopped", + "unknown": "Unknown" + } + }, + "actionBar": { + "addService": { + "title": "Add service", + "message": "Add service to Homarr" + }, + "restart": { + "title": "Restart" + }, + "stop": { + "title": "Stop" + }, + "start": { + "title": "Start" + }, + "refreshData": { + "title": "Refresh data" + }, + "remove": { + "title": "Remove" + }, + "addToHomarr": { + "title": "Add to Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Container {{containerName}} {{action}}ed", + "message": "Your container was successfully {{action}}ed" + } + }, + "errors": { + "integrationFailed": { + "title": "Docker integration failed", + "message": "Did you forget to mount the docker socket ?" + }, + "unknownError": { + "title": "There was an error" + }, + "oneServiceAtATime": { + "title": "Please only add one service at a time!" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/en/modules/overseerr.json b/public/locales/en/modules/overseerr.json new file mode 100644 index 000000000..e7b44289e --- /dev/null +++ b/public/locales/en/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Allows you to search and add media from Overseerr/Jellyseerr" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Ask for {{title}}", + "cancel": "Cancel", + "request": "Request" + }, + "alerts": { + "automaticApproval": { + "title": "Using API key", + "text": "This request will be automatically approved" + } + } + }, + "seasonSelector": { + "caption": "Tick the seasons that you want to be downloaded", + "table": { + "header": { + "season": "Season", + "numberOfEpisodes": "Number of episodes" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/en/modules/ping.json b/public/locales/en/modules/ping.json new file mode 100644 index 000000000..403c8027b --- /dev/null +++ b/public/locales/en/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Ping", + "description": "Allows you to check if the service is up or returns a specific HTTP status code." + }, + "states": { + "online": "Online {{response}}", + "offline": "Offline {{response}}", + "loading": "Loading..." + } +} \ No newline at end of file diff --git a/public/locales/en/modules/search.json b/public/locales/en/modules/search.json new file mode 100644 index 000000000..38d1aa1a2 --- /dev/null +++ b/public/locales/en/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Search Bar", + "description": "Search bar to search the web, Youtube, Torrents or Overseerr" + }, + "input": { + "placeholder": "Search the web..." + } +} \ No newline at end of file diff --git a/public/locales/en/modules/torrents-status.json b/public/locales/en/modules/torrents-status.json new file mode 100644 index 000000000..7e8970a92 --- /dev/null +++ b/public/locales/en/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Torrent", + "description": "Show the current download speed of supported services", + "settings": { + "hideComplete": { + "label": "Hide completed torrents" + } + } + }, + "card": { + "table": { + "header": { + "name": "Name", + "size": "Size", + "download": "Down", + "upload": "Up", + "estimatedTimeOfArrival": "ETA", + "progress": "Progress" + }, + "body": { + "nothingFound": "No torrents found" + } + }, + "lineChart": { + "title": "Current download speed", + "download": "Download: {{download}}", + "upload": "Upload: {{upload}}", + "timeSpan": "{{seconds}} seconds ago", + "totalDownload": "Download: {{download}}/s", + "totalUpload": "Upload: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "No supported download clients found!", + "text": "Add a download service to view your current downloads" + } + } + } +} \ No newline at end of file diff --git a/public/locales/en/modules/usenet.json b/public/locales/en/modules/usenet.json new file mode 100644 index 000000000..1aeec250b --- /dev/null +++ b/public/locales/en/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "Sabnzbd", + "description": "Allows you to see your Sabnzbd queue and history, pause and resume downloads" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "No supported download clients found!", + "text": "Add a download service to view your current downloads" + } + } + }, + "tabs": { + "queue": "Queue", + "history": "History" + }, + "info": { + "sizeLeft": "Size left", + "paused": "Paused" + }, + "queue": { + "header": { + "name": "Name", + "size": "Size", + "eta": "ETA", + "progress": "Progress" + }, + "empty": "Empty", + "error": { + "title": "Error", + "message": "An error has occurred" + }, + "paused": "Paused" + }, + "history": { + "header": { + "name": "Name", + "size": "Size", + "duration": "Duration" + }, + "empty": "Empty", + "error": { + "title": "Error", + "message": "Error loading history" + }, + "paused": "Paused" + } +} diff --git a/public/locales/en/modules/weather.json b/public/locales/en/modules/weather.json new file mode 100644 index 000000000..405c36263 --- /dev/null +++ b/public/locales/en/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Weather", + "description": "Look up the current weather in your location", + "settings": { + "displayInFahrenheit": { + "label": "Display in Fahrenheit" + }, + "location": { + "label": "Weather location" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Clear", + "mainlyClear": "Mainly clear", + "fog": "Fog", + "drizzle": "Drizzle", + "freezingDrizzle": "Freezing drizzle", + "rain": "Rain", + "freezingRain": "Freezing rain", + "snowFall": "Snow fall", + "snowGrains": "Snow grains", + "rainShowers": "Rain showers", + "snowShowers": "Snow showers", + "thunderstorm": "Thunderstorm", + "thunderstormWithHail": "Thunderstorm with hail", + "unknown": "Unknown" + } + } +} \ No newline at end of file diff --git a/public/locales/en/settings/common.json b/public/locales/en/settings/common.json new file mode 100644 index 000000000..776816b2a --- /dev/null +++ b/public/locales/en/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Settings", + "tooltip": "Settings", + "tabs": { + "common": "Common", + "customizations": "Customizations" + }, + "tips": { + "configTip": "Upload your config file by dragging and dropping it onto the page!" + }, + "credits": { + "madeWithLove": "Made with ❤️ by @" + } +} \ No newline at end of file diff --git a/public/locales/en/settings/customization/app-width.json b/public/locales/en/settings/customization/app-width.json new file mode 100644 index 000000000..e7636eef0 --- /dev/null +++ b/public/locales/en/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "App Width" +} \ No newline at end of file diff --git a/public/locales/en/settings/customization/color-selector.json b/public/locales/en/settings/customization/color-selector.json new file mode 100644 index 000000000..d66bbfe6e --- /dev/null +++ b/public/locales/en/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} color" +} \ No newline at end of file diff --git a/public/locales/en/settings/customization/opacity-selector.json b/public/locales/en/settings/customization/opacity-selector.json new file mode 100644 index 000000000..edd46daea --- /dev/null +++ b/public/locales/en/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "App Opacity" +} \ No newline at end of file diff --git a/public/locales/en/settings/customization/page-appearance.json b/public/locales/en/settings/customization/page-appearance.json new file mode 100644 index 000000000..3c9d62888 --- /dev/null +++ b/public/locales/en/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "Page Title", + "placeholder": "Homarr 🦞" + }, + "logo": { + "label": "Logo", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "Favicon", + "placeholder": "/favicon.png" + }, + "background": { + "label": "Background", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "Custom CSS", + "placeholder": "Custom CSS will be executed last" + }, + "buttons": { + "submit": "Submit" + } +} diff --git a/public/locales/en/settings/customization/shade-selector.json b/public/locales/en/settings/customization/shade-selector.json new file mode 100644 index 000000000..076aee080 --- /dev/null +++ b/public/locales/en/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Shade" +} \ No newline at end of file diff --git a/public/locales/en/settings/general/color-schema.json b/public/locales/en/settings/general/color-schema.json new file mode 100644 index 000000000..16672bf7e --- /dev/null +++ b/public/locales/en/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Switch to {{scheme}} mode" +} \ No newline at end of file diff --git a/public/locales/en/settings/general/config-changer.json b/public/locales/en/settings/general/config-changer.json new file mode 100644 index 000000000..ad4ac012d --- /dev/null +++ b/public/locales/en/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "Config loader" + }, + "modal": { + "title": "Choose the name of your new config", + "form": { + "configName": { + "label": "Config name", + "placeholder": "Your new config name" + }, + "submitButton": "Confirm" + }, + "events": { + "configSaved": { + "title": "Config saved", + "message": "Config saved as {{configName}}" + } + } + }, + "buttons": { + "download": "Download config", + "delete": { + "text": "Delete config", + "notifications": { + "deleted": { + "title": "Config deleted", + "message": "Config deleted" + }, + "deleteFailed": { + "title": "Config delete failed", + "message": "Config delete failed" + } + } + }, + "saveCopy": "Save a copy" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "Unable to load config", + "message": "Could not load your config. Invalid JSON format." + }, + "loadedSuccessfully": { + "title": "Config {{configName}} loaded successfully" + } + }, + "accept": { + "text": "Drag files here to upload a config. Support for JSON only." + }, + "reject": { + "text": "This file format is not supported. Please only upload JSON." + } + } +} \ No newline at end of file diff --git a/public/locales/en/settings/general/internationalization.json b/public/locales/en/settings/general/internationalization.json new file mode 100644 index 000000000..17f0a13bf --- /dev/null +++ b/public/locales/en/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Language" +} \ No newline at end of file diff --git a/public/locales/en/settings/general/module-enabler.json b/public/locales/en/settings/general/module-enabler.json new file mode 100644 index 000000000..179753b6f --- /dev/null +++ b/public/locales/en/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "Module enabler" +} \ No newline at end of file diff --git a/public/locales/en/settings/general/search-engine.json b/public/locales/en/settings/general/search-engine.json new file mode 100644 index 000000000..42f708ffb --- /dev/null +++ b/public/locales/en/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Search engine", + "tips": { + "generalTip": "Use the prefixes !yt and !t in front of your query to search on YouTube or for a Torrent respectively.", + "placeholderTip": "%s can be used as a placeholder for the query." + }, + "customEngine": { + "label": "Query URL", + "placeholder": "Custom query URL" + } +} \ No newline at end of file diff --git a/public/locales/en/settings/general/theme-selector.json b/public/locales/en/settings/general/theme-selector.json new file mode 100644 index 000000000..4e04d5e54 --- /dev/null +++ b/public/locales/en/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Switch to {{theme}} mode" +} \ No newline at end of file diff --git a/public/locales/en/settings/general/widget-positions.json b/public/locales/en/settings/general/widget-positions.json new file mode 100644 index 000000000..746578cce --- /dev/null +++ b/public/locales/en/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Position widgets on left" +} \ No newline at end of file diff --git a/public/locales/es/common.json b/public/locales/es/common.json new file mode 100644 index 000000000..ea360d51f --- /dev/null +++ b/public/locales/es/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Guardar" + }, + "tip": "Consejo: ", + "time": { + "seconds": "", + "minutes": "", + "hours": "" + } +} diff --git a/public/locales/es/layout/add-service-app-shelf.json b/public/locales/es/layout/add-service-app-shelf.json new file mode 100644 index 000000000..56f8b3510 --- /dev/null +++ b/public/locales/es/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Añadir un servicio" + }, + "modal": { + "title": "Añadir servicio", + "form": { + "validation": { + "invalidUrl": "Por favor, introduzca una URL válida", + "noStatusCodeSelected": "Por favor, seleccione un código de estado" + } + }, + "tabs": { + "options": { + "title": "Opciones", + "form": { + "serviceName": { + "label": "Nombre del servicio", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "URL del icono" + }, + "serviceUrl": { + "label": "URL del servicio" + }, + "onClickUrl": { + "label": "URL Directa" + }, + "serviceType": { + "label": "Tipo de servicio", + "defaultValue": "Otro", + "placeholder": "Elige uno" + }, + "category": { + "label": "Categoría", + "placeholder": "Selecciona una categoría o cree una nueva", + "nothingFound": "No se ha encontrado ningún resultado", + "createLabel": "+ Crear {{query}}" + }, + "integrations": { + "apiKey": { + "label": "Clave API", + "placeholder": "Tu clave de la API", + "validation": { + "noKey": "Clave inválida" + }, + "tip": { + "text": "Obtén tu clave de API", + "link": "aquí." + } + }, + "qBittorrent": { + "username": { + "label": "Usuario", + "placeholder": "admin", + "validation": { + "invalidUsername": "Nombre de usuario incorrecto" + } + }, + "password": { + "label": "Contraseña", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Contraseña Incorrecta" + } + } + }, + "deluge": { + "password": { + "label": "Contraseña", + "placeholder": "contraseña", + "validation": { + "invalidPassword": "Contraseña Incorrecta" + } + } + }, + "transmission": { + "username": { + "label": "Usuario", + "placeholder": "admin", + "validation": { + "invalidUsername": "Nombre de usuario incorrecto" + } + }, + "password": { + "label": "Contraseña", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Contraseña Incorrecta" + } + } + } + } + } + }, + "advancedOptions": { + "title": "", + "form": { + "httpStatusCodes": { + "label": "Códigos de estado HTTP", + "placeholder": "Seleccionar códigos de estado válidos", + "clearButtonLabel": "Borrar selección", + "nothingFound": "No se ha encontrado ningún resultado" + }, + "openServiceInNewTab": { + "label": "Abrir el servicio en una nueva pestaña" + }, + "buttons": { + "submit": { + "content": "Añadir servicio" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/es/layout/app-shelf-menu.json b/public/locales/es/layout/app-shelf-menu.json new file mode 100644 index 000000000..8ca50c5aa --- /dev/null +++ b/public/locales/es/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Modificar un servicio", + "buttons": { + "save": "Guardar servicio" + } + }, + "menu": { + "labels": { + "settings": "Ajustes", + "dangerZone": "Zona de riesgo" + }, + "actions": { + "edit": "Editar", + "delete": "Eliminar" + } + } +} \ No newline at end of file diff --git a/public/locales/es/layout/app-shelf.json b/public/locales/es/layout/app-shelf.json new file mode 100644 index 000000000..02bde38f9 --- /dev/null +++ b/public/locales/es/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Tus descargas" + }, + "others": { + "text": "Otros" + } + } +} \ No newline at end of file diff --git a/public/locales/es/modules/calendar.json b/public/locales/es/modules/calendar.json new file mode 100644 index 000000000..94bb9ff6d --- /dev/null +++ b/public/locales/es/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Calendario", + "description": "Un módulo de calendario para mostrar próximos lanzamientos. Interactúa con las API de Sonarr y Radarr.", + "settings": { + "sundayStart": { + "label": "Marcar Domingo como primer día de la semana" + } + } + } +} \ No newline at end of file diff --git a/public/locales/es/modules/common-media-cards.json b/public/locales/es/modules/common-media-cards.json new file mode 100644 index 000000000..4966eaa66 --- /dev/null +++ b/public/locales/es/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Reproducir", + "request": "Solicitar" + } +} \ No newline at end of file diff --git a/public/locales/es/modules/common.json b/public/locales/es/modules/common.json new file mode 100644 index 000000000..9a96df72d --- /dev/null +++ b/public/locales/es/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Ajustes" + } +} \ No newline at end of file diff --git a/public/locales/es/modules/dashdot.json b/public/locales/es/modules/dashdot.json new file mode 100644 index 000000000..c7c7c736a --- /dev/null +++ b/public/locales/es/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Un módulo para mostrar los gráficos de la instancia de Dash. en ejecución.", + "settings": { + "cpuMultiView": { + "label": "Vista CPU MultiNúcleo" + }, + "storageMultiView": { + "label": "Vista de las Unidades de Almacenamiento" + }, + "useCompactView": { + "label": "Usar la vista Compacta" + }, + "graphs": { + "label": "Gráficos" + }, + "url": { + "label": "Dash. URL" + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "No se ha encontrado el servicio Dash. Por favor, añade uno al Panel de Control de Homarr o indica una URL de Dash. en las opciones del módulo", + "noInformation": "No se puede obtener información de Dash. - ¿estás utilizando la última versión?" + }, + "graphs": { + "storage": { + "title": "Almacenaje", + "label": "Almacenaje:" + }, + "network": { + "title": "Red", + "label": "Red:", + "metrics": { + "download": "Descarga", + "upload": "Subida" + } + }, + "cpu": { + "title": "Procesador" + }, + "memory": { + "title": "Memoria RAM" + }, + "gpu": { + "title": "Procesador Gráfico" + } + } + } +} \ No newline at end of file diff --git a/public/locales/es/modules/date.json b/public/locales/es/modules/date.json new file mode 100644 index 000000000..127072703 --- /dev/null +++ b/public/locales/es/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Fecha", + "description": "Mostrar la fecha y hora actuales en una tarjeta", + "settings": { + "display24HourFormat": { + "label": "Mostrar hora completa (24 horas)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/es/modules/dlspeed.json b/public/locales/es/modules/dlspeed.json new file mode 100644 index 000000000..4c64a25c8 --- /dev/null +++ b/public/locales/es/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Velocidad de Descarga", + "description": "Mostrar la velocidad de descarga actual de los servicios compatibles" + }, + "card": { + "table": { + "header": { + "name": "Nombre", + "size": "Tamaño", + "download": "Descarga", + "upload": "Subida", + "estimatedTimeOfArrival": "Tiempo restante", + "progress": "Completado %" + }, + "body": { + "nothingFound": "No se han encontrado torrents" + } + }, + "lineChart": { + "title": "Velocidad de descarga actual", + "download": "Velocidad de Descarga: {{download}}", + "upload": "Velocidad de subida: {{upload}}", + "timeSpan": "Hace {{seconds}} segundos", + "totalDownload": "Velocidad de Descarga: {{download}}/s", + "totalUpload": "Velocidad de Subida: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "¡No se han encontrado clientes de descarga compatibles!", + "text": "Añade un servicio de descarga para ver tus descargas actuales" + } + } + } +} \ No newline at end of file diff --git a/public/locales/es/modules/docker.json b/public/locales/es/modules/docker.json new file mode 100644 index 000000000..2c4ff2abc --- /dev/null +++ b/public/locales/es/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Te permite gestionar facilmente tus torrents" + }, + "search": { + "placeholder": "Buscar por nombre de contendor o nombre de la imagen" + }, + "table": { + "header": { + "name": "Nombre", + "image": "Imágen", + "ports": "Puertos", + "state": "Estado" + }, + "body": { + "portCollapse": "{{ports}} más" + }, + "states": { + "running": "En ejecución", + "created": "Creado", + "stopped": "Detenido", + "unknown": "Desconocido" + } + }, + "actionBar": { + "addService": { + "title": "Añadir servicio", + "message": "Añadir servicio a Homarr" + }, + "restart": { + "title": "Reiniciar" + }, + "stop": { + "title": "Detener" + }, + "start": { + "title": "Comenzar" + }, + "refreshData": { + "title": "" + }, + "remove": { + "title": "Eliminar" + }, + "addToHomarr": { + "title": "Añadir a Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Contenedor {{containerName}} {{action}} do", + "message": "Su contenedor ha sido {{action}} con éxito" + } + }, + "errors": { + "integrationFailed": { + "title": "Error en la integración con Docker", + "message": "¿Has olvidado montar el socket de docker?" + }, + "unknownError": { + "title": "Se ha producido un error" + }, + "oneServiceAtATime": { + "title": "Por favor, añade un servicio cada vez!" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/es/modules/overseerr.json b/public/locales/es/modules/overseerr.json new file mode 100644 index 000000000..fd817fa12 --- /dev/null +++ b/public/locales/es/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Te permite buscar y añadir medios desde Overseerr y Jellyseerr" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Solicitar {{title}}", + "cancel": "Cancelar", + "request": "Solicitar" + }, + "alerts": { + "automaticApproval": { + "title": "Usando la clave API", + "text": "Esta petición se aprobará automáticamente" + } + } + }, + "seasonSelector": { + "caption": "Marca las temporadas que quieres que se descarguen", + "table": { + "header": { + "season": "Temporada", + "numberOfEpisodes": "Número de episodios" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/es/modules/ping.json b/public/locales/es/modules/ping.json new file mode 100644 index 000000000..ecf4efdb2 --- /dev/null +++ b/public/locales/es/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Latencia", + "description": "Te permite comprobar si el servicio está operativo o si devuelve un código HTTP en específico." + }, + "states": { + "online": "En línea {{response}}", + "offline": "Desconectado {{response}}", + "loading": "Cargando..." + } +} \ No newline at end of file diff --git a/public/locales/es/modules/search.json b/public/locales/es/modules/search.json new file mode 100644 index 000000000..382a29d1d --- /dev/null +++ b/public/locales/es/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Barra de búsqueda", + "description": "Barra de búsqueda para buscar en la web, YouTube, Torrents u Overseerr" + }, + "input": { + "placeholder": "Buscar en Internet..." + } +} \ No newline at end of file diff --git a/public/locales/es/modules/torrents-status.json b/public/locales/es/modules/torrents-status.json new file mode 100644 index 000000000..4f0c81d4c --- /dev/null +++ b/public/locales/es/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Torrent", + "description": "Mostrar la velocidad de descarga actual de los servicios compatibles", + "settings": { + "hideComplete": { + "label": "Ocultar torrents completados" + } + } + }, + "card": { + "table": { + "header": { + "name": "Nombre", + "size": "Tamaño", + "download": "Descarga", + "upload": "Subida", + "estimatedTimeOfArrival": "Tiempo restante", + "progress": "Completado %" + }, + "body": { + "nothingFound": "No se han encontrado torrents" + } + }, + "lineChart": { + "title": "Velocidad de descarga actual", + "download": "Velocidad de Descarga: {{download}}", + "upload": "Velocidad de subida: {{upload}}", + "timeSpan": "Hace {{seconds}} segundos", + "totalDownload": "Velocidad de Descarga: {{download}}/s", + "totalUpload": "Velocidad de Subida: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "¡No se han encontrado clientes de descarga compatibles!", + "text": "Añade un servicio de descarga para ver tus descargas actuales" + } + } + } +} \ No newline at end of file diff --git a/public/locales/es/modules/usenet.json b/public/locales/es/modules/usenet.json new file mode 100644 index 000000000..6c82c4c83 --- /dev/null +++ b/public/locales/es/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "¡No se han encontrado clientes de descarga compatibles!", + "text": "Añade un servicio de descarga para ver tus descargas actuales" + } + } + }, + "tabs": { + "queue": "", + "history": "" + }, + "info": { + "sizeLeft": "", + "paused": "" + }, + "queue": { + "header": { + "name": "Nombre", + "size": "Tamaño", + "eta": "Tiempo restante", + "progress": "Completado %" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + }, + "history": { + "header": { + "name": "Nombre", + "size": "Tamaño", + "duration": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + } +} diff --git a/public/locales/es/modules/weather.json b/public/locales/es/modules/weather.json new file mode 100644 index 000000000..bbac71dbf --- /dev/null +++ b/public/locales/es/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Clima", + "description": "Consulta el clima actual en tu ubicación", + "settings": { + "displayInFahrenheit": { + "label": "Mostrar en Fahrenheit" + }, + "location": { + "label": "Ubicación del clima" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Despejado", + "mainlyClear": "Mayormente Despejado", + "fog": "Niebla", + "drizzle": "Llovizna", + "freezingDrizzle": "Llovizna helada", + "rain": "Lluvia", + "freezingRain": "Lluvia helada", + "snowFall": "Caída de nieve", + "snowGrains": "Granos de nieve", + "rainShowers": "Lluvia ligera", + "snowShowers": "Nevada Ligera", + "thunderstorm": "Tormenta eléctrica", + "thunderstormWithHail": "Tormenta con Granizo", + "unknown": "Desconocido" + } + } +} \ No newline at end of file diff --git a/public/locales/es/settings/common.json b/public/locales/es/settings/common.json new file mode 100644 index 000000000..80a465d81 --- /dev/null +++ b/public/locales/es/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Ajustes", + "tooltip": "Ajustes", + "tabs": { + "common": "Común", + "customizations": "Personalizaciones" + }, + "tips": { + "configTip": "¡Sube tu archivo de configuración arrastrándolo y soltándolo en la página!" + }, + "credits": { + "madeWithLove": "Hecho con ❤️ por @" + } +} \ No newline at end of file diff --git a/public/locales/es/settings/customization/app-width.json b/public/locales/es/settings/customization/app-width.json new file mode 100644 index 000000000..159de8cb8 --- /dev/null +++ b/public/locales/es/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "Ancho de la Aplicación" +} \ No newline at end of file diff --git a/public/locales/es/settings/customization/color-selector.json b/public/locales/es/settings/customization/color-selector.json new file mode 100644 index 000000000..4da18eb3d --- /dev/null +++ b/public/locales/es/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "Color {{color}}" +} \ No newline at end of file diff --git a/public/locales/es/settings/customization/opacity-selector.json b/public/locales/es/settings/customization/opacity-selector.json new file mode 100644 index 000000000..d9cfa5fe8 --- /dev/null +++ b/public/locales/es/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Opacidad de la aplicación" +} \ No newline at end of file diff --git a/public/locales/es/settings/customization/page-appearance.json b/public/locales/es/settings/customization/page-appearance.json new file mode 100644 index 000000000..1633bba4e --- /dev/null +++ b/public/locales/es/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "Título de Página", + "placeholder": "Homarr 🦞" + }, + "logo": { + "label": "Logo", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "Favicon", + "placeholder": "/favicon.png" + }, + "background": { + "label": "Fondo", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "CSS Personalizado", + "placeholder": "El CSS personalizado se ejecutará en último lugar" + }, + "buttons": { + "submit": "Enviar" + } +} diff --git a/public/locales/es/settings/customization/shade-selector.json b/public/locales/es/settings/customization/shade-selector.json new file mode 100644 index 000000000..98ca19a2e --- /dev/null +++ b/public/locales/es/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Sombra" +} \ No newline at end of file diff --git a/public/locales/es/settings/general/color-schema.json b/public/locales/es/settings/general/color-schema.json new file mode 100644 index 000000000..8cd1a53f2 --- /dev/null +++ b/public/locales/es/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Cambiar al modo {{scheme}}" +} \ No newline at end of file diff --git a/public/locales/es/settings/general/config-changer.json b/public/locales/es/settings/general/config-changer.json new file mode 100644 index 000000000..95e850b1c --- /dev/null +++ b/public/locales/es/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "Cargador de configuración" + }, + "modal": { + "title": "Escoge el nombre de tu nueva configuración", + "form": { + "configName": { + "label": "Nombre de la configuración", + "placeholder": "Tu nuevo nombre de configuración" + }, + "submitButton": "Confirmar" + }, + "events": { + "configSaved": { + "title": "Configuración guardada", + "message": "Configuración guardada como {{configName}}" + } + } + }, + "buttons": { + "download": "Descargar configuración", + "delete": { + "text": "Borrar configuración", + "notifications": { + "deleted": { + "title": "Configuración Eliminada", + "message": "Configuración Eliminada" + }, + "deleteFailed": { + "title": "Error en el borrado de la configuración", + "message": "Error en el borrado de la configuración" + } + } + }, + "saveCopy": "Guardar una copia" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "No es posible cargar la configuración", + "message": "No se ha podido cargar la configuración. Formato .JSON no válido." + }, + "loadedSuccessfully": { + "title": "Configuración {{configName}} cargada correctamente" + } + }, + "accept": { + "text": "Arrastra un archivo aqui para subir una configuración. Sólo se admiten archivos .JSON." + }, + "reject": { + "text": "Este formato de archivo no es compatible. Por favor, sube solo archivos .JSON." + } + } +} \ No newline at end of file diff --git a/public/locales/es/settings/general/internationalization.json b/public/locales/es/settings/general/internationalization.json new file mode 100644 index 000000000..a530790ff --- /dev/null +++ b/public/locales/es/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Idioma" +} \ No newline at end of file diff --git a/public/locales/es/settings/general/module-enabler.json b/public/locales/es/settings/general/module-enabler.json new file mode 100644 index 000000000..b3ed9372d --- /dev/null +++ b/public/locales/es/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "Activador de Módulos" +} \ No newline at end of file diff --git a/public/locales/es/settings/general/search-engine.json b/public/locales/es/settings/general/search-engine.json new file mode 100644 index 000000000..704b0ea73 --- /dev/null +++ b/public/locales/es/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Motor de búsqueda", + "tips": { + "generalTip": "Usa los prefijos !yt y !t delante de tu consulta para buscar en YouTube o un torrent respectivamente.", + "placeholderTip": "%s puede utilizarse como modelo para la petición." + }, + "customEngine": { + "label": "URL de la Petición", + "placeholder": "URL de petición personalizada" + } +} \ No newline at end of file diff --git a/public/locales/es/settings/general/theme-selector.json b/public/locales/es/settings/general/theme-selector.json new file mode 100644 index 000000000..5c798f8b2 --- /dev/null +++ b/public/locales/es/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Cambiar al modo {{theme}}" +} \ No newline at end of file diff --git a/public/locales/es/settings/general/widget-positions.json b/public/locales/es/settings/general/widget-positions.json new file mode 100644 index 000000000..b14e5648b --- /dev/null +++ b/public/locales/es/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Colocar widgets a la izquierda" +} \ No newline at end of file diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json new file mode 100644 index 000000000..cf78741aa --- /dev/null +++ b/public/locales/fr/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Sauvegarder" + }, + "tip": "Conseil : ", + "time": { + "seconds": "secondes", + "minutes": "minutes", + "hours": "heures" + } +} diff --git a/public/locales/fr/layout/add-service-app-shelf.json b/public/locales/fr/layout/add-service-app-shelf.json new file mode 100644 index 000000000..cae5f90ad --- /dev/null +++ b/public/locales/fr/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Ajouter un service" + }, + "modal": { + "title": "Ajouter un service", + "form": { + "validation": { + "invalidUrl": "Veuillez entrer une URL valide", + "noStatusCodeSelected": "Veuillez sélectionner un code d'état" + } + }, + "tabs": { + "options": { + "title": "Options", + "form": { + "serviceName": { + "label": "Nom du service", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "URL de l'icône" + }, + "serviceUrl": { + "label": "URL du service" + }, + "onClickUrl": { + "label": "URL ouvert en cas de clic" + }, + "serviceType": { + "label": "Type de service", + "defaultValue": "Autre", + "placeholder": "Choisissez-en un" + }, + "category": { + "label": "Catégorie", + "placeholder": "Sélectionnez une catégorie ou créez-en une nouvelle", + "nothingFound": "Rien trouvé", + "createLabel": "+ Créer {{query}}" + }, + "integrations": { + "apiKey": { + "label": "Clé API", + "placeholder": "Votre clé API", + "validation": { + "noKey": "Clé non valide" + }, + "tip": { + "text": "Obtenez votre clé API", + "link": "ici." + } + }, + "qBittorrent": { + "username": { + "label": "Nom d'utilisateur", + "placeholder": "admin", + "validation": { + "invalidUsername": "Nom d'utilisateur invalide" + } + }, + "password": { + "label": "Mot de passe", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Mot de passe invalide" + } + } + }, + "deluge": { + "password": { + "label": "Mot de passe", + "placeholder": "mot de passe", + "validation": { + "invalidPassword": "Mot de passe invalide" + } + } + }, + "transmission": { + "username": { + "label": "Nom d'utilisateur :", + "placeholder": "admin", + "validation": { + "invalidUsername": "Nom d'utilisateur non valide" + } + }, + "password": { + "label": "Mot de passe", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Mot de passe invalide" + } + } + } + } + } + }, + "advancedOptions": { + "title": "Options avancées", + "form": { + "httpStatusCodes": { + "label": "Codes d'état HTTP", + "placeholder": "Sélectionnez les codes d'état valides", + "clearButtonLabel": "Effacer la sélection", + "nothingFound": "Rien trouvé" + }, + "openServiceInNewTab": { + "label": "Ouvrir le service dans un nouvel onglet" + }, + "buttons": { + "submit": { + "content": "Ajouter un service" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/fr/layout/app-shelf-menu.json b/public/locales/fr/layout/app-shelf-menu.json new file mode 100644 index 000000000..2ae82317f --- /dev/null +++ b/public/locales/fr/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Modifier un service", + "buttons": { + "save": "Service de sauvegarde" + } + }, + "menu": { + "labels": { + "settings": "Paramètres", + "dangerZone": "Attention" + }, + "actions": { + "edit": "Modifier", + "delete": "Supprimer" + } + } +} \ No newline at end of file diff --git a/public/locales/fr/layout/app-shelf.json b/public/locales/fr/layout/app-shelf.json new file mode 100644 index 000000000..3590035b2 --- /dev/null +++ b/public/locales/fr/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Vos téléchargements" + }, + "others": { + "text": "Autres" + } + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/calendar.json b/public/locales/fr/modules/calendar.json new file mode 100644 index 000000000..fcf3e6001 --- /dev/null +++ b/public/locales/fr/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Calendrier", + "description": "Un module de calendrier pour afficher les prochaines versions. Il interagit avec les API Sonarr et Radarr.", + "settings": { + "sundayStart": { + "label": "Commencez la semaine par dimanche" + } + } + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/common-media-cards.json b/public/locales/fr/modules/common-media-cards.json new file mode 100644 index 000000000..299372e36 --- /dev/null +++ b/public/locales/fr/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Jouer", + "request": "Demande" + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/common.json b/public/locales/fr/modules/common.json new file mode 100644 index 000000000..e13463d31 --- /dev/null +++ b/public/locales/fr/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Paramètres" + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/dashdot.json b/public/locales/fr/modules/dashdot.json new file mode 100644 index 000000000..e24d7e588 --- /dev/null +++ b/public/locales/fr/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Un module pour afficher les graphiques de votre instance Dash. en cours.", + "settings": { + "cpuMultiView": { + "label": "Vue du CPU multi-cœur" + }, + "storageMultiView": { + "label": "Vue du stockage multidisque" + }, + "useCompactView": { + "label": "Utiliser la vue compacte" + }, + "graphs": { + "label": "Graphiques" + }, + "url": { + "label": "URL Dash." + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "Aucun service Dash. trouvé. Veuillez en ajouter un à votre tableau de bord Homarr ou définir l'URL du service Dash. dans les options du module", + "noInformation": "Impossible d'acquérir des informations de Dash. - Utilisez-vous la dernière version ?" + }, + "graphs": { + "storage": { + "title": "Stockage", + "label": "Stockage :" + }, + "network": { + "title": "Réseau", + "label": "Réseau :", + "metrics": { + "download": "Duvet", + "upload": "Up" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/date.json b/public/locales/fr/modules/date.json new file mode 100644 index 000000000..c1f777c4f --- /dev/null +++ b/public/locales/fr/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Date", + "description": "Affiches l'heure et la date actuelles dans un module", + "settings": { + "display24HourFormat": { + "label": "Affichage 24 h" + } + } + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/dlspeed.json b/public/locales/fr/modules/dlspeed.json new file mode 100644 index 000000000..b6b1b0c3b --- /dev/null +++ b/public/locales/fr/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Vitesse de téléchargement", + "description": "Afficher la vitesse de téléchargement actuelle des services pris en charge" + }, + "card": { + "table": { + "header": { + "name": "Nom", + "size": "Taille", + "download": "Duvet", + "upload": "Up", + "estimatedTimeOfArrival": "ETA", + "progress": "Progrès" + }, + "body": { + "nothingFound": "Aucun torrent trouvé" + } + }, + "lineChart": { + "title": "Vitesse de téléchargement actuelle", + "download": "Télécharger : {{download}}", + "upload": "Télécharger : {{upload}}", + "timeSpan": "{{seconds}} il y a quelques secondes", + "totalDownload": "Télécharger : {{download}}/s", + "totalUpload": "Upload : {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Aucun client de téléchargement supporté n'a été trouvé !", + "text": "Ajouter un service de téléchargement pour afficher vos téléchargements en cours" + } + } + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/docker.json b/public/locales/fr/modules/docker.json new file mode 100644 index 000000000..02486da37 --- /dev/null +++ b/public/locales/fr/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Vous permet de gérer facilement vos torrents" + }, + "search": { + "placeholder": "Recherche par nom de conteneur ou d'image" + }, + "table": { + "header": { + "name": "Nom", + "image": "Image", + "ports": "Ports", + "state": "État" + }, + "body": { + "portCollapse": "{{ports}} plus" + }, + "states": { + "running": "Running", + "created": "Créé", + "stopped": "Arrêté", + "unknown": "Inconnu" + } + }, + "actionBar": { + "addService": { + "title": "Ajouter un service", + "message": "Ajouter un service à Homarr" + }, + "restart": { + "title": "Redémarrer" + }, + "stop": { + "title": "Stop" + }, + "start": { + "title": "Début" + }, + "refreshData": { + "title": "Rafraîchir les données" + }, + "remove": { + "title": "Retirer" + }, + "addToHomarr": { + "title": "Ajouter à Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Conteneur {{containerName}} {{action}}", + "message": "Votre conteneur a été envoyé avec succès à {{action}}" + } + }, + "errors": { + "integrationFailed": { + "title": "L'intégration de Docker a échoué", + "message": "Avez-vous oublié de monter le docker socket ?" + }, + "unknownError": { + "title": "Une erreur s’est produite" + }, + "oneServiceAtATime": { + "title": "Veuillez n'ajouter qu'un seul service à la fois !" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/overseerr.json b/public/locales/fr/modules/overseerr.json new file mode 100644 index 000000000..2884a5b98 --- /dev/null +++ b/public/locales/fr/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Permet de rechercher et d'ajouter des médias depuis Overseerr/Jellyseerr" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Demandez {{title}}", + "cancel": "Annuler", + "request": "Demande" + }, + "alerts": { + "automaticApproval": { + "title": "Utilisation de la clé API", + "text": "Cette demande sera automatiquement approuvée" + } + } + }, + "seasonSelector": { + "caption": "Cochez les saisons que vous souhaitez télécharger", + "table": { + "header": { + "season": "Saison", + "numberOfEpisodes": "Nombre d'épisodes" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/ping.json b/public/locales/fr/modules/ping.json new file mode 100644 index 000000000..fdb946c0e --- /dev/null +++ b/public/locales/fr/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Ping", + "description": "Permet de vérifier si le service est en place ou renvoie un code d'état HTTP spécifique." + }, + "states": { + "online": "En ligne {{response}}", + "offline": "Hors ligne {{response}}", + "loading": "Chargement..." + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/search.json b/public/locales/fr/modules/search.json new file mode 100644 index 000000000..36aa6c92c --- /dev/null +++ b/public/locales/fr/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Barre de recherche", + "description": "Barre de recherche pour rechercher sur le web, Youtube, Torrents ou Overseerr" + }, + "input": { + "placeholder": "Cherchez sur le web..." + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/torrents-status.json b/public/locales/fr/modules/torrents-status.json new file mode 100644 index 000000000..aea9aec81 --- /dev/null +++ b/public/locales/fr/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Torrent", + "description": "Afficher la vitesse de téléchargement actuelle des services pris en charge", + "settings": { + "hideComplete": { + "label": "Cacher les torrents terminés" + } + } + }, + "card": { + "table": { + "header": { + "name": "Nom", + "size": "Taille", + "download": "Duvet", + "upload": "Up", + "estimatedTimeOfArrival": "ETA", + "progress": "Progrès" + }, + "body": { + "nothingFound": "Aucun torrent trouvé" + } + }, + "lineChart": { + "title": "Vitesse de téléchargement actuelle", + "download": "Télécharger : {{download}}", + "upload": "Télécharger : {{upload}}", + "timeSpan": "{{seconds}} il y a quelques secondes", + "totalDownload": "Télécharger : {{download}}/s", + "totalUpload": "Upload : {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Aucun client de téléchargement supporté n'a été trouvé !", + "text": "Ajouter un service de téléchargement pour afficher vos téléchargements en cours" + } + } + } +} \ No newline at end of file diff --git a/public/locales/fr/modules/usenet.json b/public/locales/fr/modules/usenet.json new file mode 100644 index 000000000..fd9061c24 --- /dev/null +++ b/public/locales/fr/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "Sabnzbd", + "description": "Permet de voir votre file d'attente et votre historique Sabnzbd, de mettre en pause et de reprendre les téléchargements" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "Aucun client de téléchargement supporté n'a été trouvé !", + "text": "Ajouter un service de téléchargement pour afficher vos téléchargements en cours" + } + } + }, + "tabs": { + "queue": "File d'attente", + "history": "Historique" + }, + "info": { + "sizeLeft": "Taille restante", + "paused": "En pause" + }, + "queue": { + "header": { + "name": "Nom", + "size": "Taille", + "eta": "ETA", + "progress": "Progrès" + }, + "empty": "Vide", + "error": { + "title": "Erreur", + "message": "Une erreur est survenue" + }, + "paused": "En pause" + }, + "history": { + "header": { + "name": "Nom", + "size": "Taille", + "duration": "Durée" + }, + "empty": "Vide", + "error": { + "title": "Erreur", + "message": "Erreur récupération de l'historique" + }, + "paused": "En pause" + } +} diff --git a/public/locales/fr/modules/weather.json b/public/locales/fr/modules/weather.json new file mode 100644 index 000000000..45669569c --- /dev/null +++ b/public/locales/fr/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Météo", + "description": "Consultez la météo actuelle dans votre région", + "settings": { + "displayInFahrenheit": { + "label": "Affichage en Fahrenheit" + }, + "location": { + "label": "Lieu de la météo" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Clair", + "mainlyClear": "Principalement clair", + "fog": "Brouillard", + "drizzle": "Bruine", + "freezingDrizzle": "Bruine glacée", + "rain": "Pluie", + "freezingRain": "Pluie verglaçante", + "snowFall": "Chute de neige", + "snowGrains": "Neige en grains", + "rainShowers": "Averses de pluie", + "snowShowers": "Averses de neige", + "thunderstorm": "Orage", + "thunderstormWithHail": "Orage avec grêle", + "unknown": "Inconnu" + } + } +} \ No newline at end of file diff --git a/public/locales/fr/settings/common.json b/public/locales/fr/settings/common.json new file mode 100644 index 000000000..5e1a84e55 --- /dev/null +++ b/public/locales/fr/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Paramètres", + "tooltip": "Paramètres", + "tabs": { + "common": "Common", + "customizations": "Personnalisations" + }, + "tips": { + "configTip": "Téléchargez votre fichier de configuration en le faisant glisser et en le déposant sur la page !" + }, + "credits": { + "madeWithLove": "Fait avec ❤️ par @" + } +} \ No newline at end of file diff --git a/public/locales/fr/settings/customization/app-width.json b/public/locales/fr/settings/customization/app-width.json new file mode 100644 index 000000000..b86f110da --- /dev/null +++ b/public/locales/fr/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "Largeur de l'application" +} \ No newline at end of file diff --git a/public/locales/fr/settings/customization/color-selector.json b/public/locales/fr/settings/customization/color-selector.json new file mode 100644 index 000000000..5d74935fa --- /dev/null +++ b/public/locales/fr/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} couleur" +} \ No newline at end of file diff --git a/public/locales/fr/settings/customization/opacity-selector.json b/public/locales/fr/settings/customization/opacity-selector.json new file mode 100644 index 000000000..6c995c5fa --- /dev/null +++ b/public/locales/fr/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Opacité de l'application" +} \ No newline at end of file diff --git a/public/locales/fr/settings/customization/page-appearance.json b/public/locales/fr/settings/customization/page-appearance.json new file mode 100644 index 000000000..e04992fcb --- /dev/null +++ b/public/locales/fr/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "Titre de la page", + "placeholder": "Homarr 🦞" + }, + "logo": { + "label": "Logo", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "Favicon", + "placeholder": "/favicon.png" + }, + "background": { + "label": "Contexte", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "CSS personnalisé", + "placeholder": "Le CSS personnalisé sera exécuté en dernier" + }, + "buttons": { + "submit": "Soumettre" + } +} diff --git a/public/locales/fr/settings/customization/shade-selector.json b/public/locales/fr/settings/customization/shade-selector.json new file mode 100644 index 000000000..9805d1301 --- /dev/null +++ b/public/locales/fr/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Ombre" +} \ No newline at end of file diff --git a/public/locales/fr/settings/general/color-schema.json b/public/locales/fr/settings/general/color-schema.json new file mode 100644 index 000000000..b9a69545a --- /dev/null +++ b/public/locales/fr/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Passez en mode {{scheme}}" +} \ No newline at end of file diff --git a/public/locales/fr/settings/general/config-changer.json b/public/locales/fr/settings/general/config-changer.json new file mode 100644 index 000000000..2951c8163 --- /dev/null +++ b/public/locales/fr/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "Chargeur de configuration" + }, + "modal": { + "title": "Choisissez le nom de votre nouvelle configuration", + "form": { + "configName": { + "label": "Nom de la configuration", + "placeholder": "Le nom de votre nouvelle configuration" + }, + "submitButton": "Confirmer" + }, + "events": { + "configSaved": { + "title": "Configuration sauvegardée", + "message": "Configuration enregistrée sous {{configName}}" + } + } + }, + "buttons": { + "download": "Télécharger la configuration", + "delete": { + "text": "Supprimer la configuration", + "notifications": { + "deleted": { + "title": "Config supprimée", + "message": "Config supprimée" + }, + "deleteFailed": { + "title": "La suppression de la configuration a échoué", + "message": "La suppression de la configuration a échoué" + } + } + }, + "saveCopy": "Sauvegarder une copie" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "Impossible de charger la configuration", + "message": "Impossible de charger votre configuration. Format JSON non valide." + }, + "loadedSuccessfully": { + "title": "Config {{configName}} chargé avec succès" + } + }, + "accept": { + "text": "Faites glisser les fichiers ici pour télécharger une configuration. Support pour JSON uniquement." + }, + "reject": { + "text": "Ce format de fichier n'est pas pris en charge. Veuillez télécharger uniquement JSON." + } + } +} \ No newline at end of file diff --git a/public/locales/fr/settings/general/internationalization.json b/public/locales/fr/settings/general/internationalization.json new file mode 100644 index 000000000..7014ff5e3 --- /dev/null +++ b/public/locales/fr/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Langue" +} \ No newline at end of file diff --git a/public/locales/fr/settings/general/module-enabler.json b/public/locales/fr/settings/general/module-enabler.json new file mode 100644 index 000000000..179753b6f --- /dev/null +++ b/public/locales/fr/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "Module enabler" +} \ No newline at end of file diff --git a/public/locales/fr/settings/general/search-engine.json b/public/locales/fr/settings/general/search-engine.json new file mode 100644 index 000000000..98ba1b552 --- /dev/null +++ b/public/locales/fr/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Moteur de recherche", + "tips": { + "generalTip": "Utilisez les préfixes !yt et !t devant votre requête pour rechercher respectivement sur YouTube ou pour un Torrent.", + "placeholderTip": "%s peut être utilisé en tant que placeholder pour la requête." + }, + "customEngine": { + "label": "URL de la requête", + "placeholder": "URL de requête personnalisée" + } +} \ No newline at end of file diff --git a/public/locales/fr/settings/general/theme-selector.json b/public/locales/fr/settings/general/theme-selector.json new file mode 100644 index 000000000..aae766602 --- /dev/null +++ b/public/locales/fr/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Passez en mode {{theme}}" +} \ No newline at end of file diff --git a/public/locales/fr/settings/general/widget-positions.json b/public/locales/fr/settings/general/widget-positions.json new file mode 100644 index 000000000..28649cb99 --- /dev/null +++ b/public/locales/fr/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Positionner les widgets à gauche" +} \ No newline at end of file diff --git a/public/locales/it/common.json b/public/locales/it/common.json new file mode 100644 index 000000000..fbf0a2ca8 --- /dev/null +++ b/public/locales/it/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Risparmiare" + }, + "tip": "Suggerimento: ", + "time": { + "seconds": "secondi", + "minutes": "minuti", + "hours": "ore" + } +} diff --git a/public/locales/it/layout/add-service-app-shelf.json b/public/locales/it/layout/add-service-app-shelf.json new file mode 100644 index 000000000..71ec4f952 --- /dev/null +++ b/public/locales/it/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Aggiungere un servizio" + }, + "modal": { + "title": "Aggiungi servizio", + "form": { + "validation": { + "invalidUrl": "Inserire un URL valido", + "noStatusCodeSelected": "Selezionare un codice di stato" + } + }, + "tabs": { + "options": { + "title": "Opzioni", + "form": { + "serviceName": { + "label": "Nome del servizio", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "Icona URL" + }, + "serviceUrl": { + "label": "URL del servizio" + }, + "onClickUrl": { + "label": "URL al clic" + }, + "serviceType": { + "label": "Tipo di servizio", + "defaultValue": "Altro", + "placeholder": "Sceglietene uno" + }, + "category": { + "label": "Categoria", + "placeholder": "Selezionare una categoria o crearne una nuova", + "nothingFound": "Non è stato trovato nulla", + "createLabel": "+ Creare {{query}}" + }, + "integrations": { + "apiKey": { + "label": "Chiave API", + "placeholder": "La vostra chiave API", + "validation": { + "noKey": "Chiave non valida" + }, + "tip": { + "text": "Ottenere la chiave API", + "link": "qui." + } + }, + "qBittorrent": { + "username": { + "label": "Nome utente", + "placeholder": "amministratore", + "validation": { + "invalidUsername": "Nome utente non valido" + } + }, + "password": { + "label": "Password", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Password non valida" + } + } + }, + "deluge": { + "password": { + "label": "Password", + "placeholder": "password", + "validation": { + "invalidPassword": "Password non valida" + } + } + }, + "transmission": { + "username": { + "label": "Nome utente", + "placeholder": "amministratore", + "validation": { + "invalidUsername": "Nome utente non valido" + } + }, + "password": { + "label": "Password", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Password non valida" + } + } + } + } + } + }, + "advancedOptions": { + "title": "Opzioni avanzate", + "form": { + "httpStatusCodes": { + "label": "Codici di stato HTTP", + "placeholder": "Selezionare i codici di stato validi", + "clearButtonLabel": "Cancella la selezione", + "nothingFound": "Non è stato trovato nulla" + }, + "openServiceInNewTab": { + "label": "Aprire il servizio in una nuova scheda" + }, + "buttons": { + "submit": { + "content": "Aggiungi servizio" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/it/layout/app-shelf-menu.json b/public/locales/it/layout/app-shelf-menu.json new file mode 100644 index 000000000..465f41810 --- /dev/null +++ b/public/locales/it/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Modificare un servizio", + "buttons": { + "save": "Salvataggio del servizio" + } + }, + "menu": { + "labels": { + "settings": "Impostazioni", + "dangerZone": "Zona di pericolo" + }, + "actions": { + "edit": "Modifica", + "delete": "Cancellare" + } + } +} \ No newline at end of file diff --git a/public/locales/it/layout/app-shelf.json b/public/locales/it/layout/app-shelf.json new file mode 100644 index 000000000..c1bed853d --- /dev/null +++ b/public/locales/it/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "I vostri download" + }, + "others": { + "text": "Altri" + } + } +} \ No newline at end of file diff --git a/public/locales/it/modules/calendar.json b/public/locales/it/modules/calendar.json new file mode 100644 index 000000000..4da570b8f --- /dev/null +++ b/public/locales/it/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Calendario", + "description": "Un modulo calendario per la visualizzazione dei prossimi rilasci. Interagisce con le API di Sonarr e Radarr.", + "settings": { + "sundayStart": { + "label": "Iniziare la settimana la domenica" + } + } + } +} \ No newline at end of file diff --git a/public/locales/it/modules/common-media-cards.json b/public/locales/it/modules/common-media-cards.json new file mode 100644 index 000000000..ead772e99 --- /dev/null +++ b/public/locales/it/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Gioco", + "request": "Richiesta" + } +} \ No newline at end of file diff --git a/public/locales/it/modules/common.json b/public/locales/it/modules/common.json new file mode 100644 index 000000000..162178e59 --- /dev/null +++ b/public/locales/it/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Impostazioni" + } +} \ No newline at end of file diff --git a/public/locales/it/modules/dashdot.json b/public/locales/it/modules/dashdot.json new file mode 100644 index 000000000..a2038cfd5 --- /dev/null +++ b/public/locales/it/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Un modulo per visualizzare i grafici dell'istanza di Dash in esecuzione.", + "settings": { + "cpuMultiView": { + "label": "Vista CPU Multi-Core" + }, + "storageMultiView": { + "label": "Visualizzazione dell'unità multipla di archiviazione" + }, + "useCompactView": { + "label": "Utilizzare la vista compatta" + }, + "graphs": { + "label": "Grafici" + }, + "url": { + "label": "Dash. URL" + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "Nessun servizio Dash. trovato. Aggiungerne uno alla dashboard di Homarr o impostare un Dash. nelle opzioni del modulo", + "noInformation": "Impossibile acquisire informazioni da dash. - state eseguendo l'ultima versione?" + }, + "graphs": { + "storage": { + "title": "Immagazzinamento", + "label": "Stoccaggio:" + }, + "network": { + "title": "Rete", + "label": "Rete:", + "metrics": { + "download": "In basso", + "upload": "Su" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/it/modules/date.json b/public/locales/it/modules/date.json new file mode 100644 index 000000000..deb7bcb16 --- /dev/null +++ b/public/locales/it/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Data", + "description": "Mostra l'ora e la data corrente in una scheda", + "settings": { + "display24HourFormat": { + "label": "Visualizzazione a tempo pieno (24 ore)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/it/modules/dlspeed.json b/public/locales/it/modules/dlspeed.json new file mode 100644 index 000000000..e1febbec7 --- /dev/null +++ b/public/locales/it/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Scarica la velocità", + "description": "Mostra la velocità di download attuale dei servizi supportati" + }, + "card": { + "table": { + "header": { + "name": "Nome", + "size": "Dimensione", + "download": "In basso", + "upload": "Su", + "estimatedTimeOfArrival": "ETA", + "progress": "Progressi" + }, + "body": { + "nothingFound": "Nessun torrent trovato" + } + }, + "lineChart": { + "title": "Velocità di download attuale", + "download": "Scaricamento: {{download}}", + "upload": "Caricare: {{upload}}", + "timeSpan": "{{seconds}} secondi fa", + "totalDownload": "Download: {{download}}/s", + "totalUpload": "Caricare: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Nessun client di download supportato trovato!", + "text": "Aggiungere un servizio di download per visualizzare i download correnti" + } + } + } +} \ No newline at end of file diff --git a/public/locales/it/modules/docker.json b/public/locales/it/modules/docker.json new file mode 100644 index 000000000..229e9c394 --- /dev/null +++ b/public/locales/it/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Consente di gestire facilmente i propri torrent" + }, + "search": { + "placeholder": "Ricerca per contenitore o nome dell'immagine" + }, + "table": { + "header": { + "name": "Nome", + "image": "Immagine", + "ports": "Porti", + "state": "Stato" + }, + "body": { + "portCollapse": "{{ports}} di più" + }, + "states": { + "running": "In corsa", + "created": "Creato", + "stopped": "Interrotto", + "unknown": "Sconosciuto" + } + }, + "actionBar": { + "addService": { + "title": "Aggiungi servizio", + "message": "Aggiungi servizio a Homarr" + }, + "restart": { + "title": "Riavvio" + }, + "stop": { + "title": "Stop" + }, + "start": { + "title": "Inizio" + }, + "refreshData": { + "title": "Aggiornare i dati" + }, + "remove": { + "title": "Rimuovere" + }, + "addToHomarr": { + "title": "Aggiungi a Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Contenitore {{containerName}} {{action}}ed", + "message": "Il vostro contenitore è stato {{action}}" + } + }, + "errors": { + "integrationFailed": { + "title": "Integrazione di Docker fallita", + "message": "Hai dimenticato di montare il socket di docker?" + }, + "unknownError": { + "title": "Si è verificato un errore" + }, + "oneServiceAtATime": { + "title": "Si prega di aggiungere solo un servizio alla volta!" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/it/modules/overseerr.json b/public/locales/it/modules/overseerr.json new file mode 100644 index 000000000..6174bad2e --- /dev/null +++ b/public/locales/it/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Sovrintendenti", + "description": "Permette di cercare e aggiungere media da Overseerr/Jellyseerr" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Chiedete di {{title}}", + "cancel": "Annullamento", + "request": "Richiesta" + }, + "alerts": { + "automaticApproval": { + "title": "Utilizzo della chiave API", + "text": "Questa richiesta verrà approvata automaticamente" + } + } + }, + "seasonSelector": { + "caption": "Spuntare le stagioni che si desidera scaricare.", + "table": { + "header": { + "season": "Stagione", + "numberOfEpisodes": "Numero di episodi" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/it/modules/ping.json b/public/locales/it/modules/ping.json new file mode 100644 index 000000000..7fc98c6eb --- /dev/null +++ b/public/locales/it/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Ping", + "description": "Consente di verificare se il servizio è attivo o se restituisce un codice di stato HTTP specifico." + }, + "states": { + "online": "Online {{response}}", + "offline": "Offline {{response}}", + "loading": "Caricamento..." + } +} \ No newline at end of file diff --git a/public/locales/it/modules/search.json b/public/locales/it/modules/search.json new file mode 100644 index 000000000..621da0e2f --- /dev/null +++ b/public/locales/it/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Barra di ricerca", + "description": "Barra di ricerca per cercare sul web, su Youtube, su Torrents o su Overseerr" + }, + "input": { + "placeholder": "Cerca sul web..." + } +} \ No newline at end of file diff --git a/public/locales/it/modules/torrents-status.json b/public/locales/it/modules/torrents-status.json new file mode 100644 index 000000000..adb92662f --- /dev/null +++ b/public/locales/it/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Torrente", + "description": "Mostra la velocità di download attuale dei servizi supportati", + "settings": { + "hideComplete": { + "label": "Nascondere i torrent completati" + } + } + }, + "card": { + "table": { + "header": { + "name": "Nome", + "size": "Dimensione", + "download": "In basso", + "upload": "Su", + "estimatedTimeOfArrival": "ETA", + "progress": "Progressi" + }, + "body": { + "nothingFound": "Nessun torrent trovato" + } + }, + "lineChart": { + "title": "Velocità di download attuale", + "download": "Scaricamento: {{download}}", + "upload": "Caricare: {{upload}}", + "timeSpan": "{{seconds}} secondi fa", + "totalDownload": "Download: {{download}}/s", + "totalUpload": "Caricare: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Nessun client di download supportato trovato!", + "text": "Aggiungere un servizio di download per visualizzare i download correnti" + } + } + } +} \ No newline at end of file diff --git a/public/locales/it/modules/usenet.json b/public/locales/it/modules/usenet.json new file mode 100644 index 000000000..67561cf2c --- /dev/null +++ b/public/locales/it/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "Sabnzbd", + "description": "Permette di vedere la coda e la cronologia di Sabnzbd, di mettere in pausa e di riprendere i download." + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "Nessun client di download supportato trovato!", + "text": "Aggiungere un servizio di download per visualizzare i download correnti" + } + } + }, + "tabs": { + "queue": "Coda", + "history": "La storia" + }, + "info": { + "sizeLeft": "Dimensione sinistra", + "paused": "In pausa" + }, + "queue": { + "header": { + "name": "Nome", + "size": "Dimensione", + "eta": "ETA", + "progress": "Progressi" + }, + "empty": "Vuoto", + "error": { + "title": "Errore", + "message": "Si è verificato un errore" + }, + "paused": "In pausa" + }, + "history": { + "header": { + "name": "Nome", + "size": "Dimensione", + "duration": "Durata" + }, + "empty": "Vuoto", + "error": { + "title": "Errore", + "message": "Errore nel caricamento della cronologia" + }, + "paused": "In pausa" + } +} diff --git a/public/locales/it/modules/weather.json b/public/locales/it/modules/weather.json new file mode 100644 index 000000000..8d863bf96 --- /dev/null +++ b/public/locales/it/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Il tempo", + "description": "Consultare il meteo attuale della propria località", + "settings": { + "displayInFahrenheit": { + "label": "Visualizzazione in Fahrenheit" + }, + "location": { + "label": "Posizione meteo" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Libero", + "mainlyClear": "Principalmente chiaro", + "fog": "Nebbia", + "drizzle": "Pioggerella", + "freezingDrizzle": "Pioggia gelata", + "rain": "Pioggia", + "freezingRain": "Pioggia gelata", + "snowFall": "Caduta della neve", + "snowGrains": "Granelli di neve", + "rainShowers": "Piogge a catinelle", + "snowShowers": "Piogge di neve", + "thunderstorm": "Temporale", + "thunderstormWithHail": "Temporale con grandine", + "unknown": "Sconosciuto" + } + } +} \ No newline at end of file diff --git a/public/locales/it/settings/common.json b/public/locales/it/settings/common.json new file mode 100644 index 000000000..fdaceac8d --- /dev/null +++ b/public/locales/it/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Impostazioni", + "tooltip": "Impostazioni", + "tabs": { + "common": "Comune", + "customizations": "Personalizzazioni" + }, + "tips": { + "configTip": "Caricate il vostro file di configurazione trascinandolo sulla pagina!" + }, + "credits": { + "madeWithLove": "Realizzato con ❤️ da @" + } +} \ No newline at end of file diff --git a/public/locales/it/settings/customization/app-width.json b/public/locales/it/settings/customization/app-width.json new file mode 100644 index 000000000..379134b20 --- /dev/null +++ b/public/locales/it/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "Larghezza dell'applicazione" +} \ No newline at end of file diff --git a/public/locales/it/settings/customization/color-selector.json b/public/locales/it/settings/customization/color-selector.json new file mode 100644 index 000000000..8d9238682 --- /dev/null +++ b/public/locales/it/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} colore" +} \ No newline at end of file diff --git a/public/locales/it/settings/customization/opacity-selector.json b/public/locales/it/settings/customization/opacity-selector.json new file mode 100644 index 000000000..eb6104c3d --- /dev/null +++ b/public/locales/it/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Opacità dell'applicazione" +} \ No newline at end of file diff --git a/public/locales/it/settings/customization/page-appearance.json b/public/locales/it/settings/customization/page-appearance.json new file mode 100644 index 000000000..68c35eeb3 --- /dev/null +++ b/public/locales/it/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "Titolo della pagina", + "placeholder": "Homarr 🦞" + }, + "logo": { + "label": "Logo", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "Favicon", + "placeholder": "/favicon.png" + }, + "background": { + "label": "Sfondo", + "placeholder": "/img/sfondo.png" + }, + "customCSS": { + "label": "CSS personalizzato", + "placeholder": "I CSS personalizzati saranno eseguiti per ultimi" + }, + "buttons": { + "submit": "Invia" + } +} diff --git a/public/locales/it/settings/customization/shade-selector.json b/public/locales/it/settings/customization/shade-selector.json new file mode 100644 index 000000000..6c09ff7bc --- /dev/null +++ b/public/locales/it/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Ombra" +} \ No newline at end of file diff --git a/public/locales/it/settings/general/color-schema.json b/public/locales/it/settings/general/color-schema.json new file mode 100644 index 000000000..a42d7bfe9 --- /dev/null +++ b/public/locales/it/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Passare alla modalità {{scheme}}" +} \ No newline at end of file diff --git a/public/locales/it/settings/general/config-changer.json b/public/locales/it/settings/general/config-changer.json new file mode 100644 index 000000000..132a9fbe1 --- /dev/null +++ b/public/locales/it/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "Caricatore di configurazione" + }, + "modal": { + "title": "Scegliere il nome della nuova configurazione", + "form": { + "configName": { + "label": "Nome della configurazione", + "placeholder": "Il nome della nuova configurazione" + }, + "submitButton": "Confermare" + }, + "events": { + "configSaved": { + "title": "Configurazione salvata", + "message": "Configurazione salvata come {{configName}}" + } + } + }, + "buttons": { + "download": "Scarica la configurazione", + "delete": { + "text": "Cancellare la configurazione", + "notifications": { + "deleted": { + "title": "Configurazione cancellata", + "message": "Configurazione cancellata" + }, + "deleteFailed": { + "title": "Cancellazione configurazione fallita", + "message": "Cancellazione configurazione fallita" + } + } + }, + "saveCopy": "Salvare una copia" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "Impossibile caricare la configurazione", + "message": "Impossibile caricare la configurazione. Formato JSON non valido." + }, + "loadedSuccessfully": { + "title": "La configurazione {{configName}} è stata caricata con successo" + } + }, + "accept": { + "text": "Trascinare i file qui per caricare una configurazione. Supporto solo per JSON." + }, + "reject": { + "text": "Questo formato di file non è supportato. Caricare solo JSON." + } + } +} \ No newline at end of file diff --git a/public/locales/it/settings/general/internationalization.json b/public/locales/it/settings/general/internationalization.json new file mode 100644 index 000000000..248283793 --- /dev/null +++ b/public/locales/it/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Lingua" +} \ No newline at end of file diff --git a/public/locales/it/settings/general/module-enabler.json b/public/locales/it/settings/general/module-enabler.json new file mode 100644 index 000000000..2ddba9c4b --- /dev/null +++ b/public/locales/it/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "Modulo abilitatore" +} \ No newline at end of file diff --git a/public/locales/it/settings/general/search-engine.json b/public/locales/it/settings/general/search-engine.json new file mode 100644 index 000000000..efe3142b7 --- /dev/null +++ b/public/locales/it/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Motore di ricerca", + "tips": { + "generalTip": "Utilizzate i prefissi !yt e !t davanti alla vostra domanda per cercare rispettivamente su YouTube o su un Torrent.", + "placeholderTip": "%s può essere usato come segnaposto per la query." + }, + "customEngine": { + "label": "URL di interrogazione", + "placeholder": "URL di query personalizzato" + } +} \ No newline at end of file diff --git a/public/locales/it/settings/general/theme-selector.json b/public/locales/it/settings/general/theme-selector.json new file mode 100644 index 000000000..d57c717b9 --- /dev/null +++ b/public/locales/it/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Passare alla modalità {{theme}}" +} \ No newline at end of file diff --git a/public/locales/it/settings/general/widget-positions.json b/public/locales/it/settings/general/widget-positions.json new file mode 100644 index 000000000..52057558f --- /dev/null +++ b/public/locales/it/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Posizionare i widget a sinistra" +} \ No newline at end of file diff --git a/public/locales/ja/common.json b/public/locales/ja/common.json new file mode 100644 index 000000000..41628d546 --- /dev/null +++ b/public/locales/ja/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "保存" + }, + "tip": "ヒント ", + "time": { + "seconds": "替わり", + "minutes": "議事録", + "hours": "時間" + } +} diff --git a/public/locales/ja/layout/add-service-app-shelf.json b/public/locales/ja/layout/add-service-app-shelf.json new file mode 100644 index 000000000..545dbd8ed --- /dev/null +++ b/public/locales/ja/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "サービスを追加する" + }, + "modal": { + "title": "サービス追加", + "form": { + "validation": { + "invalidUrl": "有効なURLを入力してください", + "noStatusCodeSelected": "ステータスコードを選択してください" + } + }, + "tabs": { + "options": { + "title": "オプション", + "form": { + "serviceName": { + "label": "サービス名", + "placeholder": "プレックス" + }, + "iconUrl": { + "label": "アイコンURL" + }, + "serviceUrl": { + "label": "サービスURL" + }, + "onClickUrl": { + "label": "クリック時URL" + }, + "serviceType": { + "label": "サービス形態", + "defaultValue": "その他", + "placeholder": "選んでください" + }, + "category": { + "label": "カテゴリー", + "placeholder": "カテゴリーを選択する、または新規に作成する", + "nothingFound": "何も見つかりません", + "createLabel": "+ Create {{query}}" + }, + "integrations": { + "apiKey": { + "label": "APIキー", + "placeholder": "お客様のAPIキー", + "validation": { + "noKey": "無効なキー" + }, + "tip": { + "text": "APIキーの取得", + "link": "をご覧ください。" + } + }, + "qBittorrent": { + "username": { + "label": "ユーザー名", + "placeholder": "アドミン", + "validation": { + "invalidUsername": "ユーザー名が無効です" + } + }, + "password": { + "label": "パスワード", + "placeholder": "アドミニストレーター", + "validation": { + "invalidPassword": "パスワードが無効です" + } + } + }, + "deluge": { + "password": { + "label": "パスワード", + "placeholder": "暗証番号", + "validation": { + "invalidPassword": "パスワードが無効です" + } + } + }, + "transmission": { + "username": { + "label": "ユーザー名", + "placeholder": "アドミン", + "validation": { + "invalidUsername": "ユーザー名が無効です" + } + }, + "password": { + "label": "パスワード", + "placeholder": "アドミニストレーター", + "validation": { + "invalidPassword": "パスワードが無効です" + } + } + } + } + } + }, + "advancedOptions": { + "title": "高度なオプション", + "form": { + "httpStatusCodes": { + "label": "HTTPステータスコード", + "placeholder": "有効なステータスコードを選択する", + "clearButtonLabel": "クリア選択", + "nothingFound": "何も見つかりません" + }, + "openServiceInNewTab": { + "label": "新しいタブでサービスを開く" + }, + "buttons": { + "submit": { + "content": "サービス追加" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/ja/layout/app-shelf-menu.json b/public/locales/ja/layout/app-shelf-menu.json new file mode 100644 index 000000000..ac6cc2730 --- /dev/null +++ b/public/locales/ja/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "サービスの変更", + "buttons": { + "save": "セーブサービス" + } + }, + "menu": { + "labels": { + "settings": "設定", + "dangerZone": "デンジャーゾーン" + }, + "actions": { + "edit": "編集", + "delete": "削除" + } + } +} \ No newline at end of file diff --git a/public/locales/ja/layout/app-shelf.json b/public/locales/ja/layout/app-shelf.json new file mode 100644 index 000000000..a53727983 --- /dev/null +++ b/public/locales/ja/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "ダウンロード数" + }, + "others": { + "text": "その他" + } + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/calendar.json b/public/locales/ja/modules/calendar.json new file mode 100644 index 000000000..cb3c90213 --- /dev/null +++ b/public/locales/ja/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "カレンダー", + "description": "今後のリリースを表示するためのカレンダーモジュールです。SonarrとRadarrのAPIと連動しています。", + "settings": { + "sundayStart": { + "label": "週の始まりは日曜日" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/common-media-cards.json b/public/locales/ja/modules/common-media-cards.json new file mode 100644 index 000000000..c0031fe96 --- /dev/null +++ b/public/locales/ja/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "プレイ", + "request": "リクエスト" + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/common.json b/public/locales/ja/modules/common.json new file mode 100644 index 000000000..cc4ef4555 --- /dev/null +++ b/public/locales/ja/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "設定" + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/dashdot.json b/public/locales/ja/modules/dashdot.json new file mode 100644 index 000000000..fa792b081 --- /dev/null +++ b/public/locales/ja/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "ダッシュ", + "description": "実行中のDash.インスタンスのグラフを表示するためのモジュールです。", + "settings": { + "cpuMultiView": { + "label": "CPUマルチコアビュー" + }, + "storageMultiView": { + "label": "ストレージマルチドライブビュー" + }, + "useCompactView": { + "label": "コンパクトビューを使用する" + }, + "graphs": { + "label": "グラフ" + }, + "url": { + "label": "ダッシュURL" + } + } + }, + "card": { + "title": "ダッシュ", + "errors": { + "noService": "Dash.サービスが見当たりません。HOMARダッシュボードに追加するか、モジュールオプションでDash.サービスを設定してください。のURLをモジュールオプションで設定してください。", + "noInformation": "dashから情報を取得できません。- は最新版ですか?" + }, + "graphs": { + "storage": { + "title": "ストレージ", + "label": "ストレージです。" + }, + "network": { + "title": "ネットワーク", + "label": "ネットワーク", + "metrics": { + "download": "ダウン", + "upload": "上" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "ラム" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/date.json b/public/locales/ja/modules/date.json new file mode 100644 index 000000000..ea0e82593 --- /dev/null +++ b/public/locales/ja/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "日付", + "description": "カードに現在時刻と日付を表示する", + "settings": { + "display24HourFormat": { + "label": "フルタイム(24時間)表示" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/dlspeed.json b/public/locales/ja/modules/dlspeed.json new file mode 100644 index 000000000..e688d2aa0 --- /dev/null +++ b/public/locales/ja/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "ダウンロード速度", + "description": "対応サービスの現在のダウンロード速度を表示する" + }, + "card": { + "table": { + "header": { + "name": "名称", + "size": "サイズ", + "download": "ダウン", + "upload": "上", + "estimatedTimeOfArrival": "ETA", + "progress": "進捗状況" + }, + "body": { + "nothingFound": "トレントが見つかりません" + } + }, + "lineChart": { + "title": "現在のダウンロード速度", + "download": "ダウンロードする {{download}}", + "upload": "アップロードしてください。 {{upload}}", + "timeSpan": "{{seconds}} 秒前", + "totalDownload": "ダウンロードする {{download}}/s", + "totalUpload": "アップロードしてください。 {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "対応するダウンロードクライアントが見つかりません", + "text": "ダウンロードサービスを追加して、現在のダウンロードを表示する" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/docker.json b/public/locales/ja/modules/docker.json new file mode 100644 index 000000000..f9f9f69a1 --- /dev/null +++ b/public/locales/ja/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "ドッカー", + "description": "トレントを簡単に管理することができます。" + }, + "search": { + "placeholder": "コンテナ名、画像名で検索" + }, + "table": { + "header": { + "name": "名称", + "image": "画像", + "ports": "港湾", + "state": "状態" + }, + "body": { + "portCollapse": "{{ports}} も" + }, + "states": { + "running": "ランニング", + "created": "作成", + "stopped": "停止中", + "unknown": "不明" + } + }, + "actionBar": { + "addService": { + "title": "サービス追加", + "message": "ホーマーにサービスを追加する" + }, + "restart": { + "title": "再スタート" + }, + "stop": { + "title": "停止" + }, + "start": { + "title": "スタート" + }, + "refreshData": { + "title": "リフレッシュデータ" + }, + "remove": { + "title": "削除" + }, + "addToHomarr": { + "title": "ホーマーに追加" + } + }, + "messages": { + "successfullyExecuted": { + "title": "コンテナ {{containerName}} {{action}}ed", + "message": "あなたのコンテナは正常に {{action}}ed。" + } + }, + "errors": { + "integrationFailed": { + "title": "Dockerとの連携に失敗", + "message": "ドッカーソケットをマウントするのを忘れていませんか?" + }, + "unknownError": { + "title": "エラーが発生しました" + }, + "oneServiceAtATime": { + "title": "一度に1つのサービスのみを追加してください" + } + }, + "actionIcon": { + "tooltip": "ドッカー" + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/overseerr.json b/public/locales/ja/modules/overseerr.json new file mode 100644 index 000000000..36c49d328 --- /dev/null +++ b/public/locales/ja/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "オーバーホール", + "description": "Overseerr/Jellyseerrからメディアを検索して追加できるようにする。" + }, + "popup": { + "item": { + "buttons": { + "askFor": "{{title}}をお願いします。", + "cancel": "キャンセル", + "request": "リクエスト" + }, + "alerts": { + "automaticApproval": { + "title": "APIキーの使用", + "text": "このリクエストは自動的に承認されます" + } + } + }, + "seasonSelector": { + "caption": "ダウンロードしたい季節にチェックを入れる", + "table": { + "header": { + "season": "シーズン", + "numberOfEpisodes": "エピソード数" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/ping.json b/public/locales/ja/modules/ping.json new file mode 100644 index 000000000..3c65a9837 --- /dev/null +++ b/public/locales/ja/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "ピング", + "description": "サービスが稼働しているか、特定のHTTPステータスコードを返しているかどうかを確認できるようにします。" + }, + "states": { + "online": "オンライン {{response}}", + "offline": "オフライン {{response}}", + "loading": "読み込み中..." + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/search.json b/public/locales/ja/modules/search.json new file mode 100644 index 000000000..400802258 --- /dev/null +++ b/public/locales/ja/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "検索バー", + "description": "ウェブ、Youtube、Torrent、Overseerrを検索するための検索バー" + }, + "input": { + "placeholder": "ウェブで検索..." + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/torrents-status.json b/public/locales/ja/modules/torrents-status.json new file mode 100644 index 000000000..33a54b4ab --- /dev/null +++ b/public/locales/ja/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "奔流", + "description": "対応サービスの現在のダウンロード速度を表示する", + "settings": { + "hideComplete": { + "label": "完了したトレントを隠す" + } + } + }, + "card": { + "table": { + "header": { + "name": "名称", + "size": "サイズ", + "download": "ダウン", + "upload": "上", + "estimatedTimeOfArrival": "ETA", + "progress": "進捗状況" + }, + "body": { + "nothingFound": "トレントが見つかりません" + } + }, + "lineChart": { + "title": "現在のダウンロード速度", + "download": "ダウンロードする {{download}}", + "upload": "アップロードしてください。 {{upload}}", + "timeSpan": "{{seconds}} 秒前", + "totalDownload": "ダウンロードする {{download}}/s", + "totalUpload": "アップロードしてください。 {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "対応するダウンロードクライアントが見つかりません", + "text": "ダウンロードサービスを追加して、現在のダウンロードを表示する" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ja/modules/usenet.json b/public/locales/ja/modules/usenet.json new file mode 100644 index 000000000..7d8467731 --- /dev/null +++ b/public/locales/ja/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "Sabnzbd", + "description": "Sabnzbdのキューと履歴の確認、ダウンロードの一時停止と再開が可能です。" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "対応するダウンロードクライアントが見つかりません", + "text": "ダウンロードサービスを追加して、現在のダウンロードを表示する" + } + } + }, + "tabs": { + "queue": "キュー", + "history": "沿革" + }, + "info": { + "sizeLeft": "左サイズ", + "paused": "ポーズ" + }, + "queue": { + "header": { + "name": "名称", + "size": "サイズ", + "eta": "ETA", + "progress": "進捗状況" + }, + "empty": "エンプティ", + "error": { + "title": "エラー", + "message": "エラーが発生しました" + }, + "paused": "ポーズ" + }, + "history": { + "header": { + "name": "名称", + "size": "サイズ", + "duration": "期間" + }, + "empty": "エンプティ", + "error": { + "title": "エラー", + "message": "履歴の読み込みエラー" + }, + "paused": "ポーズ" + } +} diff --git a/public/locales/ja/modules/weather.json b/public/locales/ja/modules/weather.json new file mode 100644 index 000000000..cdf742ae4 --- /dev/null +++ b/public/locales/ja/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "天気", + "description": "現在地の天気を調べる", + "settings": { + "displayInFahrenheit": { + "label": "表示単位:華氏" + }, + "location": { + "label": "天候の場所" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "クリア", + "mainlyClear": "主なクリア事項", + "fog": "フォグ", + "drizzle": "小雨", + "freezingDrizzle": "凍てつく霧雨", + "rain": "雨", + "freezingRain": "凍てつく雨", + "snowFall": "降雪", + "snowGrains": "雪の粒", + "rainShowers": "にわか雨", + "snowShowers": "スノーシャワー", + "thunderstorm": "サンダーストーム", + "thunderstormWithHail": "雹を伴う雷雨", + "unknown": "不明" + } + } +} \ No newline at end of file diff --git a/public/locales/ja/settings/common.json b/public/locales/ja/settings/common.json new file mode 100644 index 000000000..fdf4200b3 --- /dev/null +++ b/public/locales/ja/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "設定", + "tooltip": "設定", + "tabs": { + "common": "共通", + "customizations": "カスタマイズ" + }, + "tips": { + "configTip": "設定ファイルをドラッグ&ドロップでアップロードしよう" + }, + "credits": { + "madeWithLove": "で作った❤️ by @さん" + } +} \ No newline at end of file diff --git a/public/locales/ja/settings/customization/app-width.json b/public/locales/ja/settings/customization/app-width.json new file mode 100644 index 000000000..774a0ed03 --- /dev/null +++ b/public/locales/ja/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "アプリの幅" +} \ No newline at end of file diff --git a/public/locales/ja/settings/customization/color-selector.json b/public/locales/ja/settings/customization/color-selector.json new file mode 100644 index 000000000..98603c298 --- /dev/null +++ b/public/locales/ja/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} 色" +} \ No newline at end of file diff --git a/public/locales/ja/settings/customization/opacity-selector.json b/public/locales/ja/settings/customization/opacity-selector.json new file mode 100644 index 000000000..f9e454130 --- /dev/null +++ b/public/locales/ja/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "アプリの不透明度" +} \ No newline at end of file diff --git a/public/locales/ja/settings/customization/page-appearance.json b/public/locales/ja/settings/customization/page-appearance.json new file mode 100644 index 000000000..4a6550f87 --- /dev/null +++ b/public/locales/ja/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "ページタイトル", + "placeholder": "ホーマー" + }, + "logo": { + "label": "ロゴマーク", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "ファビコン", + "placeholder": "/favicon.png" + }, + "background": { + "label": "背景", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "カスタムCSS", + "placeholder": "カスタムCSSは最後に実行されます" + }, + "buttons": { + "submit": "提出" + } +} diff --git a/public/locales/ja/settings/customization/shade-selector.json b/public/locales/ja/settings/customization/shade-selector.json new file mode 100644 index 000000000..d8d67e3fc --- /dev/null +++ b/public/locales/ja/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "シェード" +} \ No newline at end of file diff --git a/public/locales/ja/settings/general/color-schema.json b/public/locales/ja/settings/general/color-schema.json new file mode 100644 index 000000000..017fb2921 --- /dev/null +++ b/public/locales/ja/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "{{scheme}} モードに切り替わります。" +} \ No newline at end of file diff --git a/public/locales/ja/settings/general/config-changer.json b/public/locales/ja/settings/general/config-changer.json new file mode 100644 index 000000000..173eb68ff --- /dev/null +++ b/public/locales/ja/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "コンフィグローダ" + }, + "modal": { + "title": "新しいコンフィグの名前を選択します。", + "form": { + "configName": { + "label": "コンフィグ名", + "placeholder": "新しいコンフィグ名" + }, + "submitButton": "確認" + }, + "events": { + "configSaved": { + "title": "コンフィグ保存", + "message": "{{configName}}として保存されたコンフィグ" + } + } + }, + "buttons": { + "download": "ダウンロードコンフィグ", + "delete": { + "text": "コンフィグの削除", + "notifications": { + "deleted": { + "title": "コンフィグ削除", + "message": "コンフィグ削除" + }, + "deleteFailed": { + "title": "コンフィグ削除の失敗", + "message": "コンフィグ削除の失敗" + } + } + }, + "saveCopy": "コピーを保存する" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "コンフィグを読み込めない", + "message": "コンフィグを読み込めませんでした。無効なJSON形式です。" + }, + "loadedSuccessfully": { + "title": "Config {{configName}} 読み込み成功" + } + }, + "accept": { + "text": "ここにファイルをドラッグしてコンフィグをアップロードしてください。JSONのみ対応。" + }, + "reject": { + "text": "このファイル形式はサポートされていません。JSONのみアップロードしてください。" + } + } +} \ No newline at end of file diff --git a/public/locales/ja/settings/general/internationalization.json b/public/locales/ja/settings/general/internationalization.json new file mode 100644 index 000000000..72a3c92fe --- /dev/null +++ b/public/locales/ja/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "言語" +} \ No newline at end of file diff --git a/public/locales/ja/settings/general/module-enabler.json b/public/locales/ja/settings/general/module-enabler.json new file mode 100644 index 000000000..c559d8e12 --- /dev/null +++ b/public/locales/ja/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "モジュールイネーブラー" +} \ No newline at end of file diff --git a/public/locales/ja/settings/general/search-engine.json b/public/locales/ja/settings/general/search-engine.json new file mode 100644 index 000000000..a1a6fa841 --- /dev/null +++ b/public/locales/ja/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "検索エンジン", + "tips": { + "generalTip": "YouTube を検索する場合は「!yt」、Torrent を検索する場合は「!t」という接頭辞を付けてください。", + "placeholderTip": "%s は、クエリのプレースホルダとして使用することができます。" + }, + "customEngine": { + "label": "クエリURL", + "placeholder": "カスタムクエリURL" + } +} \ No newline at end of file diff --git a/public/locales/ja/settings/general/theme-selector.json b/public/locales/ja/settings/general/theme-selector.json new file mode 100644 index 000000000..cddabc9f2 --- /dev/null +++ b/public/locales/ja/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "{{theme}} モードに切り替わります。" +} \ No newline at end of file diff --git a/public/locales/ja/settings/general/widget-positions.json b/public/locales/ja/settings/general/widget-positions.json new file mode 100644 index 000000000..bc924ba82 --- /dev/null +++ b/public/locales/ja/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "ウィジェットを左側に配置する" +} \ No newline at end of file diff --git a/public/locales/ko/common.json b/public/locales/ko/common.json new file mode 100644 index 000000000..c610c224e --- /dev/null +++ b/public/locales/ko/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "" + }, + "tip": "", + "time": { + "seconds": "", + "minutes": "", + "hours": "" + } +} diff --git a/public/locales/ko/layout/add-service-app-shelf.json b/public/locales/ko/layout/add-service-app-shelf.json new file mode 100644 index 000000000..5868261d6 --- /dev/null +++ b/public/locales/ko/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "" + }, + "modal": { + "title": "", + "form": { + "validation": { + "invalidUrl": "", + "noStatusCodeSelected": "" + } + }, + "tabs": { + "options": { + "title": "", + "form": { + "serviceName": { + "label": "", + "placeholder": "" + }, + "iconUrl": { + "label": "" + }, + "serviceUrl": { + "label": "" + }, + "onClickUrl": { + "label": "" + }, + "serviceType": { + "label": "", + "defaultValue": "", + "placeholder": "" + }, + "category": { + "label": "", + "placeholder": "", + "nothingFound": "", + "createLabel": "" + }, + "integrations": { + "apiKey": { + "label": "", + "placeholder": "", + "validation": { + "noKey": "" + }, + "tip": { + "text": "", + "link": "" + } + }, + "qBittorrent": { + "username": { + "label": "", + "placeholder": "", + "validation": { + "invalidUsername": "" + } + }, + "password": { + "label": "", + "placeholder": "", + "validation": { + "invalidPassword": "" + } + } + }, + "deluge": { + "password": { + "label": "", + "placeholder": "", + "validation": { + "invalidPassword": "" + } + } + }, + "transmission": { + "username": { + "label": "", + "placeholder": "", + "validation": { + "invalidUsername": "" + } + }, + "password": { + "label": "", + "placeholder": "", + "validation": { + "invalidPassword": "" + } + } + } + } + } + }, + "advancedOptions": { + "title": "", + "form": { + "httpStatusCodes": { + "label": "", + "placeholder": "", + "clearButtonLabel": "", + "nothingFound": "" + }, + "openServiceInNewTab": { + "label": "" + }, + "buttons": { + "submit": { + "content": "" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/ko/layout/app-shelf-menu.json b/public/locales/ko/layout/app-shelf-menu.json new file mode 100644 index 000000000..452c7a882 --- /dev/null +++ b/public/locales/ko/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "", + "buttons": { + "save": "" + } + }, + "menu": { + "labels": { + "settings": "", + "dangerZone": "" + }, + "actions": { + "edit": "", + "delete": "" + } + } +} \ No newline at end of file diff --git a/public/locales/ko/layout/app-shelf.json b/public/locales/ko/layout/app-shelf.json new file mode 100644 index 000000000..20f7a7350 --- /dev/null +++ b/public/locales/ko/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "" + }, + "others": { + "text": "" + } + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/calendar.json b/public/locales/ko/modules/calendar.json new file mode 100644 index 000000000..e16beca62 --- /dev/null +++ b/public/locales/ko/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "sundayStart": { + "label": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/common-media-cards.json b/public/locales/ko/modules/common-media-cards.json new file mode 100644 index 000000000..9f6da0682 --- /dev/null +++ b/public/locales/ko/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "", + "request": "" + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/common.json b/public/locales/ko/modules/common.json new file mode 100644 index 000000000..61de7370a --- /dev/null +++ b/public/locales/ko/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "" + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/dashdot.json b/public/locales/ko/modules/dashdot.json new file mode 100644 index 000000000..8f314281e --- /dev/null +++ b/public/locales/ko/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "cpuMultiView": { + "label": "" + }, + "storageMultiView": { + "label": "" + }, + "useCompactView": { + "label": "" + }, + "graphs": { + "label": "" + }, + "url": { + "label": "" + } + } + }, + "card": { + "title": "", + "errors": { + "noService": "", + "noInformation": "" + }, + "graphs": { + "storage": { + "title": "", + "label": "" + }, + "network": { + "title": "", + "label": "", + "metrics": { + "download": "", + "upload": "" + } + }, + "cpu": { + "title": "" + }, + "memory": { + "title": "" + }, + "gpu": { + "title": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/date.json b/public/locales/ko/modules/date.json new file mode 100644 index 000000000..ab82eb8ed --- /dev/null +++ b/public/locales/ko/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "display24HourFormat": { + "label": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/dlspeed.json b/public/locales/ko/modules/dlspeed.json new file mode 100644 index 000000000..216086881 --- /dev/null +++ b/public/locales/ko/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "table": { + "header": { + "name": "", + "size": "", + "download": "", + "upload": "", + "estimatedTimeOfArrival": "", + "progress": "" + }, + "body": { + "nothingFound": "" + } + }, + "lineChart": { + "title": "", + "download": "", + "upload": "", + "timeSpan": "", + "totalDownload": "", + "totalUpload": "" + }, + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/docker.json b/public/locales/ko/modules/docker.json new file mode 100644 index 000000000..c58cfd81a --- /dev/null +++ b/public/locales/ko/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "search": { + "placeholder": "" + }, + "table": { + "header": { + "name": "", + "image": "", + "ports": "", + "state": "" + }, + "body": { + "portCollapse": "" + }, + "states": { + "running": "", + "created": "", + "stopped": "", + "unknown": "" + } + }, + "actionBar": { + "addService": { + "title": "", + "message": "" + }, + "restart": { + "title": "" + }, + "stop": { + "title": "" + }, + "start": { + "title": "" + }, + "refreshData": { + "title": "" + }, + "remove": { + "title": "" + }, + "addToHomarr": { + "title": "" + } + }, + "messages": { + "successfullyExecuted": { + "title": "", + "message": "" + } + }, + "errors": { + "integrationFailed": { + "title": "", + "message": "" + }, + "unknownError": { + "title": "" + }, + "oneServiceAtATime": { + "title": "" + } + }, + "actionIcon": { + "tooltip": "" + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/overseerr.json b/public/locales/ko/modules/overseerr.json new file mode 100644 index 000000000..0a6da5756 --- /dev/null +++ b/public/locales/ko/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "popup": { + "item": { + "buttons": { + "askFor": "", + "cancel": "", + "request": "" + }, + "alerts": { + "automaticApproval": { + "title": "", + "text": "" + } + } + }, + "seasonSelector": { + "caption": "", + "table": { + "header": { + "season": "", + "numberOfEpisodes": "" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/ping.json b/public/locales/ko/modules/ping.json new file mode 100644 index 000000000..3ba3aefa0 --- /dev/null +++ b/public/locales/ko/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "states": { + "online": "", + "offline": "", + "loading": "" + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/search.json b/public/locales/ko/modules/search.json new file mode 100644 index 000000000..cf06695e4 --- /dev/null +++ b/public/locales/ko/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "input": { + "placeholder": "" + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/torrents-status.json b/public/locales/ko/modules/torrents-status.json new file mode 100644 index 000000000..86b10fa25 --- /dev/null +++ b/public/locales/ko/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "hideComplete": { + "label": "" + } + } + }, + "card": { + "table": { + "header": { + "name": "", + "size": "", + "download": "", + "upload": "", + "estimatedTimeOfArrival": "", + "progress": "" + }, + "body": { + "nothingFound": "" + } + }, + "lineChart": { + "title": "", + "download": "", + "upload": "", + "timeSpan": "", + "totalDownload": "", + "totalUpload": "" + }, + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ko/modules/usenet.json b/public/locales/ko/modules/usenet.json new file mode 100644 index 000000000..b223d452d --- /dev/null +++ b/public/locales/ko/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + }, + "tabs": { + "queue": "", + "history": "" + }, + "info": { + "sizeLeft": "", + "paused": "" + }, + "queue": { + "header": { + "name": "", + "size": "", + "eta": "", + "progress": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + }, + "history": { + "header": { + "name": "", + "size": "", + "duration": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + } +} diff --git a/public/locales/ko/modules/weather.json b/public/locales/ko/modules/weather.json new file mode 100644 index 000000000..7f9c8b103 --- /dev/null +++ b/public/locales/ko/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "displayInFahrenheit": { + "label": "" + }, + "location": { + "label": "" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "", + "mainlyClear": "", + "fog": "", + "drizzle": "", + "freezingDrizzle": "", + "rain": "", + "freezingRain": "", + "snowFall": "", + "snowGrains": "", + "rainShowers": "", + "snowShowers": "", + "thunderstorm": "", + "thunderstormWithHail": "", + "unknown": "" + } + } +} \ No newline at end of file diff --git a/public/locales/ko/settings/common.json b/public/locales/ko/settings/common.json new file mode 100644 index 000000000..ded996d44 --- /dev/null +++ b/public/locales/ko/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "", + "tooltip": "", + "tabs": { + "common": "", + "customizations": "" + }, + "tips": { + "configTip": "" + }, + "credits": { + "madeWithLove": "" + } +} \ No newline at end of file diff --git a/public/locales/ko/settings/customization/app-width.json b/public/locales/ko/settings/customization/app-width.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ko/settings/customization/app-width.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ko/settings/customization/color-selector.json b/public/locales/ko/settings/customization/color-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ko/settings/customization/color-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ko/settings/customization/opacity-selector.json b/public/locales/ko/settings/customization/opacity-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ko/settings/customization/opacity-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ko/settings/customization/page-appearance.json b/public/locales/ko/settings/customization/page-appearance.json new file mode 100644 index 000000000..27ab9ce5c --- /dev/null +++ b/public/locales/ko/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "", + "placeholder": "" + }, + "logo": { + "label": "", + "placeholder": "" + }, + "favicon": { + "label": "", + "placeholder": "" + }, + "background": { + "label": "", + "placeholder": "" + }, + "customCSS": { + "label": "", + "placeholder": "" + }, + "buttons": { + "submit": "" + } +} diff --git a/public/locales/ko/settings/customization/shade-selector.json b/public/locales/ko/settings/customization/shade-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ko/settings/customization/shade-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ko/settings/general/color-schema.json b/public/locales/ko/settings/general/color-schema.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ko/settings/general/color-schema.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ko/settings/general/config-changer.json b/public/locales/ko/settings/general/config-changer.json new file mode 100644 index 000000000..6d130e67d --- /dev/null +++ b/public/locales/ko/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "" + }, + "modal": { + "title": "", + "form": { + "configName": { + "label": "", + "placeholder": "" + }, + "submitButton": "" + }, + "events": { + "configSaved": { + "title": "", + "message": "" + } + } + }, + "buttons": { + "download": "", + "delete": { + "text": "", + "notifications": { + "deleted": { + "title": "", + "message": "" + }, + "deleteFailed": { + "title": "", + "message": "" + } + } + }, + "saveCopy": "" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "", + "message": "" + }, + "loadedSuccessfully": { + "title": "" + } + }, + "accept": { + "text": "" + }, + "reject": { + "text": "" + } + } +} \ No newline at end of file diff --git a/public/locales/ko/settings/general/internationalization.json b/public/locales/ko/settings/general/internationalization.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ko/settings/general/internationalization.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ko/settings/general/module-enabler.json b/public/locales/ko/settings/general/module-enabler.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ko/settings/general/module-enabler.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ko/settings/general/search-engine.json b/public/locales/ko/settings/general/search-engine.json new file mode 100644 index 000000000..20a3b127a --- /dev/null +++ b/public/locales/ko/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "", + "tips": { + "generalTip": "", + "placeholderTip": "" + }, + "customEngine": { + "label": "", + "placeholder": "" + } +} \ No newline at end of file diff --git a/public/locales/ko/settings/general/theme-selector.json b/public/locales/ko/settings/general/theme-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ko/settings/general/theme-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ko/settings/general/widget-positions.json b/public/locales/ko/settings/general/widget-positions.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ko/settings/general/widget-positions.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/lol/common.json b/public/locales/lol/common.json new file mode 100644 index 000000000..7df26a5e7 --- /dev/null +++ b/public/locales/lol/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Save" + }, + "tip": "Tip: ", + "time": { + "seconds": "", + "minutes": "", + "hours": "" + } +} diff --git a/public/locales/lol/layout/add-service-app-shelf.json b/public/locales/lol/layout/add-service-app-shelf.json new file mode 100644 index 000000000..5281a9dcb --- /dev/null +++ b/public/locales/lol/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Add a survis" + }, + "modal": { + "title": "Add survis", + "form": { + "validation": { + "invalidUrl": "Plz entr valid URL", + "noStatusCodeSelected": "Plz select status coed" + } + }, + "tabs": { + "options": { + "title": "Opshuns", + "form": { + "serviceName": { + "label": "Survis naym", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "Icon URL" + }, + "serviceUrl": { + "label": "Survis URL" + }, + "onClickUrl": { + "label": "On Click URL" + }, + "serviceType": { + "label": "Survis tyep", + "defaultValue": "Otha", + "placeholder": "Pick wan" + }, + "category": { + "label": "Categowee", + "placeholder": "Select categowee or creaet nu wan", + "nothingFound": "Nofin findz", + "createLabel": "+ Makz {{query}}" + }, + "integrations": { + "apiKey": { + "label": "API key", + "placeholder": "Ur API key", + "validation": { + "noKey": "Invalid Key" + }, + "tip": { + "text": "Git ur API key", + "link": "here." + } + }, + "qBittorrent": { + "username": { + "label": "Usernaem", + "placeholder": "admin", + "validation": { + "invalidUsername": "Invalid usernaem" + } + }, + "password": { + "label": "Password", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Invalid password" + } + } + }, + "deluge": { + "password": { + "label": "Password", + "placeholder": "password", + "validation": { + "invalidPassword": "Invalid password" + } + } + }, + "transmission": { + "username": { + "label": "Usernaem", + "placeholder": "admin", + "validation": { + "invalidUsername": "Invalid usernaem" + } + }, + "password": { + "label": "Password", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Invalid password" + } + } + } + } + } + }, + "advancedOptions": { + "title": "", + "form": { + "httpStatusCodes": { + "label": "HTTP Status Codes", + "placeholder": "Select valid status coeds", + "clearButtonLabel": "Clear selecshun", + "nothingFound": "Nofin findz" + }, + "openServiceInNewTab": { + "label": "Open survis in nu tab" + }, + "buttons": { + "submit": { + "content": "Add survis" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/lol/layout/app-shelf-menu.json b/public/locales/lol/layout/app-shelf-menu.json new file mode 100644 index 000000000..a3b525f34 --- /dev/null +++ b/public/locales/lol/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Modify survis", + "buttons": { + "save": "Saev survis" + } + }, + "menu": { + "labels": { + "settings": "Settingz", + "dangerZone": "Dangr zoen" + }, + "actions": { + "edit": "Edit", + "delete": "Deleet" + } + } +} \ No newline at end of file diff --git a/public/locales/lol/layout/app-shelf.json b/public/locales/lol/layout/app-shelf.json new file mode 100644 index 000000000..6dac8352a --- /dev/null +++ b/public/locales/lol/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Ur downloadz" + }, + "others": { + "text": "Othas" + } + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/calendar.json b/public/locales/lol/modules/calendar.json new file mode 100644 index 000000000..b58ac229e --- /dev/null +++ b/public/locales/lol/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Calendar", + "description": "Calendar moduel 4 displaying upcomin releasez, Srsly. It interacts wif teh Sonarr an Radarr API.", + "settings": { + "sundayStart": { + "label": "Start teh week on Sunday" + } + } + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/common-media-cards.json b/public/locales/lol/modules/common-media-cards.json new file mode 100644 index 000000000..b9bbbc537 --- /dev/null +++ b/public/locales/lol/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Play", + "request": "Request" + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/common.json b/public/locales/lol/modules/common.json new file mode 100644 index 000000000..4895885d3 --- /dev/null +++ b/public/locales/lol/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Settingz" + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/dashdot.json b/public/locales/lol/modules/dashdot.json new file mode 100644 index 000000000..efdd6bd88 --- /dev/null +++ b/public/locales/lol/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Moduel 4 displaying teh graphs ov ur runnin Dash. instanz.", + "settings": { + "cpuMultiView": { + "label": "CPU Multi-Coer View" + }, + "storageMultiView": { + "label": "Storagzzz Multi-Driveh View" + }, + "useCompactView": { + "label": "Ues Compact View" + }, + "graphs": { + "label": "Graphz" + }, + "url": { + "label": "Dash. URL" + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "No Dash. survis findz. plz add wan 2 ur Homarr dashboard or set Dash. URL in teh moduel opshuns", + "noInformation": "Cannot acquier informashun frum dash. - r u runnin teh latest vershun?" + }, + "graphs": { + "storage": { + "title": "Storagzzz", + "label": "Storagzzz:" + }, + "network": { + "title": "Netwerk", + "label": "Netwerk:", + "metrics": { + "download": "Down", + "upload": "Up" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/date.json b/public/locales/lol/modules/date.json new file mode 100644 index 000000000..fc6851fde --- /dev/null +++ b/public/locales/lol/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Daet", + "description": "Show teh current tiem an daet in card", + "settings": { + "display24HourFormat": { + "label": "Display fol tiem (24-hour)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/dlspeed.json b/public/locales/lol/modules/dlspeed.json new file mode 100644 index 000000000..0be4fb54b --- /dev/null +++ b/public/locales/lol/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Download Sped", + "description": "Show teh current download sped ov supportd servicez" + }, + "card": { + "table": { + "header": { + "name": "Naym", + "size": "Bigness", + "download": "Down", + "upload": "Up", + "estimatedTimeOfArrival": "ETA", + "progress": "Progres" + }, + "body": { + "nothingFound": "No torrents findz" + } + }, + "lineChart": { + "title": "Current download sped", + "download": "Download: {{download}}", + "upload": "Upload: {{upload}}", + "timeSpan": "{{seconds}} secondz aog", + "totalDownload": "Download: {{download}}/s", + "totalUpload": "Upload: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "No supportd download clientz findz!", + "text": "Add download survis 2 view ur current downloadz" + } + } + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/docker.json b/public/locales/lol/modules/docker.json new file mode 100644 index 000000000..9cb1e760d --- /dev/null +++ b/public/locales/lol/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Dockah", + "description": "Allowz u 2 easily manaeg ur torrents" + }, + "search": { + "placeholder": "Search by contaneah or imaeg naym" + }, + "table": { + "header": { + "name": "Naym", + "image": "Imaeg", + "ports": "Portz", + "state": "Staet" + }, + "body": { + "portCollapse": "{{ports}} moar" + }, + "states": { + "running": "Runnin", + "created": "Creatd", + "stopped": "Stopped", + "unknown": "Unknown" + } + }, + "actionBar": { + "addService": { + "title": "Add survis", + "message": "Add survis 2 Homarr" + }, + "restart": { + "title": "Restart" + }, + "stop": { + "title": "Stawp" + }, + "start": { + "title": "Start" + }, + "refreshData": { + "title": "" + }, + "remove": { + "title": "Remoev" + }, + "addToHomarr": { + "title": "Add 2 Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Contaneah {{containerName}} {{action}}ed", + "message": "Ur contaneah wuz successfully {{action}}ed" + } + }, + "errors": { + "integrationFailed": { + "title": "Dockah integrashn faild", + "message": "Did u forget 2 mount teh dockah socket ?" + }, + "unknownError": { + "title": "Thar wuz an error" + }, + "oneServiceAtATime": { + "title": "Plz only add wan survis at tiem!" + } + }, + "actionIcon": { + "tooltip": "Dockah" + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/overseerr.json b/public/locales/lol/modules/overseerr.json new file mode 100644 index 000000000..8664f923e --- /dev/null +++ b/public/locales/lol/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Allowz u 2 search an add media frum Overseerr/Jellyseerr" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Ask 4 {{title}}", + "cancel": "Cancel", + "request": "Request" + }, + "alerts": { + "automaticApproval": { + "title": "Usin API key", + "text": "Dis request will bees automatically approvd" + } + } + }, + "seasonSelector": { + "caption": "Tick teh seasons dat u wantz 2 bees downloaded", + "table": { + "header": { + "season": "Season", + "numberOfEpisodes": "Numbr ov episodes" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/ping.json b/public/locales/lol/modules/ping.json new file mode 100644 index 000000000..f5c944627 --- /dev/null +++ b/public/locales/lol/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Ping", + "description": "Allowz u 2 check if teh survis iz up or returns specific HTTP status coed." + }, + "states": { + "online": "Onlien {{response}}", + "offline": "Offlien {{response}}", + "loading": "Loadin..." + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/search.json b/public/locales/lol/modules/search.json new file mode 100644 index 000000000..bd6592251 --- /dev/null +++ b/public/locales/lol/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Search Bar", + "description": "Search bar 2 search teh web, yootoob, Torrents or Overseerr" + }, + "input": { + "placeholder": "Search teh web..." + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/torrents-status.json b/public/locales/lol/modules/torrents-status.json new file mode 100644 index 000000000..864ce3919 --- /dev/null +++ b/public/locales/lol/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Torrent", + "description": "Show teh current download sped ov supportd servicez", + "settings": { + "hideComplete": { + "label": "Hied completd torrentz" + } + } + }, + "card": { + "table": { + "header": { + "name": "Naym", + "size": "Bigness", + "download": "Down", + "upload": "Up", + "estimatedTimeOfArrival": "ETA", + "progress": "Progres" + }, + "body": { + "nothingFound": "No torrents findz" + } + }, + "lineChart": { + "title": "Current download sped", + "download": "Download: {{download}}", + "upload": "Upload: {{upload}}", + "timeSpan": "{{seconds}} secondz aog", + "totalDownload": "Download: {{download}}/s", + "totalUpload": "Upload: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "No supportd download clientz findz!", + "text": "Add download survis 2 view ur current downloadz" + } + } + } +} \ No newline at end of file diff --git a/public/locales/lol/modules/usenet.json b/public/locales/lol/modules/usenet.json new file mode 100644 index 000000000..48bfa179d --- /dev/null +++ b/public/locales/lol/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "No supportd download clientz findz!", + "text": "Add download survis 2 view ur current downloadz" + } + } + }, + "tabs": { + "queue": "", + "history": "" + }, + "info": { + "sizeLeft": "", + "paused": "" + }, + "queue": { + "header": { + "name": "Naym", + "size": "Bigness", + "eta": "ETA", + "progress": "Progres" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + }, + "history": { + "header": { + "name": "Naym", + "size": "Bigness", + "duration": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + } +} diff --git a/public/locales/lol/modules/weather.json b/public/locales/lol/modules/weather.json new file mode 100644 index 000000000..d0318319d --- /dev/null +++ b/public/locales/lol/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Weafr", + "description": "Look up teh current weafr in ur locashun", + "settings": { + "displayInFahrenheit": { + "label": "Display in Fahrenheit" + }, + "location": { + "label": "Weafr locashun" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Cweaw", + "mainlyClear": "Manely cweaw", + "fog": "Fog", + "drizzle": "Drizzel", + "freezingDrizzle": "Freezing drizzel", + "rain": "Wain", + "freezingRain": "Freezing wain", + "snowFall": "Snow fallz", + "snowGrains": "Snow granes", + "rainShowers": "Raen showaz", + "snowShowers": "Snow showaz", + "thunderstorm": "Thundahstorm", + "thunderstormWithHail": "Thundahstorm wif hail", + "unknown": "Unknown" + } + } +} \ No newline at end of file diff --git a/public/locales/lol/settings/common.json b/public/locales/lol/settings/common.json new file mode 100644 index 000000000..d06b3bed1 --- /dev/null +++ b/public/locales/lol/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Settingz", + "tooltip": "Settingz", + "tabs": { + "common": "Common", + "customizations": "Customahzations" + }, + "tips": { + "configTip": "Upload ur config fiel by dragging an dropping it onto teh paeg!" + }, + "credits": { + "madeWithLove": "Maded wif ❤️ by @" + } +} \ No newline at end of file diff --git a/public/locales/lol/settings/customization/app-width.json b/public/locales/lol/settings/customization/app-width.json new file mode 100644 index 000000000..e7636eef0 --- /dev/null +++ b/public/locales/lol/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "App Width" +} \ No newline at end of file diff --git a/public/locales/lol/settings/customization/color-selector.json b/public/locales/lol/settings/customization/color-selector.json new file mode 100644 index 000000000..d66bbfe6e --- /dev/null +++ b/public/locales/lol/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} color" +} \ No newline at end of file diff --git a/public/locales/lol/settings/customization/opacity-selector.json b/public/locales/lol/settings/customization/opacity-selector.json new file mode 100644 index 000000000..edd46daea --- /dev/null +++ b/public/locales/lol/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "App Opacity" +} \ No newline at end of file diff --git a/public/locales/lol/settings/customization/page-appearance.json b/public/locales/lol/settings/customization/page-appearance.json new file mode 100644 index 000000000..d7cd7a138 --- /dev/null +++ b/public/locales/lol/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "Paeg Titel", + "placeholder": "Homarr 🦞" + }, + "logo": { + "label": "Logooo", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "Favicon", + "placeholder": "/favicon.png" + }, + "background": { + "label": "Bakground", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "Custom CSS", + "placeholder": "Custom CSS will bees executed last" + }, + "buttons": { + "submit": "Submit" + } +} diff --git a/public/locales/lol/settings/customization/shade-selector.json b/public/locales/lol/settings/customization/shade-selector.json new file mode 100644 index 000000000..2ed63e92b --- /dev/null +++ b/public/locales/lol/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Shaed" +} \ No newline at end of file diff --git a/public/locales/lol/settings/general/color-schema.json b/public/locales/lol/settings/general/color-schema.json new file mode 100644 index 000000000..16672bf7e --- /dev/null +++ b/public/locales/lol/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Switch to {{scheme}} mode" +} \ No newline at end of file diff --git a/public/locales/lol/settings/general/config-changer.json b/public/locales/lol/settings/general/config-changer.json new file mode 100644 index 000000000..9b75cbab6 --- /dev/null +++ b/public/locales/lol/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "Config loadah" + }, + "modal": { + "title": "Chooz teh naym ov ur nu config", + "form": { + "configName": { + "label": "Config naym", + "placeholder": "Ur nu config naym" + }, + "submitButton": "Confirm" + }, + "events": { + "configSaved": { + "title": "Config saved", + "message": "Config saved as {{configName}}" + } + } + }, + "buttons": { + "download": "Download config", + "delete": { + "text": "Deleet config", + "notifications": { + "deleted": { + "title": "Config deleted", + "message": "Config deleted" + }, + "deleteFailed": { + "title": "Config deleet faild", + "message": "Config deleet faild" + } + } + }, + "saveCopy": "Saev copy" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "Unabel 2 load config", + "message": "Cud not load ur config. Srsly Invalid JSON format." + }, + "loadedSuccessfully": { + "title": "Config {{configName}} loadd successfully" + } + }, + "accept": { + "text": "Drag filez hah 2 upload config. Support 4 JSON only." + }, + "reject": { + "text": "Dis fiel format iz not supportd. Srsly plz only upload JSON." + } + } +} \ No newline at end of file diff --git a/public/locales/lol/settings/general/internationalization.json b/public/locales/lol/settings/general/internationalization.json new file mode 100644 index 000000000..59c9e9e9b --- /dev/null +++ b/public/locales/lol/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Languaeg" +} \ No newline at end of file diff --git a/public/locales/lol/settings/general/module-enabler.json b/public/locales/lol/settings/general/module-enabler.json new file mode 100644 index 000000000..be4366845 --- /dev/null +++ b/public/locales/lol/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "Moduel enablah" +} \ No newline at end of file diff --git a/public/locales/lol/settings/general/search-engine.json b/public/locales/lol/settings/general/search-engine.json new file mode 100644 index 000000000..271d51377 --- /dev/null +++ b/public/locales/lol/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Search engien", + "tips": { + "generalTip": "Ues teh prefixes !yt an !t in frunt ov ur quewee 2 search on yootoob or 4 Torrent respectively.", + "placeholderTip": "%s can bees usd as placeholdah 4 teh quewee." + }, + "customEngine": { + "label": "Quewee URL", + "placeholder": "Custom quewee URL" + } +} \ No newline at end of file diff --git a/public/locales/lol/settings/general/theme-selector.json b/public/locales/lol/settings/general/theme-selector.json new file mode 100644 index 000000000..7a2e708c4 --- /dev/null +++ b/public/locales/lol/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Switch 2 {{theme}} moed" +} \ No newline at end of file diff --git a/public/locales/lol/settings/general/widget-positions.json b/public/locales/lol/settings/general/widget-positions.json new file mode 100644 index 000000000..6a8772c99 --- /dev/null +++ b/public/locales/lol/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Posishun widgetz on left" +} \ No newline at end of file diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json new file mode 100644 index 000000000..c9b35befd --- /dev/null +++ b/public/locales/nl/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Opslaan" + }, + "tip": "Tip: ", + "time": { + "seconds": "seconden", + "minutes": "minuten", + "hours": "uren" + } +} diff --git a/public/locales/nl/layout/add-service-app-shelf.json b/public/locales/nl/layout/add-service-app-shelf.json new file mode 100644 index 000000000..680dd3332 --- /dev/null +++ b/public/locales/nl/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Voeg een service toe" + }, + "modal": { + "title": "Service toevoegen", + "form": { + "validation": { + "invalidUrl": "Voer een geldige URL in", + "noStatusCodeSelected": "Selecteer een statuscode" + } + }, + "tabs": { + "options": { + "title": "Instellingen", + "form": { + "serviceName": { + "label": "Servicenaam", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "Icoon URL" + }, + "serviceUrl": { + "label": "Service URL" + }, + "onClickUrl": { + "label": "Klik URL" + }, + "serviceType": { + "label": "Servicetype", + "defaultValue": "Andere", + "placeholder": "Kies één" + }, + "category": { + "label": "Categorie", + "placeholder": "Selecteer een categorie of maak een nieuwe aan", + "nothingFound": "Geen resultaten", + "createLabel": "+ Creëer {{query}}" + }, + "integrations": { + "apiKey": { + "label": "API sleutel", + "placeholder": "Jouw API sleutel", + "validation": { + "noKey": "Ongeldige sleutel" + }, + "tip": { + "text": "Verkrijg jouw API sleutel", + "link": "hier." + } + }, + "qBittorrent": { + "username": { + "label": "Gebruikersnaam", + "placeholder": "admin", + "validation": { + "invalidUsername": "Ongeldige gebruikersnaam" + } + }, + "password": { + "label": "Wachtwoord", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Ongeldig wachtwoord" + } + } + }, + "deluge": { + "password": { + "label": "Wachtwoord", + "placeholder": "wachtwoord", + "validation": { + "invalidPassword": "Ongeldig wachtwoord" + } + } + }, + "transmission": { + "username": { + "label": "Gebruikersnaam", + "placeholder": "admin", + "validation": { + "invalidUsername": "Ongeldige gebruikersnaam" + } + }, + "password": { + "label": "Wachtwoord", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Ongeldig wachtwoord" + } + } + } + } + } + }, + "advancedOptions": { + "title": "Geavanceerde opties", + "form": { + "httpStatusCodes": { + "label": "HTTP-statuscodes", + "placeholder": "Selecteer geldige statuscodes", + "clearButtonLabel": "Selectie wissen", + "nothingFound": "Geen resultaten" + }, + "openServiceInNewTab": { + "label": "Service in nieuw tabblad openen" + }, + "buttons": { + "submit": { + "content": "Service toevoegen" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/nl/layout/app-shelf-menu.json b/public/locales/nl/layout/app-shelf-menu.json new file mode 100644 index 000000000..21f961675 --- /dev/null +++ b/public/locales/nl/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Wijzig een service", + "buttons": { + "save": "Service opslaan" + } + }, + "menu": { + "labels": { + "settings": "Instellingen", + "dangerZone": "Gevarenzone" + }, + "actions": { + "edit": "Wijzig", + "delete": "Verwijder" + } + } +} \ No newline at end of file diff --git a/public/locales/nl/layout/app-shelf.json b/public/locales/nl/layout/app-shelf.json new file mode 100644 index 000000000..5c175068f --- /dev/null +++ b/public/locales/nl/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Uw downloads" + }, + "others": { + "text": "Overige" + } + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/calendar.json b/public/locales/nl/modules/calendar.json new file mode 100644 index 000000000..ea966125a --- /dev/null +++ b/public/locales/nl/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Kalender", + "description": "Een kalender module voor het weergeven van aankomende releases. Deze module werkt samen met de Sonarr en Radarr API.", + "settings": { + "sundayStart": { + "label": "Begin de week op zondag" + } + } + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/common-media-cards.json b/public/locales/nl/modules/common-media-cards.json new file mode 100644 index 000000000..dddd79420 --- /dev/null +++ b/public/locales/nl/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Afspelen", + "request": "Aanvraag" + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/common.json b/public/locales/nl/modules/common.json new file mode 100644 index 000000000..4b90a1518 --- /dev/null +++ b/public/locales/nl/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Instellingen" + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/dashdot.json b/public/locales/nl/modules/dashdot.json new file mode 100644 index 000000000..a95922fad --- /dev/null +++ b/public/locales/nl/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Een module voor het weergeven van de grafieken van uw Dash. instance.", + "settings": { + "cpuMultiView": { + "label": "CPU Multi-Core Weergave" + }, + "storageMultiView": { + "label": "Opslag Multi-Drive weergave" + }, + "useCompactView": { + "label": "Compacte weergave gebruiken" + }, + "graphs": { + "label": "Grafieken" + }, + "url": { + "label": "Dash. URL" + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "Geen Dash. service gevonden. Voeg er een toe aan uw Homarr dashboard of stel een Dashdot URL in in de opties van de module", + "noInformation": "Kan geen informatie verkrijgen van dash. - gebruikt u de laatste versie?" + }, + "graphs": { + "storage": { + "title": "Opslagruimte", + "label": "Opslagruimte:" + }, + "network": { + "title": "Netwerk", + "label": "Netwerk:", + "metrics": { + "download": "Down", + "upload": "Up" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/date.json b/public/locales/nl/modules/date.json new file mode 100644 index 000000000..6d8989c4c --- /dev/null +++ b/public/locales/nl/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Datum", + "description": "Toon de huidige tijd en datum in een kaart", + "settings": { + "display24HourFormat": { + "label": "Volledige tijd weergeven (24-uur)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/dlspeed.json b/public/locales/nl/modules/dlspeed.json new file mode 100644 index 000000000..0b8ab9d43 --- /dev/null +++ b/public/locales/nl/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Downloadsnelheid", + "description": "Toon de huidige downloadsnelheid van ondersteunde diensten" + }, + "card": { + "table": { + "header": { + "name": "Naam", + "size": "Grootte", + "download": "Down", + "upload": "Up", + "estimatedTimeOfArrival": "ETA", + "progress": "Voortgang" + }, + "body": { + "nothingFound": "Geen torrents gevonden" + } + }, + "lineChart": { + "title": "Huidige downloadsnelheid", + "download": "Download: {{download}}", + "upload": "Upload: {{upload}}", + "timeSpan": "{{seconds}} seconden geleden", + "totalDownload": "Download: {{download}}/s", + "totalUpload": "Upload: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Geen ondersteunde download clients gevonden!", + "text": "Voeg een downloadservice toe om uw huidige downloads weer te geven" + } + } + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/docker.json b/public/locales/nl/modules/docker.json new file mode 100644 index 000000000..7ef7371aa --- /dev/null +++ b/public/locales/nl/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Maakt het mogelijk om gemakkelijk je torrents te beheren" + }, + "search": { + "placeholder": "Zoek op container of afbeeldingsnaam" + }, + "table": { + "header": { + "name": "Naam", + "image": "Afbeelding", + "ports": "Poorten", + "state": "Status" + }, + "body": { + "portCollapse": "{{ports}} meer" + }, + "states": { + "running": "Draait", + "created": "Aangemaakt", + "stopped": "Gestopt", + "unknown": "Onbekend" + } + }, + "actionBar": { + "addService": { + "title": "Service toevoegen", + "message": "Service toevoegen aan Homarr" + }, + "restart": { + "title": "Herstart" + }, + "stop": { + "title": "Stop" + }, + "start": { + "title": "Start" + }, + "refreshData": { + "title": "Gegevens verversen" + }, + "remove": { + "title": "Verwijder" + }, + "addToHomarr": { + "title": "Toevoegen aan Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Container {{containerName}} {{action}}ed", + "message": "Uw container was succesvol {{action}}ed" + } + }, + "errors": { + "integrationFailed": { + "title": "Docker integratie mislukt", + "message": "Bent u vergeten de doktersocket te koppelen?" + }, + "unknownError": { + "title": "Er is een fout opgetreden" + }, + "oneServiceAtATime": { + "title": "Voeg alstublieft slechts één dienst per keer toe!" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/overseerr.json b/public/locales/nl/modules/overseerr.json new file mode 100644 index 000000000..d185f5f6e --- /dev/null +++ b/public/locales/nl/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Staat je toe om media van Overseerr/Jellyseerr te zoeken en toe te voegen" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Vraag om {{title}}", + "cancel": "Annuleer", + "request": "Aanvraag" + }, + "alerts": { + "automaticApproval": { + "title": "API-sleutel wordt gebruikt", + "text": "Dit verzoek zal automatisch worden goedgekeurd" + } + } + }, + "seasonSelector": { + "caption": "Selecteer de seizoenen die u wilt downloaden", + "table": { + "header": { + "season": "Seizoen", + "numberOfEpisodes": "Aantal afleveringen" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/ping.json b/public/locales/nl/modules/ping.json new file mode 100644 index 000000000..cc57fbe46 --- /dev/null +++ b/public/locales/nl/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Ping", + "description": "Hiermee kunt u controleren of de service up is of een specifieke HTTP-statuscode retourneert." + }, + "states": { + "online": "Online {{response}}", + "offline": "Offline {{response}}", + "loading": "Laden..." + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/search.json b/public/locales/nl/modules/search.json new file mode 100644 index 000000000..f8cbbe7f2 --- /dev/null +++ b/public/locales/nl/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Zoekbalk", + "description": "Zoekbalk om te zoeken op het web, Youtube, Torrents of Overseerr" + }, + "input": { + "placeholder": "Doorzoek het web..." + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/torrents-status.json b/public/locales/nl/modules/torrents-status.json new file mode 100644 index 000000000..255e12322 --- /dev/null +++ b/public/locales/nl/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Torrent", + "description": "Toon de huidige downloadsnelheid van ondersteunde diensten", + "settings": { + "hideComplete": { + "label": "Verberg voltooide torrents" + } + } + }, + "card": { + "table": { + "header": { + "name": "Naam", + "size": "Grootte", + "download": "Down", + "upload": "Up", + "estimatedTimeOfArrival": "ETA", + "progress": "Voortgang" + }, + "body": { + "nothingFound": "Geen torrents gevonden" + } + }, + "lineChart": { + "title": "Huidige downloadsnelheid", + "download": "Download: {{download}}", + "upload": "Upload: {{upload}}", + "timeSpan": "{{seconds}} seconden geleden", + "totalDownload": "Download: {{download}}/s", + "totalUpload": "Upload: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Geen ondersteunde download clients gevonden!", + "text": "Voeg een downloadservice toe om uw huidige downloads weer te geven" + } + } + } +} \ No newline at end of file diff --git a/public/locales/nl/modules/usenet.json b/public/locales/nl/modules/usenet.json new file mode 100644 index 000000000..9b6fa4c9a --- /dev/null +++ b/public/locales/nl/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "Sabnzbd", + "description": "Hiermee kunt u uw Sabnzbd wachtrij en geschiedenis zien, downloads pauzeren en hervatten" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "Geen ondersteunde download clients gevonden!", + "text": "Voeg een downloadservice toe om uw huidige downloads weer te geven" + } + } + }, + "tabs": { + "queue": "Wachtrij", + "history": "Geschiedenis" + }, + "info": { + "sizeLeft": "Maat links", + "paused": "Pauzeer" + }, + "queue": { + "header": { + "name": "Naam", + "size": "Grootte", + "eta": "ETA", + "progress": "Voortgang" + }, + "empty": "Leeg", + "error": { + "title": "Fout", + "message": "Er is een fout opgetreden." + }, + "paused": "Pauzeer" + }, + "history": { + "header": { + "name": "Naam", + "size": "Grootte", + "duration": "Duur" + }, + "empty": "Leeg", + "error": { + "title": "Fout", + "message": "Fout bij laden geschiedenis" + }, + "paused": "Pauzeer" + } +} diff --git a/public/locales/nl/modules/weather.json b/public/locales/nl/modules/weather.json new file mode 100644 index 000000000..25ca62188 --- /dev/null +++ b/public/locales/nl/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Weer", + "description": "Zoek het actuele weer op uw locatie", + "settings": { + "displayInFahrenheit": { + "label": "Toon in Fahrenheit" + }, + "location": { + "label": "Weerslocatie" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Helder", + "mainlyClear": "Overwegend helder", + "fog": "Mist", + "drizzle": "Motregen", + "freezingDrizzle": "IJzel", + "rain": "Regen", + "freezingRain": "Natte sneeuw", + "snowFall": "Sneeuwval", + "snowGrains": "Sneeuw", + "rainShowers": "Regenbuien", + "snowShowers": "Sneeuwbuien", + "thunderstorm": "Onweersbui", + "thunderstormWithHail": "Onweer met hagel", + "unknown": "Onbekend" + } + } +} \ No newline at end of file diff --git a/public/locales/nl/settings/common.json b/public/locales/nl/settings/common.json new file mode 100644 index 000000000..7379dd0dc --- /dev/null +++ b/public/locales/nl/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Instellingen", + "tooltip": "Instellingen", + "tabs": { + "common": "Algemeen", + "customizations": "Aanpassingen" + }, + "tips": { + "configTip": "Upload uw configuratiebestand door het op de pagina te slepen!" + }, + "credits": { + "madeWithLove": "Gemaakt met ❤️ door @" + } +} \ No newline at end of file diff --git a/public/locales/nl/settings/customization/app-width.json b/public/locales/nl/settings/customization/app-width.json new file mode 100644 index 000000000..ee95be0dc --- /dev/null +++ b/public/locales/nl/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "Applicatie breedte" +} \ No newline at end of file diff --git a/public/locales/nl/settings/customization/color-selector.json b/public/locales/nl/settings/customization/color-selector.json new file mode 100644 index 000000000..a6f500c0e --- /dev/null +++ b/public/locales/nl/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} kleur" +} \ No newline at end of file diff --git a/public/locales/nl/settings/customization/opacity-selector.json b/public/locales/nl/settings/customization/opacity-selector.json new file mode 100644 index 000000000..db60e2158 --- /dev/null +++ b/public/locales/nl/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "App Ondoorzichtigheid" +} \ No newline at end of file diff --git a/public/locales/nl/settings/customization/page-appearance.json b/public/locales/nl/settings/customization/page-appearance.json new file mode 100644 index 000000000..3d4ab79e9 --- /dev/null +++ b/public/locales/nl/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "Paginatitel", + "placeholder": "Homarr 🦞" + }, + "logo": { + "label": "Logo", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "Favicon", + "placeholder": "/favicon.png" + }, + "background": { + "label": "Achtergrond", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "Eigen CSS", + "placeholder": "Eigen CSS wordt als laatste uitgevoerd" + }, + "buttons": { + "submit": "Indienen" + } +} diff --git a/public/locales/nl/settings/customization/shade-selector.json b/public/locales/nl/settings/customization/shade-selector.json new file mode 100644 index 000000000..12880451a --- /dev/null +++ b/public/locales/nl/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Tint" +} \ No newline at end of file diff --git a/public/locales/nl/settings/general/color-schema.json b/public/locales/nl/settings/general/color-schema.json new file mode 100644 index 000000000..a74b1f119 --- /dev/null +++ b/public/locales/nl/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Overschakelen naar {{scheme}} modus" +} \ No newline at end of file diff --git a/public/locales/nl/settings/general/config-changer.json b/public/locales/nl/settings/general/config-changer.json new file mode 100644 index 000000000..04e3cf6cf --- /dev/null +++ b/public/locales/nl/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "Configuratie lader" + }, + "modal": { + "title": "Kies de naam van uw nieuwe configuratie", + "form": { + "configName": { + "label": "Configuratie naam", + "placeholder": "Uw nieuwe configuratienaam" + }, + "submitButton": "Bevestig" + }, + "events": { + "configSaved": { + "title": "Configuratie opgeslagen", + "message": "Configuratie opgeslagen als {{configName}}" + } + } + }, + "buttons": { + "download": "Download configuratie", + "delete": { + "text": "Verwijder configuratie", + "notifications": { + "deleted": { + "title": "Configuratie verwijderd", + "message": "Configuratie verwijderd" + }, + "deleteFailed": { + "title": "Configuratie verwijderen mislukt", + "message": "Configuratie verwijderen mislukt" + } + } + }, + "saveCopy": "Sla op als een kopie" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "Kan configuratie niet laden", + "message": "Kon uw configuratie niet laden. Ongeldig JSON formaat." + }, + "loadedSuccessfully": { + "title": "Configuratie {{configName}} succesvol geladen" + } + }, + "accept": { + "text": "Sleep bestanden hierheen om een configuratie te uploaden. Alleen ondersteuning voor JSON." + }, + "reject": { + "text": "Dit bestandsformaat wordt niet ondersteund. Upload a.u.b. alleen JSON." + } + } +} \ No newline at end of file diff --git a/public/locales/nl/settings/general/internationalization.json b/public/locales/nl/settings/general/internationalization.json new file mode 100644 index 000000000..8a4b910a1 --- /dev/null +++ b/public/locales/nl/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Taal" +} \ No newline at end of file diff --git a/public/locales/nl/settings/general/module-enabler.json b/public/locales/nl/settings/general/module-enabler.json new file mode 100644 index 000000000..ea042f81c --- /dev/null +++ b/public/locales/nl/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "Module Inschakeler" +} \ No newline at end of file diff --git a/public/locales/nl/settings/general/search-engine.json b/public/locales/nl/settings/general/search-engine.json new file mode 100644 index 000000000..bb98fb9f3 --- /dev/null +++ b/public/locales/nl/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Zoekmachine", + "tips": { + "generalTip": "Gebruik de voorvoegsels !yt en !t voor uw zoekopdracht om te zoeken op YouTube of naar een Torrent respectievelijk.", + "placeholderTip": "%s kan worden gebruikt als plaatshouder voor de query." + }, + "customEngine": { + "label": "Query URL", + "placeholder": "Eigen query URL" + } +} \ No newline at end of file diff --git a/public/locales/nl/settings/general/theme-selector.json b/public/locales/nl/settings/general/theme-selector.json new file mode 100644 index 000000000..d54071584 --- /dev/null +++ b/public/locales/nl/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Overschakelen naar {{theme}} modus" +} \ No newline at end of file diff --git a/public/locales/nl/settings/general/widget-positions.json b/public/locales/nl/settings/general/widget-positions.json new file mode 100644 index 000000000..e41e4243c --- /dev/null +++ b/public/locales/nl/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Plaats widgets aan de linkerkant" +} \ No newline at end of file diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json new file mode 100644 index 000000000..a79e5937d --- /dev/null +++ b/public/locales/pl/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Zapisz" + }, + "tip": "Wskazówka: ", + "time": { + "seconds": "", + "minutes": "", + "hours": "" + } +} diff --git a/public/locales/pl/layout/add-service-app-shelf.json b/public/locales/pl/layout/add-service-app-shelf.json new file mode 100644 index 000000000..e9f742e81 --- /dev/null +++ b/public/locales/pl/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Dodaj usługę" + }, + "modal": { + "title": "Dodaj usługę", + "form": { + "validation": { + "invalidUrl": "Wprowadź prawidłowy adres URL", + "noStatusCodeSelected": "" + } + }, + "tabs": { + "options": { + "title": "", + "form": { + "serviceName": { + "label": "Nazwa usługi", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "Adres URL ikony" + }, + "serviceUrl": { + "label": "Adres URL usługi" + }, + "onClickUrl": { + "label": "Adres URL kliknięcia" + }, + "serviceType": { + "label": "Rodzaj usługi", + "defaultValue": "Inna", + "placeholder": "Wybierz jedną" + }, + "category": { + "label": "Kategoria", + "placeholder": "Wybierz kategorię lub utwórz nową", + "nothingFound": "Nic nie znaleziono", + "createLabel": "+ Utwórz {{query}}" + }, + "integrations": { + "apiKey": { + "label": "Klucz API", + "placeholder": "Twój klucz API", + "validation": { + "noKey": "Nieprawidłowy klucz" + }, + "tip": { + "text": "Zdobądź swój klucz API", + "link": "" + } + }, + "qBittorrent": { + "username": { + "label": "Nazwa użytkownika", + "placeholder": "admin", + "validation": { + "invalidUsername": "Nieprawidłowa nazwa użytkownika" + } + }, + "password": { + "label": "Hasło", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Nieprawidłowe hasło" + } + } + }, + "deluge": { + "password": { + "label": "Hasło", + "placeholder": "password", + "validation": { + "invalidPassword": "Nieprawidłowe hasło" + } + } + }, + "transmission": { + "username": { + "label": "Nazwa użytkownika", + "placeholder": "admin", + "validation": { + "invalidUsername": "Nieprawidłowa nazwa użytkownika" + } + }, + "password": { + "label": "Hasło", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Nieprawidłowe hasło" + } + } + } + } + } + }, + "advancedOptions": { + "title": "", + "form": { + "httpStatusCodes": { + "label": "", + "placeholder": "", + "clearButtonLabel": "Wyczyść wybór", + "nothingFound": "Nic nie znaleziono" + }, + "openServiceInNewTab": { + "label": "Otwórz usługę w nowej karcie" + }, + "buttons": { + "submit": { + "content": "Dodaj usługę" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/pl/layout/app-shelf-menu.json b/public/locales/pl/layout/app-shelf-menu.json new file mode 100644 index 000000000..aa5c2ca3a --- /dev/null +++ b/public/locales/pl/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Modyfikuj usługę", + "buttons": { + "save": "Zapisz usługę" + } + }, + "menu": { + "labels": { + "settings": "Ustawienia", + "dangerZone": "Strefa zagrożenia" + }, + "actions": { + "edit": "Edytuj", + "delete": "Usuń" + } + } +} \ No newline at end of file diff --git a/public/locales/pl/layout/app-shelf.json b/public/locales/pl/layout/app-shelf.json new file mode 100644 index 000000000..20f7a7350 --- /dev/null +++ b/public/locales/pl/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "" + }, + "others": { + "text": "" + } + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/calendar.json b/public/locales/pl/modules/calendar.json new file mode 100644 index 000000000..f0c955d35 --- /dev/null +++ b/public/locales/pl/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Kalendarz", + "description": "Moduł kalendarza do wyświetlania nadchodzących wydań. Współpracuje z API Sonarra i Radarra.", + "settings": { + "sundayStart": { + "label": "Rozpoczynaj tydzień od niedzieli" + } + } + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/common-media-cards.json b/public/locales/pl/modules/common-media-cards.json new file mode 100644 index 000000000..91283a6a4 --- /dev/null +++ b/public/locales/pl/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Odtwórz", + "request": "" + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/common.json b/public/locales/pl/modules/common.json new file mode 100644 index 000000000..489e89f1c --- /dev/null +++ b/public/locales/pl/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Ustawienia" + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/dashdot.json b/public/locales/pl/modules/dashdot.json new file mode 100644 index 000000000..9e9407564 --- /dev/null +++ b/public/locales/pl/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Moduł do wyświetlania wykresów z uruchomionej instancji Dash.", + "settings": { + "cpuMultiView": { + "label": "Widok wielordzeniowy procesora" + }, + "storageMultiView": { + "label": "" + }, + "useCompactView": { + "label": "Użyj trybu kompaktowego" + }, + "graphs": { + "label": "Wykresy" + }, + "url": { + "label": "Adres URL usługi Dash." + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "Nie znaleziono usługi Dash. Proszę dodać ją do pulpitu Homarra lub ustawić adres URL usługi Dash. w opcjach modułu", + "noInformation": "" + }, + "graphs": { + "storage": { + "title": "", + "label": "" + }, + "network": { + "title": "Sieć", + "label": "Sieć:", + "metrics": { + "download": "Pobieranie", + "upload": "Udostępnianie" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/date.json b/public/locales/pl/modules/date.json new file mode 100644 index 000000000..80b581fc6 --- /dev/null +++ b/public/locales/pl/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Data", + "description": "Pokaż bieżącą datę i godzinę w karcie", + "settings": { + "display24HourFormat": { + "label": "Wyświetlaj pełną godzinę (24 godziny)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/dlspeed.json b/public/locales/pl/modules/dlspeed.json new file mode 100644 index 000000000..536679d7b --- /dev/null +++ b/public/locales/pl/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Prędkość pobierania", + "description": "Pokaż bieżącą prędkość pobierania obsługiwanych usług" + }, + "card": { + "table": { + "header": { + "name": "Nazwa", + "size": "Rozmiar", + "download": "Pobieranie", + "upload": "Udostępnianie", + "estimatedTimeOfArrival": "ETA", + "progress": "Postęp" + }, + "body": { + "nothingFound": "Nie znaleziono torrentów" + } + }, + "lineChart": { + "title": "Aktualna prędkość pobierania", + "download": "", + "upload": "", + "timeSpan": "{{seconds}} sekund temu", + "totalDownload": "", + "totalUpload": "" + }, + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/docker.json b/public/locales/pl/modules/docker.json new file mode 100644 index 000000000..33f39ac2b --- /dev/null +++ b/public/locales/pl/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Umożliwia łatwe zarządzanie torrentami" + }, + "search": { + "placeholder": "Szukaj według kontenera nazwy lub obrazu" + }, + "table": { + "header": { + "name": "Nazwa", + "image": "Obraz", + "ports": "Porty", + "state": "Status" + }, + "body": { + "portCollapse": "{{ports}} więcej" + }, + "states": { + "running": "Uruchomione", + "created": "Utworzony", + "stopped": "Zatrzymane", + "unknown": "Nieznany" + } + }, + "actionBar": { + "addService": { + "title": "Dodaj usługę", + "message": "Dodaj usługę do Homarra" + }, + "restart": { + "title": "Uruchom ponownie" + }, + "stop": { + "title": "Zatrzymać" + }, + "start": { + "title": "Uruchom" + }, + "refreshData": { + "title": "" + }, + "remove": { + "title": "Usuń" + }, + "addToHomarr": { + "title": "Dodaj do Homarra" + } + }, + "messages": { + "successfullyExecuted": { + "title": "", + "message": "" + } + }, + "errors": { + "integrationFailed": { + "title": "", + "message": "Czy zapomniałeś nie zamontować docker socket?" + }, + "unknownError": { + "title": "Wystąpił błąd" + }, + "oneServiceAtATime": { + "title": "" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/overseerr.json b/public/locales/pl/modules/overseerr.json new file mode 100644 index 000000000..382d73763 --- /dev/null +++ b/public/locales/pl/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Umożliwia wyszukiwanie i dodawanie mediów z Overseerr/Jellyseerr" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Poproś o {{title}}", + "cancel": "Anuluj", + "request": "" + }, + "alerts": { + "automaticApproval": { + "title": "", + "text": "" + } + } + }, + "seasonSelector": { + "caption": "Zaznacz sezony, które chcesz pobrać", + "table": { + "header": { + "season": "Sezon", + "numberOfEpisodes": "Liczba odcinków" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/ping.json b/public/locales/pl/modules/ping.json new file mode 100644 index 000000000..491f341a5 --- /dev/null +++ b/public/locales/pl/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Ping", + "description": "" + }, + "states": { + "online": "", + "offline": "", + "loading": "Ładowanie..." + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/search.json b/public/locales/pl/modules/search.json new file mode 100644 index 000000000..14f957bfe --- /dev/null +++ b/public/locales/pl/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Pasek wyszukiwania", + "description": "" + }, + "input": { + "placeholder": "Szukaj w internecie..." + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/torrents-status.json b/public/locales/pl/modules/torrents-status.json new file mode 100644 index 000000000..f015a1241 --- /dev/null +++ b/public/locales/pl/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Torrent", + "description": "Pokaż bieżącą prędkość pobierania obsługiwanych usług", + "settings": { + "hideComplete": { + "label": "Ukryj ukończone torrenty" + } + } + }, + "card": { + "table": { + "header": { + "name": "Nazwa", + "size": "Rozmiar", + "download": "Pobieranie", + "upload": "Udostępnianie", + "estimatedTimeOfArrival": "ETA", + "progress": "Postęp" + }, + "body": { + "nothingFound": "Nie znaleziono torrentów" + } + }, + "lineChart": { + "title": "Aktualna prędkość pobierania", + "download": "", + "upload": "", + "timeSpan": "{{seconds}} sekund temu", + "totalDownload": "", + "totalUpload": "" + }, + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/pl/modules/usenet.json b/public/locales/pl/modules/usenet.json new file mode 100644 index 000000000..18f53f812 --- /dev/null +++ b/public/locales/pl/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + }, + "tabs": { + "queue": "", + "history": "Historia" + }, + "info": { + "sizeLeft": "", + "paused": "" + }, + "queue": { + "header": { + "name": "Nazwa", + "size": "Rozmiar", + "eta": "ETA", + "progress": "Postęp" + }, + "empty": "", + "error": { + "title": "Błąd", + "message": "Coś poszło nie tak" + }, + "paused": "" + }, + "history": { + "header": { + "name": "Nazwa", + "size": "Rozmiar", + "duration": "" + }, + "empty": "", + "error": { + "title": "Błąd", + "message": "Wystąpił błąd podczas ładowania historii" + }, + "paused": "" + } +} diff --git a/public/locales/pl/modules/weather.json b/public/locales/pl/modules/weather.json new file mode 100644 index 000000000..5f0b0a1b0 --- /dev/null +++ b/public/locales/pl/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Pogoda", + "description": "Sprawdź aktualną pogodę w swojej lokalizacji", + "settings": { + "displayInFahrenheit": { + "label": "Wyświetlaj w Fahrenheitach" + }, + "location": { + "label": "Lokalizacja pogody" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Bezchmurnie", + "mainlyClear": "", + "fog": "Mgła", + "drizzle": "Mżawka", + "freezingDrizzle": "", + "rain": "Deszcz", + "freezingRain": "", + "snowFall": "Opady śniegu", + "snowGrains": "", + "rainShowers": "", + "snowShowers": "", + "thunderstorm": "Burza", + "thunderstormWithHail": "Burza z gradem", + "unknown": "Nieznany" + } + } +} \ No newline at end of file diff --git a/public/locales/pl/settings/common.json b/public/locales/pl/settings/common.json new file mode 100644 index 000000000..9a1bc79be --- /dev/null +++ b/public/locales/pl/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Ustawienia", + "tooltip": "Ustawienia", + "tabs": { + "common": "", + "customizations": "" + }, + "tips": { + "configTip": "" + }, + "credits": { + "madeWithLove": "Stworzone z ❤️ przez @" + } +} \ No newline at end of file diff --git a/public/locales/pl/settings/customization/app-width.json b/public/locales/pl/settings/customization/app-width.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pl/settings/customization/app-width.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pl/settings/customization/color-selector.json b/public/locales/pl/settings/customization/color-selector.json new file mode 100644 index 000000000..020b5f898 --- /dev/null +++ b/public/locales/pl/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} kolor" +} \ No newline at end of file diff --git a/public/locales/pl/settings/customization/opacity-selector.json b/public/locales/pl/settings/customization/opacity-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pl/settings/customization/opacity-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pl/settings/customization/page-appearance.json b/public/locales/pl/settings/customization/page-appearance.json new file mode 100644 index 000000000..6ce08a2ec --- /dev/null +++ b/public/locales/pl/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "Tytuł strony", + "placeholder": "Homarr 🦞" + }, + "logo": { + "label": "Logo", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "Ikona", + "placeholder": "/favicon.png" + }, + "background": { + "label": "Tło", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "Niestandardowy CSS", + "placeholder": "Niestandardowy CSS zostanie wykonany jako ostatni" + }, + "buttons": { + "submit": "" + } +} diff --git a/public/locales/pl/settings/customization/shade-selector.json b/public/locales/pl/settings/customization/shade-selector.json new file mode 100644 index 000000000..cf5b6356d --- /dev/null +++ b/public/locales/pl/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Cień" +} \ No newline at end of file diff --git a/public/locales/pl/settings/general/color-schema.json b/public/locales/pl/settings/general/color-schema.json new file mode 100644 index 000000000..d1cc516de --- /dev/null +++ b/public/locales/pl/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Przełącz na tryb {{scheme}}" +} \ No newline at end of file diff --git a/public/locales/pl/settings/general/config-changer.json b/public/locales/pl/settings/general/config-changer.json new file mode 100644 index 000000000..342ccbe1f --- /dev/null +++ b/public/locales/pl/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "Ładowanie konfiguracji" + }, + "modal": { + "title": "Wybierz nazwę nowej konfiguracji", + "form": { + "configName": { + "label": "Nazwa konfiguracji", + "placeholder": "Twoja nowa nazwa konfiguracji" + }, + "submitButton": "Potwierdź" + }, + "events": { + "configSaved": { + "title": "Konfiguracja zapisana", + "message": "Konfiguracja zapisana jako {{configName}}" + } + } + }, + "buttons": { + "download": "Pobierz konfigurację", + "delete": { + "text": "Usuń konfigurację", + "notifications": { + "deleted": { + "title": "Konfiguracja usunięta", + "message": "Konfiguracja usunięta" + }, + "deleteFailed": { + "title": "Nie udało się usunąć konfiguracji", + "message": "Nie udało się usunąć konfiguracji" + } + } + }, + "saveCopy": "Zapisz kopię" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "Nie udało się załadować konfiguracji", + "message": "Nie udało się załadować konfiguracji. Nieprawidłowy format JSON." + }, + "loadedSuccessfully": { + "title": "Konfiguracja {{configName}} została pomyślnie załadowana" + } + }, + "accept": { + "text": "Przeciągnij pliki tutaj, aby przesłać konfigurację. Wsparcie tylko dla plików JSON." + }, + "reject": { + "text": "Ten format pliku nie jest obsługiwany. Przesyłaj tylko pliki JSON." + } + } +} \ No newline at end of file diff --git a/public/locales/pl/settings/general/internationalization.json b/public/locales/pl/settings/general/internationalization.json new file mode 100644 index 000000000..e021aae8c --- /dev/null +++ b/public/locales/pl/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Język" +} \ No newline at end of file diff --git a/public/locales/pl/settings/general/module-enabler.json b/public/locales/pl/settings/general/module-enabler.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pl/settings/general/module-enabler.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pl/settings/general/search-engine.json b/public/locales/pl/settings/general/search-engine.json new file mode 100644 index 000000000..3aa0386e8 --- /dev/null +++ b/public/locales/pl/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Silnik wyszukiwania", + "tips": { + "generalTip": "", + "placeholderTip": "%s może być użyte jako symbol zastępczy dla zapytania." + }, + "customEngine": { + "label": "Adres URL zapytania", + "placeholder": "Własny adres URL zapytania" + } +} \ No newline at end of file diff --git a/public/locales/pl/settings/general/theme-selector.json b/public/locales/pl/settings/general/theme-selector.json new file mode 100644 index 000000000..6422caf03 --- /dev/null +++ b/public/locales/pl/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Przełącz na tryb {{theme}}" +} \ No newline at end of file diff --git a/public/locales/pl/settings/general/widget-positions.json b/public/locales/pl/settings/general/widget-positions.json new file mode 100644 index 000000000..62039ed15 --- /dev/null +++ b/public/locales/pl/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Umieść widżety po lewej stronie" +} \ No newline at end of file diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json new file mode 100644 index 000000000..fe889c172 --- /dev/null +++ b/public/locales/pt/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Salvar" + }, + "tip": "Dica: ", + "time": { + "seconds": "", + "minutes": "", + "hours": "" + } +} diff --git a/public/locales/pt/layout/add-service-app-shelf.json b/public/locales/pt/layout/add-service-app-shelf.json new file mode 100644 index 000000000..5bd5c53ca --- /dev/null +++ b/public/locales/pt/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Adicionar serviço" + }, + "modal": { + "title": "Adicionar serviço", + "form": { + "validation": { + "invalidUrl": "Por favor, insira uma URL válida", + "noStatusCodeSelected": "Por favor, selecione um código de estado" + } + }, + "tabs": { + "options": { + "title": "Opções", + "form": { + "serviceName": { + "label": "Nome do serviço", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "URL do ícone" + }, + "serviceUrl": { + "label": "URL do serviço" + }, + "onClickUrl": { + "label": "Ao clicar na URL" + }, + "serviceType": { + "label": "Tipo de serviço", + "defaultValue": "Outros", + "placeholder": "Escolha um" + }, + "category": { + "label": "Categoria", + "placeholder": "Selecione uma categoria ou crie uma nova", + "nothingFound": "Nenhum resultado encontrado", + "createLabel": "+ Criar {{query}}" + }, + "integrations": { + "apiKey": { + "label": "Chave da API", + "placeholder": "Sua chave da API", + "validation": { + "noKey": "Chave inválida" + }, + "tip": { + "text": "Obter sua chave da API", + "link": "aqui." + } + }, + "qBittorrent": { + "username": { + "label": "Usuário", + "placeholder": "admin", + "validation": { + "invalidUsername": "Usuário inválido" + } + }, + "password": { + "label": "Senha", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Senha inválida" + } + } + }, + "deluge": { + "password": { + "label": "Senha", + "placeholder": "senha", + "validation": { + "invalidPassword": "Senha inválida" + } + } + }, + "transmission": { + "username": { + "label": "Usuário", + "placeholder": "admin", + "validation": { + "invalidUsername": "Usuário inválido" + } + }, + "password": { + "label": "Senha", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Senha inválida" + } + } + } + } + } + }, + "advancedOptions": { + "title": "", + "form": { + "httpStatusCodes": { + "label": "Códigos de estado HTTP", + "placeholder": "Selecione um código de estado válido", + "clearButtonLabel": "Limpar seleção", + "nothingFound": "Nenhum resultado encontrado" + }, + "openServiceInNewTab": { + "label": "Abrir links em uma nova aba" + }, + "buttons": { + "submit": { + "content": "Adicionar serviço" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/pt/layout/app-shelf-menu.json b/public/locales/pt/layout/app-shelf-menu.json new file mode 100644 index 000000000..c61d01cc0 --- /dev/null +++ b/public/locales/pt/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Modificar um serviço", + "buttons": { + "save": "Salvar serviço" + } + }, + "menu": { + "labels": { + "settings": "Configurações", + "dangerZone": "Zona de risco" + }, + "actions": { + "edit": "Editar", + "delete": "Apagar" + } + } +} \ No newline at end of file diff --git a/public/locales/pt/layout/app-shelf.json b/public/locales/pt/layout/app-shelf.json new file mode 100644 index 000000000..42ec040cf --- /dev/null +++ b/public/locales/pt/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Seus downloads" + }, + "others": { + "text": "Outros" + } + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/calendar.json b/public/locales/pt/modules/calendar.json new file mode 100644 index 000000000..eaa7538d7 --- /dev/null +++ b/public/locales/pt/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Calendário", + "description": "Um módulo de calendário para exibir os próximos lançamentos. Interage com o Sonarr e o Radarr API.", + "settings": { + "sundayStart": { + "label": "Comece a semana no Domingo" + } + } + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/common-media-cards.json b/public/locales/pt/modules/common-media-cards.json new file mode 100644 index 000000000..c3a3b012a --- /dev/null +++ b/public/locales/pt/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Reproduzir", + "request": "Solicitar" + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/common.json b/public/locales/pt/modules/common.json new file mode 100644 index 000000000..ad436ac69 --- /dev/null +++ b/public/locales/pt/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Configurações" + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/dashdot.json b/public/locales/pt/modules/dashdot.json new file mode 100644 index 000000000..f9e47755a --- /dev/null +++ b/public/locales/pt/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "", + "description": "Um módulo para exibir os gráficos da sua instância Dash. em execução.", + "settings": { + "cpuMultiView": { + "label": "Visualização múltipla de CPU" + }, + "storageMultiView": { + "label": "Exibição Multi-Drive de armazenamento" + }, + "useCompactView": { + "label": "Usar visualização compacta" + }, + "graphs": { + "label": "Gráficos" + }, + "url": { + "label": "URL do Dash." + } + } + }, + "card": { + "title": "", + "errors": { + "noService": "Nenhum serviço Dash. encontrado. Por favor, adicione um ao seu painel Homarr ou defina uma URL para o Dash. nas opções do módulo", + "noInformation": "Não é possível obter informações do Dash. Você está executando a versão mais recente?" + }, + "graphs": { + "storage": { + "title": "Armazenamento", + "label": "Armazenamento:" + }, + "network": { + "title": "Rede", + "label": "Rede:", + "metrics": { + "download": "", + "upload": "" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/date.json b/public/locales/pt/modules/date.json new file mode 100644 index 000000000..078ba2720 --- /dev/null +++ b/public/locales/pt/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Data", + "description": "Mostrar a hora e a data atuais em um card", + "settings": { + "display24HourFormat": { + "label": "Mostrar tempo (24 horas)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/dlspeed.json b/public/locales/pt/modules/dlspeed.json new file mode 100644 index 000000000..da6406ca3 --- /dev/null +++ b/public/locales/pt/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Velocidade de Transferência", + "description": "" + }, + "card": { + "table": { + "header": { + "name": "Nome", + "size": "Tamanho", + "download": "", + "upload": "", + "estimatedTimeOfArrival": "TED", + "progress": "Progresso" + }, + "body": { + "nothingFound": "Nenhum torrent encontrado" + } + }, + "lineChart": { + "title": "", + "download": "", + "upload": "", + "timeSpan": "", + "totalDownload": "", + "totalUpload": "" + }, + "errors": { + "noDownloadClients": { + "title": "", + "text": "Adicione um serviço de download para ver seus downloads atuais" + } + } + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/docker.json b/public/locales/pt/modules/docker.json new file mode 100644 index 000000000..b9e841191 --- /dev/null +++ b/public/locales/pt/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "search": { + "placeholder": "" + }, + "table": { + "header": { + "name": "Nome", + "image": "Imagem", + "ports": "Portas", + "state": "Estado" + }, + "body": { + "portCollapse": "mais {{ports}}" + }, + "states": { + "running": "Em execução", + "created": "Criado", + "stopped": "Parado", + "unknown": "Desconhecido" + } + }, + "actionBar": { + "addService": { + "title": "Adicionar serviço", + "message": "" + }, + "restart": { + "title": "Reiniciar" + }, + "stop": { + "title": "Parar" + }, + "start": { + "title": "Iniciar" + }, + "refreshData": { + "title": "" + }, + "remove": { + "title": "Excluir" + }, + "addToHomarr": { + "title": "Adicionar ao Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "", + "message": "" + } + }, + "errors": { + "integrationFailed": { + "title": "Integração com Docker falhou", + "message": "Você esqueceu de montar o Docker socket?" + }, + "unknownError": { + "title": "Ocorreu um erro" + }, + "oneServiceAtATime": { + "title": "" + } + }, + "actionIcon": { + "tooltip": "" + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/overseerr.json b/public/locales/pt/modules/overseerr.json new file mode 100644 index 000000000..0807214a8 --- /dev/null +++ b/public/locales/pt/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "popup": { + "item": { + "buttons": { + "askFor": "", + "cancel": "Cancelar", + "request": "Solicitar" + }, + "alerts": { + "automaticApproval": { + "title": "Usando chave da API", + "text": "Este pedido será aprovado automaticamente" + } + } + }, + "seasonSelector": { + "caption": "Marque as temporadas que você deseja que sejam baixadas", + "table": { + "header": { + "season": "Temporada", + "numberOfEpisodes": "Número de episódios" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/ping.json b/public/locales/pt/modules/ping.json new file mode 100644 index 000000000..09282c647 --- /dev/null +++ b/public/locales/pt/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Latência", + "description": "Permite verificar se o serviço está ativo ou retorna um código de estado HTTP específico." + }, + "states": { + "online": "Online {{response}}", + "offline": "", + "loading": "" + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/search.json b/public/locales/pt/modules/search.json new file mode 100644 index 000000000..cf06695e4 --- /dev/null +++ b/public/locales/pt/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "input": { + "placeholder": "" + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/torrents-status.json b/public/locales/pt/modules/torrents-status.json new file mode 100644 index 000000000..3e6bc7fd8 --- /dev/null +++ b/public/locales/pt/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "hideComplete": { + "label": "" + } + } + }, + "card": { + "table": { + "header": { + "name": "Nome", + "size": "Tamanho", + "download": "", + "upload": "", + "estimatedTimeOfArrival": "TED", + "progress": "Progresso" + }, + "body": { + "nothingFound": "Nenhum torrent encontrado" + } + }, + "lineChart": { + "title": "", + "download": "", + "upload": "", + "timeSpan": "", + "totalDownload": "", + "totalUpload": "" + }, + "errors": { + "noDownloadClients": { + "title": "", + "text": "Adicione um serviço de download para ver seus downloads atuais" + } + } + } +} \ No newline at end of file diff --git a/public/locales/pt/modules/usenet.json b/public/locales/pt/modules/usenet.json new file mode 100644 index 000000000..7bdd059eb --- /dev/null +++ b/public/locales/pt/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "", + "text": "Adicione um serviço de download para ver seus downloads atuais" + } + } + }, + "tabs": { + "queue": "", + "history": "" + }, + "info": { + "sizeLeft": "", + "paused": "" + }, + "queue": { + "header": { + "name": "Nome", + "size": "Tamanho", + "eta": "TED", + "progress": "Progresso" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + }, + "history": { + "header": { + "name": "Nome", + "size": "Tamanho", + "duration": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + } +} diff --git a/public/locales/pt/modules/weather.json b/public/locales/pt/modules/weather.json new file mode 100644 index 000000000..8b3dc45d7 --- /dev/null +++ b/public/locales/pt/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "displayInFahrenheit": { + "label": "Mostrar em Fahrenheit" + }, + "location": { + "label": "Localização do tempo" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Limpar", + "mainlyClear": "", + "fog": "Névoa", + "drizzle": "", + "freezingDrizzle": "", + "rain": "Chuva", + "freezingRain": "", + "snowFall": "", + "snowGrains": "", + "rainShowers": "", + "snowShowers": "", + "thunderstorm": "", + "thunderstormWithHail": "", + "unknown": "Desconhecido" + } + } +} \ No newline at end of file diff --git a/public/locales/pt/settings/common.json b/public/locales/pt/settings/common.json new file mode 100644 index 000000000..8f6d407a5 --- /dev/null +++ b/public/locales/pt/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Configurações", + "tooltip": "Configurações", + "tabs": { + "common": "", + "customizations": "" + }, + "tips": { + "configTip": "" + }, + "credits": { + "madeWithLove": "" + } +} \ No newline at end of file diff --git a/public/locales/pt/settings/customization/app-width.json b/public/locales/pt/settings/customization/app-width.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pt/settings/customization/app-width.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pt/settings/customization/color-selector.json b/public/locales/pt/settings/customization/color-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pt/settings/customization/color-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pt/settings/customization/opacity-selector.json b/public/locales/pt/settings/customization/opacity-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pt/settings/customization/opacity-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pt/settings/customization/page-appearance.json b/public/locales/pt/settings/customization/page-appearance.json new file mode 100644 index 000000000..d7e4d7757 --- /dev/null +++ b/public/locales/pt/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "", + "placeholder": "" + }, + "logo": { + "label": "", + "placeholder": "" + }, + "favicon": { + "label": "", + "placeholder": "" + }, + "background": { + "label": "", + "placeholder": "" + }, + "customCSS": { + "label": "CSS Personalizado", + "placeholder": "O CSS personalizado será executado por último" + }, + "buttons": { + "submit": "" + } +} diff --git a/public/locales/pt/settings/customization/shade-selector.json b/public/locales/pt/settings/customization/shade-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pt/settings/customization/shade-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pt/settings/general/color-schema.json b/public/locales/pt/settings/general/color-schema.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pt/settings/general/color-schema.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pt/settings/general/config-changer.json b/public/locales/pt/settings/general/config-changer.json new file mode 100644 index 000000000..6d130e67d --- /dev/null +++ b/public/locales/pt/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "" + }, + "modal": { + "title": "", + "form": { + "configName": { + "label": "", + "placeholder": "" + }, + "submitButton": "" + }, + "events": { + "configSaved": { + "title": "", + "message": "" + } + } + }, + "buttons": { + "download": "", + "delete": { + "text": "", + "notifications": { + "deleted": { + "title": "", + "message": "" + }, + "deleteFailed": { + "title": "", + "message": "" + } + } + }, + "saveCopy": "" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "", + "message": "" + }, + "loadedSuccessfully": { + "title": "" + } + }, + "accept": { + "text": "" + }, + "reject": { + "text": "" + } + } +} \ No newline at end of file diff --git a/public/locales/pt/settings/general/internationalization.json b/public/locales/pt/settings/general/internationalization.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pt/settings/general/internationalization.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pt/settings/general/module-enabler.json b/public/locales/pt/settings/general/module-enabler.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pt/settings/general/module-enabler.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pt/settings/general/search-engine.json b/public/locales/pt/settings/general/search-engine.json new file mode 100644 index 000000000..20a3b127a --- /dev/null +++ b/public/locales/pt/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "", + "tips": { + "generalTip": "", + "placeholderTip": "" + }, + "customEngine": { + "label": "", + "placeholder": "" + } +} \ No newline at end of file diff --git a/public/locales/pt/settings/general/theme-selector.json b/public/locales/pt/settings/general/theme-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pt/settings/general/theme-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/pt/settings/general/widget-positions.json b/public/locales/pt/settings/general/widget-positions.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/pt/settings/general/widget-positions.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json new file mode 100644 index 000000000..c610c224e --- /dev/null +++ b/public/locales/ru/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "" + }, + "tip": "", + "time": { + "seconds": "", + "minutes": "", + "hours": "" + } +} diff --git a/public/locales/ru/layout/add-service-app-shelf.json b/public/locales/ru/layout/add-service-app-shelf.json new file mode 100644 index 000000000..d540152d9 --- /dev/null +++ b/public/locales/ru/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Добавить сервис" + }, + "modal": { + "title": "Добавить сервис", + "form": { + "validation": { + "invalidUrl": "Пожалуйста, введите корректный адрес", + "noStatusCodeSelected": "Пожалуйста, выберите код состояния" + } + }, + "tabs": { + "options": { + "title": "Настройки", + "form": { + "serviceName": { + "label": "Имя сервиса", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "URL-адрес иконки" + }, + "serviceUrl": { + "label": "Адрес сервиса" + }, + "onClickUrl": { + "label": "URL-адрес при нажатии" + }, + "serviceType": { + "label": "Тип сервиса", + "defaultValue": "Другое", + "placeholder": "Выберите один" + }, + "category": { + "label": "Категория", + "placeholder": "Выберите категорию или создайте новую", + "nothingFound": "Ничего не найдено", + "createLabel": "+ Добавить {{query}}" + }, + "integrations": { + "apiKey": { + "label": "API-ключ", + "placeholder": "Ваш API-ключ", + "validation": { + "noKey": "Неверный ключ" + }, + "tip": { + "text": "Получите API-ключ", + "link": "здесь." + } + }, + "qBittorrent": { + "username": { + "label": "Имя пользователя", + "placeholder": "admin", + "validation": { + "invalidUsername": "Неверное имя пользователя" + } + }, + "password": { + "label": "Пароль", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Неверный пароль" + } + } + }, + "deluge": { + "password": { + "label": "Пароль", + "placeholder": "Введите пароль", + "validation": { + "invalidPassword": "Неверный пароль" + } + } + }, + "transmission": { + "username": { + "label": "Имя пользователя", + "placeholder": "admin", + "validation": { + "invalidUsername": "Неверное имя пользователя" + } + }, + "password": { + "label": "Пароль", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Неверный пароль" + } + } + } + } + } + }, + "advancedOptions": { + "title": "", + "form": { + "httpStatusCodes": { + "label": "Коды состояния HTTP", + "placeholder": "Выберите подходящие коды состояния", + "clearButtonLabel": "Очистить выбранное", + "nothingFound": "Ничего не найдено" + }, + "openServiceInNewTab": { + "label": "Открывать сервис в новой вкладке" + }, + "buttons": { + "submit": { + "content": "Добавить сервис" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/ru/layout/app-shelf-menu.json b/public/locales/ru/layout/app-shelf-menu.json new file mode 100644 index 000000000..62cddda71 --- /dev/null +++ b/public/locales/ru/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Редактировать сервис", + "buttons": { + "save": "Сохранить" + } + }, + "menu": { + "labels": { + "settings": "Настройки", + "dangerZone": "Опасная зона" + }, + "actions": { + "edit": "Изменить", + "delete": "Удалить" + } + } +} \ No newline at end of file diff --git a/public/locales/ru/layout/app-shelf.json b/public/locales/ru/layout/app-shelf.json new file mode 100644 index 000000000..9373cc694 --- /dev/null +++ b/public/locales/ru/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Ваши загрузки" + }, + "others": { + "text": "Другое" + } + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/calendar.json b/public/locales/ru/modules/calendar.json new file mode 100644 index 000000000..b55010493 --- /dev/null +++ b/public/locales/ru/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Календарь", + "description": "Модуль календаря для отображения предстоящих релизов. Интегрируется с Sonarr и Radarr.", + "settings": { + "sundayStart": { + "label": "Начинать неделю с воскресенья" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/common-media-cards.json b/public/locales/ru/modules/common-media-cards.json new file mode 100644 index 000000000..9f6da0682 --- /dev/null +++ b/public/locales/ru/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "", + "request": "" + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/common.json b/public/locales/ru/modules/common.json new file mode 100644 index 000000000..127ac067c --- /dev/null +++ b/public/locales/ru/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Настройки" + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/dashdot.json b/public/locales/ru/modules/dashdot.json new file mode 100644 index 000000000..3504c0301 --- /dev/null +++ b/public/locales/ru/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Модуль для отображения графиков из Dash.", + "settings": { + "cpuMultiView": { + "label": "" + }, + "storageMultiView": { + "label": "" + }, + "useCompactView": { + "label": "" + }, + "graphs": { + "label": "" + }, + "url": { + "label": "" + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "", + "noInformation": "" + }, + "graphs": { + "storage": { + "title": "", + "label": "Хранилище:" + }, + "network": { + "title": "", + "label": "Сеть:", + "metrics": { + "download": "", + "upload": "" + } + }, + "cpu": { + "title": "" + }, + "memory": { + "title": "" + }, + "gpu": { + "title": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/date.json b/public/locales/ru/modules/date.json new file mode 100644 index 000000000..ab82eb8ed --- /dev/null +++ b/public/locales/ru/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "display24HourFormat": { + "label": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/dlspeed.json b/public/locales/ru/modules/dlspeed.json new file mode 100644 index 000000000..216086881 --- /dev/null +++ b/public/locales/ru/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "table": { + "header": { + "name": "", + "size": "", + "download": "", + "upload": "", + "estimatedTimeOfArrival": "", + "progress": "" + }, + "body": { + "nothingFound": "" + } + }, + "lineChart": { + "title": "", + "download": "", + "upload": "", + "timeSpan": "", + "totalDownload": "", + "totalUpload": "" + }, + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/docker.json b/public/locales/ru/modules/docker.json new file mode 100644 index 000000000..0d86037c8 --- /dev/null +++ b/public/locales/ru/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "search": { + "placeholder": "" + }, + "table": { + "header": { + "name": "", + "image": "", + "ports": "", + "state": "" + }, + "body": { + "portCollapse": "" + }, + "states": { + "running": "", + "created": "", + "stopped": "", + "unknown": "" + } + }, + "actionBar": { + "addService": { + "title": "Добавить сервис", + "message": "" + }, + "restart": { + "title": "" + }, + "stop": { + "title": "" + }, + "start": { + "title": "" + }, + "refreshData": { + "title": "" + }, + "remove": { + "title": "" + }, + "addToHomarr": { + "title": "" + } + }, + "messages": { + "successfullyExecuted": { + "title": "", + "message": "" + } + }, + "errors": { + "integrationFailed": { + "title": "", + "message": "" + }, + "unknownError": { + "title": "" + }, + "oneServiceAtATime": { + "title": "" + } + }, + "actionIcon": { + "tooltip": "" + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/overseerr.json b/public/locales/ru/modules/overseerr.json new file mode 100644 index 000000000..1300c27f3 --- /dev/null +++ b/public/locales/ru/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "" + }, + "popup": { + "item": { + "buttons": { + "askFor": "", + "cancel": "", + "request": "" + }, + "alerts": { + "automaticApproval": { + "title": "", + "text": "" + } + } + }, + "seasonSelector": { + "caption": "", + "table": { + "header": { + "season": "", + "numberOfEpisodes": "" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/ping.json b/public/locales/ru/modules/ping.json new file mode 100644 index 000000000..3ba3aefa0 --- /dev/null +++ b/public/locales/ru/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "states": { + "online": "", + "offline": "", + "loading": "" + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/search.json b/public/locales/ru/modules/search.json new file mode 100644 index 000000000..cc7772dde --- /dev/null +++ b/public/locales/ru/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Поиск", + "description": "" + }, + "input": { + "placeholder": "Искать в интернете..." + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/torrents-status.json b/public/locales/ru/modules/torrents-status.json new file mode 100644 index 000000000..86b10fa25 --- /dev/null +++ b/public/locales/ru/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "", + "description": "", + "settings": { + "hideComplete": { + "label": "" + } + } + }, + "card": { + "table": { + "header": { + "name": "", + "size": "", + "download": "", + "upload": "", + "estimatedTimeOfArrival": "", + "progress": "" + }, + "body": { + "nothingFound": "" + } + }, + "lineChart": { + "title": "", + "download": "", + "upload": "", + "timeSpan": "", + "totalDownload": "", + "totalUpload": "" + }, + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + } +} \ No newline at end of file diff --git a/public/locales/ru/modules/usenet.json b/public/locales/ru/modules/usenet.json new file mode 100644 index 000000000..b223d452d --- /dev/null +++ b/public/locales/ru/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "", + "text": "" + } + } + }, + "tabs": { + "queue": "", + "history": "" + }, + "info": { + "sizeLeft": "", + "paused": "" + }, + "queue": { + "header": { + "name": "", + "size": "", + "eta": "", + "progress": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + }, + "history": { + "header": { + "name": "", + "size": "", + "duration": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + } +} diff --git a/public/locales/ru/modules/weather.json b/public/locales/ru/modules/weather.json new file mode 100644 index 000000000..33382ec1e --- /dev/null +++ b/public/locales/ru/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Погода", + "description": "Узнайте текущую погоду в вашем регионе", + "settings": { + "displayInFahrenheit": { + "label": "Отображение в градусах Фаренгейта" + }, + "location": { + "label": "Местоположение" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Ясно", + "mainlyClear": "В основном ясно", + "fog": "Туман", + "drizzle": "Мелкий дождь", + "freezingDrizzle": "Изморозь", + "rain": "Дождь", + "freezingRain": "Ледяной дождь", + "snowFall": "Снегопад", + "snowGrains": "", + "rainShowers": "Ливневый дождь", + "snowShowers": "Пурга", + "thunderstorm": "Гроза", + "thunderstormWithHail": "Гроза с градом", + "unknown": "" + } + } +} \ No newline at end of file diff --git a/public/locales/ru/settings/common.json b/public/locales/ru/settings/common.json new file mode 100644 index 000000000..c06dd8457 --- /dev/null +++ b/public/locales/ru/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Настройки", + "tooltip": "Настройки", + "tabs": { + "common": "", + "customizations": "" + }, + "tips": { + "configTip": "" + }, + "credits": { + "madeWithLove": "" + } +} \ No newline at end of file diff --git a/public/locales/ru/settings/customization/app-width.json b/public/locales/ru/settings/customization/app-width.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ru/settings/customization/app-width.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ru/settings/customization/color-selector.json b/public/locales/ru/settings/customization/color-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ru/settings/customization/color-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ru/settings/customization/opacity-selector.json b/public/locales/ru/settings/customization/opacity-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ru/settings/customization/opacity-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ru/settings/customization/page-appearance.json b/public/locales/ru/settings/customization/page-appearance.json new file mode 100644 index 000000000..27ab9ce5c --- /dev/null +++ b/public/locales/ru/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "", + "placeholder": "" + }, + "logo": { + "label": "", + "placeholder": "" + }, + "favicon": { + "label": "", + "placeholder": "" + }, + "background": { + "label": "", + "placeholder": "" + }, + "customCSS": { + "label": "", + "placeholder": "" + }, + "buttons": { + "submit": "" + } +} diff --git a/public/locales/ru/settings/customization/shade-selector.json b/public/locales/ru/settings/customization/shade-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ru/settings/customization/shade-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ru/settings/general/color-schema.json b/public/locales/ru/settings/general/color-schema.json new file mode 100644 index 000000000..790c0121a --- /dev/null +++ b/public/locales/ru/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Переключиться на {{scheme}} режим" +} \ No newline at end of file diff --git a/public/locales/ru/settings/general/config-changer.json b/public/locales/ru/settings/general/config-changer.json new file mode 100644 index 000000000..6d130e67d --- /dev/null +++ b/public/locales/ru/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "" + }, + "modal": { + "title": "", + "form": { + "configName": { + "label": "", + "placeholder": "" + }, + "submitButton": "" + }, + "events": { + "configSaved": { + "title": "", + "message": "" + } + } + }, + "buttons": { + "download": "", + "delete": { + "text": "", + "notifications": { + "deleted": { + "title": "", + "message": "" + }, + "deleteFailed": { + "title": "", + "message": "" + } + } + }, + "saveCopy": "" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "", + "message": "" + }, + "loadedSuccessfully": { + "title": "" + } + }, + "accept": { + "text": "" + }, + "reject": { + "text": "" + } + } +} \ No newline at end of file diff --git a/public/locales/ru/settings/general/internationalization.json b/public/locales/ru/settings/general/internationalization.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ru/settings/general/internationalization.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ru/settings/general/module-enabler.json b/public/locales/ru/settings/general/module-enabler.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ru/settings/general/module-enabler.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ru/settings/general/search-engine.json b/public/locales/ru/settings/general/search-engine.json new file mode 100644 index 000000000..20a3b127a --- /dev/null +++ b/public/locales/ru/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "", + "tips": { + "generalTip": "", + "placeholderTip": "" + }, + "customEngine": { + "label": "", + "placeholder": "" + } +} \ No newline at end of file diff --git a/public/locales/ru/settings/general/theme-selector.json b/public/locales/ru/settings/general/theme-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ru/settings/general/theme-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/ru/settings/general/widget-positions.json b/public/locales/ru/settings/general/widget-positions.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/ru/settings/general/widget-positions.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/sl/common.json b/public/locales/sl/common.json new file mode 100644 index 000000000..85a2645b9 --- /dev/null +++ b/public/locales/sl/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Shrani" + }, + "tip": "Nasvet: ", + "time": { + "seconds": "", + "minutes": "", + "hours": "" + } +} diff --git a/public/locales/sl/layout/add-service-app-shelf.json b/public/locales/sl/layout/add-service-app-shelf.json new file mode 100644 index 000000000..08ae37039 --- /dev/null +++ b/public/locales/sl/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Dodaj storitev" + }, + "modal": { + "title": "Dodaj storitev", + "form": { + "validation": { + "invalidUrl": "Prosim vnesite veljaven spletni naslov", + "noStatusCodeSelected": "Izberite kodo statusa" + } + }, + "tabs": { + "options": { + "title": "Možnosti", + "form": { + "serviceName": { + "label": "Naziv storitve", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "URL ikone" + }, + "serviceUrl": { + "label": "URL storitve" + }, + "onClickUrl": { + "label": "URL ob kliku" + }, + "serviceType": { + "label": "Vrsta storitve", + "defaultValue": "Drugo", + "placeholder": "Izberite eno" + }, + "category": { + "label": "Kategorija", + "placeholder": "Izberite kategorijo ali ustvarite novo", + "nothingFound": "Brez rezultatov iskanja", + "createLabel": "+ Ustvarite {{query}}" + }, + "integrations": { + "apiKey": { + "label": "API ključ", + "placeholder": "Vaš ključ API", + "validation": { + "noKey": "Neveljaven ključ" + }, + "tip": { + "text": "Pridobite svoj API ključ", + "link": "tukaj." + } + }, + "qBittorrent": { + "username": { + "label": "Uporabniško ime", + "placeholder": "admin", + "validation": { + "invalidUsername": "Neveljavno uporabniško ime" + } + }, + "password": { + "label": "Geslo", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Neveljavno geslo" + } + } + }, + "deluge": { + "password": { + "label": "Geslo", + "placeholder": "geslo", + "validation": { + "invalidPassword": "Neveljavno geslo" + } + } + }, + "transmission": { + "username": { + "label": "Uporabniško ime", + "placeholder": "admin", + "validation": { + "invalidUsername": "Neveljavno uporabniško ime" + } + }, + "password": { + "label": "Geslo", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Neveljavno geslo" + } + } + } + } + } + }, + "advancedOptions": { + "title": "", + "form": { + "httpStatusCodes": { + "label": "HTTP statusne kode", + "placeholder": "Izberite veljavne kode statusa", + "clearButtonLabel": "Počisti izbiro", + "nothingFound": "Brez rezultatov iskanja" + }, + "openServiceInNewTab": { + "label": "Odprite storitev v novem zavihku" + }, + "buttons": { + "submit": { + "content": "Dodaj storitev" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/sl/layout/app-shelf-menu.json b/public/locales/sl/layout/app-shelf-menu.json new file mode 100644 index 000000000..d743e43b7 --- /dev/null +++ b/public/locales/sl/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Spreminjanje storitve", + "buttons": { + "save": "Shrani storitev" + } + }, + "menu": { + "labels": { + "settings": "Nastavitve", + "dangerZone": "Nevarno območje" + }, + "actions": { + "edit": "Uredi", + "delete": "Izbriši" + } + } +} \ No newline at end of file diff --git a/public/locales/sl/layout/app-shelf.json b/public/locales/sl/layout/app-shelf.json new file mode 100644 index 000000000..103dc7193 --- /dev/null +++ b/public/locales/sl/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Vaši prenosi" + }, + "others": { + "text": "Drugo" + } + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/calendar.json b/public/locales/sl/modules/calendar.json new file mode 100644 index 000000000..0f31e2d4c --- /dev/null +++ b/public/locales/sl/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Koledar", + "description": "Koledarski modul za prikaz prihajajočih izdaj. Deluje z API vmesnikom od Sonarr in Radarr.", + "settings": { + "sundayStart": { + "label": "Začni teden z nedeljo" + } + } + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/common-media-cards.json b/public/locales/sl/modules/common-media-cards.json new file mode 100644 index 000000000..064e60098 --- /dev/null +++ b/public/locales/sl/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Predvajaj", + "request": "Prošnja" + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/common.json b/public/locales/sl/modules/common.json new file mode 100644 index 000000000..93851f8a5 --- /dev/null +++ b/public/locales/sl/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Nastavitve" + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/dashdot.json b/public/locales/sl/modules/dashdot.json new file mode 100644 index 000000000..53fb1ee38 --- /dev/null +++ b/public/locales/sl/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Modul za prikazovanje grafov iz vašega delujočega programa Dash.", + "settings": { + "cpuMultiView": { + "label": "Pogled večjedrnih procesorjev" + }, + "storageMultiView": { + "label": "Pogled naprav za shranjevanje" + }, + "useCompactView": { + "label": "Uporaba kompaktnega pogleda" + }, + "graphs": { + "label": "Grafi" + }, + "url": { + "label": "Dash. URL" + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "", + "noInformation": "Ne morem pridobiti informacij iz Dash. - ali uporabljate najnovejšo različico?" + }, + "graphs": { + "storage": { + "title": "Shramba", + "label": "Shramba:" + }, + "network": { + "title": "Omrežje", + "label": "Omrežje:", + "metrics": { + "download": "Dol", + "upload": "Gor" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/date.json b/public/locales/sl/modules/date.json new file mode 100644 index 000000000..b26ac578f --- /dev/null +++ b/public/locales/sl/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Datum", + "description": "Prikaz trenutnega časa in datuma na kartici", + "settings": { + "display24HourFormat": { + "label": "Prikaz polnega časa (24-urni)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/dlspeed.json b/public/locales/sl/modules/dlspeed.json new file mode 100644 index 000000000..f39b1d828 --- /dev/null +++ b/public/locales/sl/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Hitrost prenosa", + "description": "Prikaži trenutno hitrost prenosa podprtih storitev" + }, + "card": { + "table": { + "header": { + "name": "Ime", + "size": "Velikost", + "download": "Dol", + "upload": "Gor", + "estimatedTimeOfArrival": "ETA", + "progress": "Napredek" + }, + "body": { + "nothingFound": "Ni najdenih torrentov" + } + }, + "lineChart": { + "title": "Trenutna hitrost prejemanja", + "download": "Prenašanje: {{download}}", + "upload": "Nalaganje: {{upload}}", + "timeSpan": "Pred sekundami: {{seconds}}", + "totalDownload": "Prenosi: {{download}}/s", + "totalUpload": "Nalaganj: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Ni bilo najdenih podprtih odjemalcev za prenos!", + "text": "Dodajte storitev prenosa za ogled trenutnih prenosov" + } + } + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/docker.json b/public/locales/sl/modules/docker.json new file mode 100644 index 000000000..cc610775b --- /dev/null +++ b/public/locales/sl/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Omogoča enostavno upravljanje torrentov" + }, + "search": { + "placeholder": "Iskanje po zabojniku ali imenu njegove slike" + }, + "table": { + "header": { + "name": "Ime", + "image": "Slika", + "ports": "Vrata", + "state": "Stanje" + }, + "body": { + "portCollapse": "{{ports}} več" + }, + "states": { + "running": "Se izvaja", + "created": "Ustvarjeno", + "stopped": "Zaustavljeno", + "unknown": "Neznano" + } + }, + "actionBar": { + "addService": { + "title": "Dodaj storitev", + "message": "Dodajanje storitev v Homarr" + }, + "restart": { + "title": "Ponovno zaženi" + }, + "stop": { + "title": "Ustavi" + }, + "start": { + "title": "Zaženi" + }, + "refreshData": { + "title": "" + }, + "remove": { + "title": "Odstrani" + }, + "addToHomarr": { + "title": "Dodaj v Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Zabojnik {{containerName}} {{action}}", + "message": "Vaš zabojnik je bil uspešno {{action}}" + } + }, + "errors": { + "integrationFailed": { + "title": "Integracija Dockerja ni uspela", + "message": "Ste pozabili namestiti Docker vtičnico?" + }, + "unknownError": { + "title": "Prišlo je do napake" + }, + "oneServiceAtATime": { + "title": "Naenkrat dodajte samo eno storitev!" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/overseerr.json b/public/locales/sl/modules/overseerr.json new file mode 100644 index 000000000..451d366ad --- /dev/null +++ b/public/locales/sl/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Omogoča iskanje in dodajanje medijev iz storitev Overseerr/Jellyseerr" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Vprašajte za {{title}}", + "cancel": "Prekliči", + "request": "Prošnja" + }, + "alerts": { + "automaticApproval": { + "title": "Z uporabo API ključa", + "text": "Ta zahteva bo samodejno odobrena" + } + } + }, + "seasonSelector": { + "caption": "Označite sezone, ki jih želite prenesti", + "table": { + "header": { + "season": "Sezona", + "numberOfEpisodes": "Število epizod" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/ping.json b/public/locales/sl/modules/ping.json new file mode 100644 index 000000000..9ef65dc92 --- /dev/null +++ b/public/locales/sl/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Ping", + "description": "Omogoča preverjanje, ali je storitev vzpostavljena ali vrača določeno HTTP kodo statusa." + }, + "states": { + "online": "Povezan {{response}}", + "offline": "Prekinjen {{response}}", + "loading": "Nalaganje..." + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/search.json b/public/locales/sl/modules/search.json new file mode 100644 index 000000000..efbb2c4a3 --- /dev/null +++ b/public/locales/sl/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Iskalna vrstica", + "description": "" + }, + "input": { + "placeholder": "Preišči splet..." + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/torrents-status.json b/public/locales/sl/modules/torrents-status.json new file mode 100644 index 000000000..aab63c6bc --- /dev/null +++ b/public/locales/sl/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Torrent", + "description": "Prikaži trenutno hitrost prenosa podprtih storitev", + "settings": { + "hideComplete": { + "label": "Skrijte dokončane torrente" + } + } + }, + "card": { + "table": { + "header": { + "name": "Ime", + "size": "Velikost", + "download": "Dol", + "upload": "Gor", + "estimatedTimeOfArrival": "ETA", + "progress": "Napredek" + }, + "body": { + "nothingFound": "Ni najdenih torrentov" + } + }, + "lineChart": { + "title": "Trenutna hitrost prejemanja", + "download": "Prenašanje: {{download}}", + "upload": "Nalaganje: {{upload}}", + "timeSpan": "Pred sekundami: {{seconds}}", + "totalDownload": "Prenosi: {{download}}/s", + "totalUpload": "Nalaganj: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Ni bilo najdenih podprtih odjemalcev za prenos!", + "text": "Dodajte storitev prenosa za ogled trenutnih prenosov" + } + } + } +} \ No newline at end of file diff --git a/public/locales/sl/modules/usenet.json b/public/locales/sl/modules/usenet.json new file mode 100644 index 000000000..ab94473ac --- /dev/null +++ b/public/locales/sl/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "Ni bilo najdenih podprtih odjemalcev za prenos!", + "text": "Dodajte storitev prenosa za ogled trenutnih prenosov" + } + } + }, + "tabs": { + "queue": "", + "history": "" + }, + "info": { + "sizeLeft": "", + "paused": "" + }, + "queue": { + "header": { + "name": "Ime", + "size": "Velikost", + "eta": "ETA", + "progress": "Napredek" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + }, + "history": { + "header": { + "name": "Ime", + "size": "Velikost", + "duration": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + } +} diff --git a/public/locales/sl/modules/weather.json b/public/locales/sl/modules/weather.json new file mode 100644 index 000000000..97baa3aa9 --- /dev/null +++ b/public/locales/sl/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Vreme", + "description": "Iskanje trenutnega vremena na vaši lokaciji", + "settings": { + "displayInFahrenheit": { + "label": "Prikaz v Fahrenheitu" + }, + "location": { + "label": "Lokacija vremena" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Počisti", + "mainlyClear": "Večinoma jasno", + "fog": "Megla", + "drizzle": "Pršec", + "freezingDrizzle": "Leden pršec", + "rain": "Dež", + "freezingRain": "Ledeni dež", + "snowFall": "Padec snega", + "snowGrains": "Snežna zrna", + "rainShowers": "Deževni nalivi", + "snowShowers": "Snežne plohe", + "thunderstorm": "Nevihta", + "thunderstormWithHail": "Nevihta s točo", + "unknown": "Neznano" + } + } +} \ No newline at end of file diff --git a/public/locales/sl/settings/common.json b/public/locales/sl/settings/common.json new file mode 100644 index 000000000..89a1a9afa --- /dev/null +++ b/public/locales/sl/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Nastavitve", + "tooltip": "Nastavitve", + "tabs": { + "common": "Skupno", + "customizations": "Prilagoditve" + }, + "tips": { + "configTip": "Konfiguracijsko datoteko naložite tako, da jo povlečete in spustite na stran!" + }, + "credits": { + "madeWithLove": "Narejeno s ❤️ od @" + } +} \ No newline at end of file diff --git a/public/locales/sl/settings/customization/app-width.json b/public/locales/sl/settings/customization/app-width.json new file mode 100644 index 000000000..372438bd7 --- /dev/null +++ b/public/locales/sl/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "Širina aplikacije" +} \ No newline at end of file diff --git a/public/locales/sl/settings/customization/color-selector.json b/public/locales/sl/settings/customization/color-selector.json new file mode 100644 index 000000000..305b7922b --- /dev/null +++ b/public/locales/sl/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} barva" +} \ No newline at end of file diff --git a/public/locales/sl/settings/customization/opacity-selector.json b/public/locales/sl/settings/customization/opacity-selector.json new file mode 100644 index 000000000..5e8b2a794 --- /dev/null +++ b/public/locales/sl/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Prosojnost aplikacije" +} \ No newline at end of file diff --git a/public/locales/sl/settings/customization/page-appearance.json b/public/locales/sl/settings/customization/page-appearance.json new file mode 100644 index 000000000..4fd0cb5ee --- /dev/null +++ b/public/locales/sl/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "Naslov strani", + "placeholder": "Homarr 🦞" + }, + "logo": { + "label": "Logotip", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "Favicon", + "placeholder": "/favicon.png" + }, + "background": { + "label": "Ozadje", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "", + "placeholder": "" + }, + "buttons": { + "submit": "Pošlji" + } +} diff --git a/public/locales/sl/settings/customization/shade-selector.json b/public/locales/sl/settings/customization/shade-selector.json new file mode 100644 index 000000000..83fe0d004 --- /dev/null +++ b/public/locales/sl/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Osenčeno" +} \ No newline at end of file diff --git a/public/locales/sl/settings/general/color-schema.json b/public/locales/sl/settings/general/color-schema.json new file mode 100644 index 000000000..ecf4f8ee0 --- /dev/null +++ b/public/locales/sl/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Preklop na {{scheme}} način" +} \ No newline at end of file diff --git a/public/locales/sl/settings/general/config-changer.json b/public/locales/sl/settings/general/config-changer.json new file mode 100644 index 000000000..835bfb160 --- /dev/null +++ b/public/locales/sl/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "Nalagalnik konfiguracije" + }, + "modal": { + "title": "Izberite ime vaše nove konfiguracije", + "form": { + "configName": { + "label": "Ime konfiguracije", + "placeholder": "Vaše novo ime konfiguracije" + }, + "submitButton": "Potrdi" + }, + "events": { + "configSaved": { + "title": "Konfiguracija je shranjena", + "message": "Konfiguracija shranjena kot {{configName}}" + } + } + }, + "buttons": { + "download": "Prenos konfiguracije", + "delete": { + "text": "Brisanje konfiguracije", + "notifications": { + "deleted": { + "title": "Konfiguracija izbrisana", + "message": "Konfiguracija izbrisana" + }, + "deleteFailed": { + "title": "Brisanje konfiguracije ni uspelo", + "message": "Brisanje konfiguracije ni uspelo" + } + } + }, + "saveCopy": "Shrani kopijo" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "Ni mogoče naložiti konfiguracije", + "message": "Ni bilo mogoče naložiti vaše konfiguracije. Nepravilna oblika JSON." + }, + "loadedSuccessfully": { + "title": "Konfiguracija {{configName}} je uspešno naložena" + } + }, + "accept": { + "text": "Če želite naložiti konfiguracijo, povlecite datoteke sem. Podpora samo za JSON." + }, + "reject": { + "text": "Ta oblika datoteke ni podprta. Prenesite samo JSON." + } + } +} \ No newline at end of file diff --git a/public/locales/sl/settings/general/internationalization.json b/public/locales/sl/settings/general/internationalization.json new file mode 100644 index 000000000..bdd9c7b6a --- /dev/null +++ b/public/locales/sl/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Jezik" +} \ No newline at end of file diff --git a/public/locales/sl/settings/general/module-enabler.json b/public/locales/sl/settings/general/module-enabler.json new file mode 100644 index 000000000..48543dc34 --- /dev/null +++ b/public/locales/sl/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "Omogočanje modulov" +} \ No newline at end of file diff --git a/public/locales/sl/settings/general/search-engine.json b/public/locales/sl/settings/general/search-engine.json new file mode 100644 index 000000000..6c559e498 --- /dev/null +++ b/public/locales/sl/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Iskalnik", + "tips": { + "generalTip": "Za iskanje v YouTubu ali Torrentu uporabite predponi !yt in !t pred poizvedbo.", + "placeholderTip": "%s lahko uporabite kot nadomestno ime za poizvedbo." + }, + "customEngine": { + "label": "URL poizvedbe", + "placeholder": "URL poizvedbe po meri" + } +} \ No newline at end of file diff --git a/public/locales/sl/settings/general/theme-selector.json b/public/locales/sl/settings/general/theme-selector.json new file mode 100644 index 000000000..ebbeb40b9 --- /dev/null +++ b/public/locales/sl/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Preklop na {{theme}} način" +} \ No newline at end of file diff --git a/public/locales/sl/settings/general/widget-positions.json b/public/locales/sl/settings/general/widget-positions.json new file mode 100644 index 000000000..d34ee5438 --- /dev/null +++ b/public/locales/sl/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Prikaži gradnike na levi strani" +} \ No newline at end of file diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json new file mode 100644 index 000000000..a1cc05a79 --- /dev/null +++ b/public/locales/sv/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Spara" + }, + "tip": "Tips: ", + "time": { + "seconds": "", + "minutes": "", + "hours": "" + } +} diff --git a/public/locales/sv/layout/add-service-app-shelf.json b/public/locales/sv/layout/add-service-app-shelf.json new file mode 100644 index 000000000..e60465e21 --- /dev/null +++ b/public/locales/sv/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Lägg till tjänst" + }, + "modal": { + "title": "Lägg till tjänst", + "form": { + "validation": { + "invalidUrl": "Ange en giltig URL", + "noStatusCodeSelected": "Välj en statuskod" + } + }, + "tabs": { + "options": { + "title": "Inställningar", + "form": { + "serviceName": { + "label": "Tjänstens namn", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "URL till ikon" + }, + "serviceUrl": { + "label": "URL för tjänst" + }, + "onClickUrl": { + "label": "URL vid klick" + }, + "serviceType": { + "label": "Typ av tjänst", + "defaultValue": "Övrigt", + "placeholder": "Välj en" + }, + "category": { + "label": "Kategori", + "placeholder": "Välj en kategori eller skapa en ny", + "nothingFound": "Ingenting hittades", + "createLabel": "+ Skapa {{query}}" + }, + "integrations": { + "apiKey": { + "label": "API-nyckel", + "placeholder": "Din API-nyckel", + "validation": { + "noKey": "Ogiltig nyckel" + }, + "tip": { + "text": "Hämta din API-nyckel", + "link": "här." + } + }, + "qBittorrent": { + "username": { + "label": "Användarnamn", + "placeholder": "admin", + "validation": { + "invalidUsername": "Ogiltigt användarnamn" + } + }, + "password": { + "label": "Lösenord", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Ogiltigt lösenord" + } + } + }, + "deluge": { + "password": { + "label": "Lösenord", + "placeholder": "lösenord", + "validation": { + "invalidPassword": "Ogiltigt lösenord" + } + } + }, + "transmission": { + "username": { + "label": "Användarnamn", + "placeholder": "admin", + "validation": { + "invalidUsername": "Ogiltigt användarnamn" + } + }, + "password": { + "label": "Lösenord", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Ogiltigt lösenord" + } + } + } + } + } + }, + "advancedOptions": { + "title": "", + "form": { + "httpStatusCodes": { + "label": "HTTP-statuskoder", + "placeholder": "Välj giltiga statuskoder", + "clearButtonLabel": "Rensa markering", + "nothingFound": "Ingenting hittades" + }, + "openServiceInNewTab": { + "label": "Öppna tjänsten i ny flik" + }, + "buttons": { + "submit": { + "content": "Lägg till tjänst" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/sv/layout/app-shelf-menu.json b/public/locales/sv/layout/app-shelf-menu.json new file mode 100644 index 000000000..356576c8e --- /dev/null +++ b/public/locales/sv/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Ändra en tjänst", + "buttons": { + "save": "Spara tjänst" + } + }, + "menu": { + "labels": { + "settings": "Inställningar", + "dangerZone": "Farozon" + }, + "actions": { + "edit": "Redigera", + "delete": "Radera" + } + } +} \ No newline at end of file diff --git a/public/locales/sv/layout/app-shelf.json b/public/locales/sv/layout/app-shelf.json new file mode 100644 index 000000000..614903ae9 --- /dev/null +++ b/public/locales/sv/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Dina nedladdningar" + }, + "others": { + "text": "Övriga" + } + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/calendar.json b/public/locales/sv/modules/calendar.json new file mode 100644 index 000000000..eadf477a3 --- /dev/null +++ b/public/locales/sv/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Kalender", + "description": "En kalendermodul för att visa kommande releaser. Den interagerar med Sonarr- och Radarr-API:erna.", + "settings": { + "sundayStart": { + "label": "Börja veckan på söndag" + } + } + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/common-media-cards.json b/public/locales/sv/modules/common-media-cards.json new file mode 100644 index 000000000..d7a2ff46e --- /dev/null +++ b/public/locales/sv/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Spela", + "request": "Förfrågan" + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/common.json b/public/locales/sv/modules/common.json new file mode 100644 index 000000000..99e8ff249 --- /dev/null +++ b/public/locales/sv/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Inställningar" + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/dashdot.json b/public/locales/sv/modules/dashdot.json new file mode 100644 index 000000000..008745445 --- /dev/null +++ b/public/locales/sv/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "En modul för att visa graferna från din Dash. instans.", + "settings": { + "cpuMultiView": { + "label": "Flerkärnig CPU vy" + }, + "storageMultiView": { + "label": "Visning av flera lagrings enheter" + }, + "useCompactView": { + "label": "Använd kompakt vy" + }, + "graphs": { + "label": "Grafer" + }, + "url": { + "label": "Dash. URL" + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "Ingen Dash-tjänst hittades. Lägg till en i din Homarr-instrumentpanel eller ange en Dash. URL i modulalternativen.", + "noInformation": "Kan inte få information från dash. - Kör du den senaste versionen?" + }, + "graphs": { + "storage": { + "title": "Lagring", + "label": "Lagring:" + }, + "network": { + "title": "Nätverk", + "label": "Nätverk:", + "metrics": { + "download": "Ned", + "upload": "Upp" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "RAM" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/date.json b/public/locales/sv/modules/date.json new file mode 100644 index 000000000..b99b6e859 --- /dev/null +++ b/public/locales/sv/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Datum", + "description": "Visa aktuell tid och datum på ett kort", + "settings": { + "display24HourFormat": { + "label": "Visa heltid (24-timmars)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/dlspeed.json b/public/locales/sv/modules/dlspeed.json new file mode 100644 index 000000000..d07d9d509 --- /dev/null +++ b/public/locales/sv/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Nedladdningshastighet ", + "description": "Visa den aktuella nedladdningshastigheten för tjänster som stöds" + }, + "card": { + "table": { + "header": { + "name": "Namn", + "size": "Storlek", + "download": "Ned", + "upload": "Upp", + "estimatedTimeOfArrival": "Beräknad sluttid", + "progress": "Förlopp" + }, + "body": { + "nothingFound": "Inga torrents hittades" + } + }, + "lineChart": { + "title": "Aktuell nedladdningshastighet", + "download": "Nedladdning: {{download}}", + "upload": "Uppladdning: {{upload}}", + "timeSpan": "{{seconds}} sekunder sedan", + "totalDownload": "Nedladdning: {{download}}/s", + "totalUpload": "Uppladdning: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Inga nedladdningsklienter som stöds hittades!", + "text": "Lägg till en nedladdningstjänst för att visa dina aktuella nedladdningar" + } + } + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/docker.json b/public/locales/sv/modules/docker.json new file mode 100644 index 000000000..c7c52d4ff --- /dev/null +++ b/public/locales/sv/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Låter dig enkelt hantera dina torrents" + }, + "search": { + "placeholder": "Sök efter container eller imagenamn" + }, + "table": { + "header": { + "name": "Namn", + "image": "Image", + "ports": "Portar", + "state": "Läge" + }, + "body": { + "portCollapse": "{{ports}} mer" + }, + "states": { + "running": "Körs", + "created": "Skapad", + "stopped": "Stoppad", + "unknown": "Okänd" + } + }, + "actionBar": { + "addService": { + "title": "Lägg till tjänst", + "message": "Lägg till tjänst till Homarr" + }, + "restart": { + "title": "Starta om" + }, + "stop": { + "title": "Stoppa" + }, + "start": { + "title": "Starta" + }, + "refreshData": { + "title": "" + }, + "remove": { + "title": "Ta bort" + }, + "addToHomarr": { + "title": "Lägg till i Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Container {{containerName}} {{action}}", + "message": "Din behållare lyckades {{action}}" + } + }, + "errors": { + "integrationFailed": { + "title": "Dockerintegration misslyckades", + "message": "Glömde du att montera docker socket?" + }, + "unknownError": { + "title": "Ett fel inträffade" + }, + "oneServiceAtATime": { + "title": "Lägg bara till en tjänst åt gången!" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/overseerr.json b/public/locales/sv/modules/overseerr.json new file mode 100644 index 000000000..a105b8809 --- /dev/null +++ b/public/locales/sv/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Låter dig söka och lägga till media från Overseerr/Jellyseerr" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Be om {{title}}", + "cancel": "Avbryt", + "request": "Förfrågan" + }, + "alerts": { + "automaticApproval": { + "title": "Användning av API-nyckel", + "text": "Denna begäran kommer att godkännas automatiskt" + } + } + }, + "seasonSelector": { + "caption": "Bocka i de säsonger som du vill ladda ner", + "table": { + "header": { + "season": "Säsong", + "numberOfEpisodes": "Antal avsnitt" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/ping.json b/public/locales/sv/modules/ping.json new file mode 100644 index 000000000..871bc0f5b --- /dev/null +++ b/public/locales/sv/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Ping", + "description": "Låter dig kontrollera om tjänsten är uppe eller returnerar en specifik HTTP-statuskod." + }, + "states": { + "online": "Online {{response}}", + "offline": "Offline {{response}}", + "loading": "Laddar..." + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/search.json b/public/locales/sv/modules/search.json new file mode 100644 index 000000000..a22daed17 --- /dev/null +++ b/public/locales/sv/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Sökfält", + "description": "Sökfältet för att söka på webben, Youtube, Torrents eller Overseerr" + }, + "input": { + "placeholder": "Sök på webben..." + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/torrents-status.json b/public/locales/sv/modules/torrents-status.json new file mode 100644 index 000000000..619537ec0 --- /dev/null +++ b/public/locales/sv/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Torrent", + "description": "Visa den aktuella nedladdningshastigheten för tjänster som stöds", + "settings": { + "hideComplete": { + "label": "Dölj slutförda torrents" + } + } + }, + "card": { + "table": { + "header": { + "name": "Namn", + "size": "Storlek", + "download": "Ned", + "upload": "Upp", + "estimatedTimeOfArrival": "Beräknad sluttid", + "progress": "Förlopp" + }, + "body": { + "nothingFound": "Inga torrents hittades" + } + }, + "lineChart": { + "title": "Aktuell nedladdningshastighet", + "download": "Nedladdning: {{download}}", + "upload": "Uppladdning: {{upload}}", + "timeSpan": "{{seconds}} sekunder sedan", + "totalDownload": "Nedladdning: {{download}}/s", + "totalUpload": "Uppladdning: {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "Inga nedladdningsklienter som stöds hittades!", + "text": "Lägg till en nedladdningstjänst för att visa dina aktuella nedladdningar" + } + } + } +} \ No newline at end of file diff --git a/public/locales/sv/modules/usenet.json b/public/locales/sv/modules/usenet.json new file mode 100644 index 000000000..78d45d61d --- /dev/null +++ b/public/locales/sv/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "", + "description": "" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "Inga nedladdningsklienter som stöds hittades!", + "text": "Lägg till en nedladdningstjänst för att visa dina aktuella nedladdningar" + } + } + }, + "tabs": { + "queue": "", + "history": "" + }, + "info": { + "sizeLeft": "", + "paused": "" + }, + "queue": { + "header": { + "name": "Namn", + "size": "Storlek", + "eta": "Beräknad sluttid", + "progress": "Förlopp" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + }, + "history": { + "header": { + "name": "Namn", + "size": "Storlek", + "duration": "" + }, + "empty": "", + "error": { + "title": "", + "message": "" + }, + "paused": "" + } +} diff --git a/public/locales/sv/modules/weather.json b/public/locales/sv/modules/weather.json new file mode 100644 index 000000000..98b053df8 --- /dev/null +++ b/public/locales/sv/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Väder", + "description": "Se det aktuella vädret på din plats", + "settings": { + "displayInFahrenheit": { + "label": "Visa i Fahrenheit" + }, + "location": { + "label": "" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "", + "mainlyClear": "", + "fog": "", + "drizzle": "", + "freezingDrizzle": "", + "rain": "", + "freezingRain": "", + "snowFall": "", + "snowGrains": "", + "rainShowers": "", + "snowShowers": "", + "thunderstorm": "", + "thunderstormWithHail": "", + "unknown": "Okänd" + } + } +} \ No newline at end of file diff --git a/public/locales/sv/settings/common.json b/public/locales/sv/settings/common.json new file mode 100644 index 000000000..b187bb8a5 --- /dev/null +++ b/public/locales/sv/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Inställningar", + "tooltip": "Inställningar", + "tabs": { + "common": "", + "customizations": "" + }, + "tips": { + "configTip": "" + }, + "credits": { + "madeWithLove": "" + } +} \ No newline at end of file diff --git a/public/locales/sv/settings/customization/app-width.json b/public/locales/sv/settings/customization/app-width.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/sv/settings/customization/app-width.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/sv/settings/customization/color-selector.json b/public/locales/sv/settings/customization/color-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/sv/settings/customization/color-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/sv/settings/customization/opacity-selector.json b/public/locales/sv/settings/customization/opacity-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/sv/settings/customization/opacity-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/sv/settings/customization/page-appearance.json b/public/locales/sv/settings/customization/page-appearance.json new file mode 100644 index 000000000..27ab9ce5c --- /dev/null +++ b/public/locales/sv/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "", + "placeholder": "" + }, + "logo": { + "label": "", + "placeholder": "" + }, + "favicon": { + "label": "", + "placeholder": "" + }, + "background": { + "label": "", + "placeholder": "" + }, + "customCSS": { + "label": "", + "placeholder": "" + }, + "buttons": { + "submit": "" + } +} diff --git a/public/locales/sv/settings/customization/shade-selector.json b/public/locales/sv/settings/customization/shade-selector.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/sv/settings/customization/shade-selector.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/sv/settings/general/color-schema.json b/public/locales/sv/settings/general/color-schema.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/public/locales/sv/settings/general/color-schema.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/public/locales/sv/settings/general/config-changer.json b/public/locales/sv/settings/general/config-changer.json new file mode 100644 index 000000000..c6edaeb71 --- /dev/null +++ b/public/locales/sv/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "" + }, + "modal": { + "title": "", + "form": { + "configName": { + "label": "", + "placeholder": "" + }, + "submitButton": "" + }, + "events": { + "configSaved": { + "title": "", + "message": "" + } + } + }, + "buttons": { + "download": "", + "delete": { + "text": "", + "notifications": { + "deleted": { + "title": "", + "message": "" + }, + "deleteFailed": { + "title": "", + "message": "" + } + } + }, + "saveCopy": "" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "", + "message": "" + }, + "loadedSuccessfully": { + "title": "" + } + }, + "accept": { + "text": "" + }, + "reject": { + "text": "Det här filformatet stöds inte. Ladda endast upp JSON." + } + } +} \ No newline at end of file diff --git a/public/locales/sv/settings/general/internationalization.json b/public/locales/sv/settings/general/internationalization.json new file mode 100644 index 000000000..0a479d3fe --- /dev/null +++ b/public/locales/sv/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Språk" +} \ No newline at end of file diff --git a/public/locales/sv/settings/general/module-enabler.json b/public/locales/sv/settings/general/module-enabler.json new file mode 100644 index 000000000..d74a481fc --- /dev/null +++ b/public/locales/sv/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "Modulaktiverare" +} \ No newline at end of file diff --git a/public/locales/sv/settings/general/search-engine.json b/public/locales/sv/settings/general/search-engine.json new file mode 100644 index 000000000..96c16a3ba --- /dev/null +++ b/public/locales/sv/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Sökmotor", + "tips": { + "generalTip": "Använd prefixen !yt och !t framför din sökning för att söka på YouTube eller efter en Torrent.", + "placeholderTip": "%s kan användas som platshållare för förfrågningen." + }, + "customEngine": { + "label": "URL för förfrågan", + "placeholder": "Anpassad sök-URL" + } +} \ No newline at end of file diff --git a/public/locales/sv/settings/general/theme-selector.json b/public/locales/sv/settings/general/theme-selector.json new file mode 100644 index 000000000..5d9ad5a96 --- /dev/null +++ b/public/locales/sv/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Växla till {{theme}} läge" +} \ No newline at end of file diff --git a/public/locales/sv/settings/general/widget-positions.json b/public/locales/sv/settings/general/widget-positions.json new file mode 100644 index 000000000..02ed34b24 --- /dev/null +++ b/public/locales/sv/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Placera widgetar till vänster" +} \ No newline at end of file diff --git a/public/locales/uk/common.json b/public/locales/uk/common.json new file mode 100644 index 000000000..8b53a5c55 --- /dev/null +++ b/public/locales/uk/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "Зберегти" + }, + "tip": "Підказка: ", + "time": { + "seconds": "секунд", + "minutes": "хвилин", + "hours": "годин" + } +} diff --git a/public/locales/uk/layout/add-service-app-shelf.json b/public/locales/uk/layout/add-service-app-shelf.json new file mode 100644 index 000000000..1692290eb --- /dev/null +++ b/public/locales/uk/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "Додати сервіс" + }, + "modal": { + "title": "Додати сервіс", + "form": { + "validation": { + "invalidUrl": "Будь ласка, введіть дійсну URL-адресу", + "noStatusCodeSelected": "Оберіть статус-код" + } + }, + "tabs": { + "options": { + "title": "Параметри", + "form": { + "serviceName": { + "label": "Назва сервісу", + "placeholder": "Plex" + }, + "iconUrl": { + "label": "URL іконки" + }, + "serviceUrl": { + "label": "URL сервісу" + }, + "onClickUrl": { + "label": "URL при натисканні" + }, + "serviceType": { + "label": "Тип сервісу", + "defaultValue": "Інше", + "placeholder": "Виберіть" + }, + "category": { + "label": "Категорія", + "placeholder": "Оберіть категорію або створіть нову", + "nothingFound": "Нічого не знайдено", + "createLabel": "+ Створити {{query}}" + }, + "integrations": { + "apiKey": { + "label": "API ключ", + "placeholder": "Ваш API ключ", + "validation": { + "noKey": "Невірний ключ" + }, + "tip": { + "text": "Отримати свій ключ API", + "link": "тут." + } + }, + "qBittorrent": { + "username": { + "label": "Логін", + "placeholder": "admin", + "validation": { + "invalidUsername": "Невірний логін" + } + }, + "password": { + "label": "Пароль", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Невірний пароль" + } + } + }, + "deluge": { + "password": { + "label": "Пароль", + "placeholder": "пароль", + "validation": { + "invalidPassword": "Невірний пароль" + } + } + }, + "transmission": { + "username": { + "label": "Логін", + "placeholder": "admin", + "validation": { + "invalidUsername": "Невірний логін" + } + }, + "password": { + "label": "Пароль", + "placeholder": "adminadmin", + "validation": { + "invalidPassword": "Невірний пароль" + } + } + } + } + } + }, + "advancedOptions": { + "title": "Додаткові параметри", + "form": { + "httpStatusCodes": { + "label": "Коди статусу HTTP", + "placeholder": "Виберіть правильні коди статусу", + "clearButtonLabel": "Очистити вибране", + "nothingFound": "Нічого не знайдено" + }, + "openServiceInNewTab": { + "label": "Відкрити сервіс у новій вкладці" + }, + "buttons": { + "submit": { + "content": "Додати сервіс" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/uk/layout/app-shelf-menu.json b/public/locales/uk/layout/app-shelf-menu.json new file mode 100644 index 000000000..4eeba2ce5 --- /dev/null +++ b/public/locales/uk/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "Редагувати сервіс", + "buttons": { + "save": "Зберегти сервіс" + } + }, + "menu": { + "labels": { + "settings": "Налаштування", + "dangerZone": "Небезпечна зона" + }, + "actions": { + "edit": "Редагувати", + "delete": "Видалити" + } + } +} \ No newline at end of file diff --git a/public/locales/uk/layout/app-shelf.json b/public/locales/uk/layout/app-shelf.json new file mode 100644 index 000000000..7b12fcedb --- /dev/null +++ b/public/locales/uk/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "Ваші завантаження" + }, + "others": { + "text": "Інше" + } + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/calendar.json b/public/locales/uk/modules/calendar.json new file mode 100644 index 000000000..518d396e0 --- /dev/null +++ b/public/locales/uk/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Календар", + "description": "Модуль календаря для відображення майбутніх релізів. Він взаємодіє з API Sonarr і Radarr.", + "settings": { + "sundayStart": { + "label": "Почати тиждень у Неділю" + } + } + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/common-media-cards.json b/public/locales/uk/modules/common-media-cards.json new file mode 100644 index 000000000..33eb3179c --- /dev/null +++ b/public/locales/uk/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "Грати", + "request": "Запит" + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/common.json b/public/locales/uk/modules/common.json new file mode 100644 index 000000000..f48fb9d7c --- /dev/null +++ b/public/locales/uk/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "Налаштування" + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/dashdot.json b/public/locales/uk/modules/dashdot.json new file mode 100644 index 000000000..0524c3a17 --- /dev/null +++ b/public/locales/uk/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "Dash.", + "description": "Модуль для відображення графіків від вашого Dash. сервісу.", + "settings": { + "cpuMultiView": { + "label": "Процесор по ядрах" + }, + "storageMultiView": { + "label": "Сховище по дисках" + }, + "useCompactView": { + "label": "Компактний вигляд" + }, + "graphs": { + "label": "Графіки" + }, + "url": { + "label": "Dash. URL" + } + } + }, + "card": { + "title": "Dash.", + "errors": { + "noService": "Dash. сервіс не знайдено. Будь ласка, додайте його до головної панелі чи встановіть Dash. URL в налаштуваннях модулю", + "noInformation": "Не вдалося отримати інформацію з Dash. - чи ви використовуєте останню версію?" + }, + "graphs": { + "storage": { + "title": "Диск", + "label": "Диск:" + }, + "network": { + "title": "Мережа", + "label": "Мережа:", + "metrics": { + "download": "Завантаження", + "upload": "Віддача" + } + }, + "cpu": { + "title": "Процесор" + }, + "memory": { + "title": "Оперативна пам'ять" + }, + "gpu": { + "title": "Графічний процесор" + } + } + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/date.json b/public/locales/uk/modules/date.json new file mode 100644 index 000000000..37a6f00d8 --- /dev/null +++ b/public/locales/uk/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Дата", + "description": "Показати поточний час і дату в картці", + "settings": { + "display24HourFormat": { + "label": "Показувати повний час (24 години)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/dlspeed.json b/public/locales/uk/modules/dlspeed.json new file mode 100644 index 000000000..1d898c614 --- /dev/null +++ b/public/locales/uk/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "Швидкість завантаження", + "description": "Показувати поточну швидкість завантаження для сервісів, які підтримуються" + }, + "card": { + "table": { + "header": { + "name": "Ім’я", + "size": "Розмір", + "download": "Завантаження", + "upload": "Віддача", + "estimatedTimeOfArrival": "Залишилося", + "progress": "Прогрес" + }, + "body": { + "nothingFound": "Не знайдено торентів" + } + }, + "lineChart": { + "title": "Швидкість завантаження", + "download": "Завантаження: {{download}}", + "upload": "Віддача: {{upload}}", + "timeSpan": "{{seconds}} секунд тому", + "totalDownload": "Завантаження: {{download}}/сек", + "totalUpload": "Віддача: {{upload}}/сек" + }, + "errors": { + "noDownloadClients": { + "title": "Не знайдено клієнтів для завантаження що підтримуються!", + "text": "Додайте сервіс завантаження, щоб переглянути поточні завантаження" + } + } + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/docker.json b/public/locales/uk/modules/docker.json new file mode 100644 index 000000000..a479c2dae --- /dev/null +++ b/public/locales/uk/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "Docker", + "description": "Дозволяє легко керувати торентами" + }, + "search": { + "placeholder": "Пошук по назві контейнера або образу" + }, + "table": { + "header": { + "name": "Ім’я", + "image": "Образ", + "ports": "Порти", + "state": "Стан" + }, + "body": { + "portCollapse": "{{ports}} більше" + }, + "states": { + "running": "Запущено", + "created": "Створено", + "stopped": "Зупинено", + "unknown": "Невідомо" + } + }, + "actionBar": { + "addService": { + "title": "Додати сервіс", + "message": "Додати сервіс до Homarr" + }, + "restart": { + "title": "Перезапустити" + }, + "stop": { + "title": "Зупинити" + }, + "start": { + "title": "Пуск" + }, + "refreshData": { + "title": "Оновити дані" + }, + "remove": { + "title": "Видалити" + }, + "addToHomarr": { + "title": "Додати до Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "Контейнер {{containerName}} виконав дію {{action}}", + "message": "Ваш контейнер успішно виконав - {{action}}" + } + }, + "errors": { + "integrationFailed": { + "title": "Помилка інтеграції з Docker", + "message": "Ви забули під'єднати docker сокет?" + }, + "unknownError": { + "title": "Виникла помилка" + }, + "oneServiceAtATime": { + "title": "Будь ласка, лише один сервіс за один раз!" + } + }, + "actionIcon": { + "tooltip": "Docker" + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/overseerr.json b/public/locales/uk/modules/overseerr.json new file mode 100644 index 000000000..124c1e0f3 --- /dev/null +++ b/public/locales/uk/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "Overseerr", + "description": "Дозволяє вам шукати і додавати медіа з Overseerr/Jellyseerr" + }, + "popup": { + "item": { + "buttons": { + "askFor": "Попросити {{title}}", + "cancel": "Скасувати", + "request": "Запит" + }, + "alerts": { + "automaticApproval": { + "title": "Використовуючи API ключ", + "text": "Цей запит буде автоматично підтверджено" + } + } + }, + "seasonSelector": { + "caption": "Позначте сезони, які ви хочете завантажити", + "table": { + "header": { + "season": "Сезон", + "numberOfEpisodes": "Кількість серій" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/ping.json b/public/locales/uk/modules/ping.json new file mode 100644 index 000000000..878ff1c3c --- /dev/null +++ b/public/locales/uk/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "Пінг", + "description": "Дозволяє перевірити, чи працює сервіс або повертає певний код статусу HTTP." + }, + "states": { + "online": "Онлайн {{response}}", + "offline": "Оффлайн {{response}}", + "loading": "Завантаження..." + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/search.json b/public/locales/uk/modules/search.json new file mode 100644 index 000000000..ce2b12775 --- /dev/null +++ b/public/locales/uk/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "Панель пошуку", + "description": "Панель для пошуку в Інтернеті, Youtube, Torrents або Overseerr" + }, + "input": { + "placeholder": "Пошук в Інтернеті..." + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/torrents-status.json b/public/locales/uk/modules/torrents-status.json new file mode 100644 index 000000000..074976700 --- /dev/null +++ b/public/locales/uk/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "Торент", + "description": "Показувати поточну швидкість завантаження для сервісів, які підтримуються", + "settings": { + "hideComplete": { + "label": "Приховувати завершені" + } + } + }, + "card": { + "table": { + "header": { + "name": "Ім’я", + "size": "Розмір", + "download": "Завантаження", + "upload": "Віддача", + "estimatedTimeOfArrival": "Залишилося", + "progress": "Прогрес" + }, + "body": { + "nothingFound": "Не знайдено торентів" + } + }, + "lineChart": { + "title": "Швидкість завантаження", + "download": "Завантаження: {{download}}", + "upload": "Віддача: {{upload}}", + "timeSpan": "{{seconds}} секунд тому", + "totalDownload": "Завантаження: {{download}}/сек", + "totalUpload": "Віддача: {{upload}}/сек" + }, + "errors": { + "noDownloadClients": { + "title": "Не знайдено клієнтів для завантаження що підтримуються!", + "text": "Додайте сервіс завантаження, щоб переглянути поточні завантаження" + } + } + } +} \ No newline at end of file diff --git a/public/locales/uk/modules/usenet.json b/public/locales/uk/modules/usenet.json new file mode 100644 index 000000000..6bd901f0c --- /dev/null +++ b/public/locales/uk/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "Sabnzbd", + "description": "Дозволяє вам бачити вашу чергу в Sabnzbd і історію, призупинення і відновлення завантажень" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "Не знайдено клієнтів для завантаження що підтримуються!", + "text": "Додайте сервіс завантаження, щоб переглянути поточні завантаження" + } + } + }, + "tabs": { + "queue": "Черга", + "history": "Історія" + }, + "info": { + "sizeLeft": "Залишився розмір", + "paused": "Призупинено" + }, + "queue": { + "header": { + "name": "Ім’я", + "size": "Розмір", + "eta": "Залишилося", + "progress": "Прогрес" + }, + "empty": "Пусто", + "error": { + "title": "Помилка", + "message": "Сталася помилка" + }, + "paused": "Призупинено" + }, + "history": { + "header": { + "name": "Ім’я", + "size": "Розмір", + "duration": "Тривалість" + }, + "empty": "Пусто", + "error": { + "title": "Помилка", + "message": "Помилка завантаження історії" + }, + "paused": "Призупинено" + } +} diff --git a/public/locales/uk/modules/weather.json b/public/locales/uk/modules/weather.json new file mode 100644 index 000000000..c267f65e0 --- /dev/null +++ b/public/locales/uk/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "Погода", + "description": "Шукати поточну погоду у вашому місцеперебуванні", + "settings": { + "displayInFahrenheit": { + "label": "Використовувати Фаренгейт" + }, + "location": { + "label": "Погодна локація" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "Ясно", + "mainlyClear": "Здебільшого ясно", + "fog": "Туман", + "drizzle": "Дрібний дощ", + "freezingDrizzle": "Дрібний дощ, можливе утворення ожеледиці", + "rain": "Дощ", + "freezingRain": "Крижаний дощ", + "snowFall": "Снігопад", + "snowGrains": "Сніжинки", + "rainShowers": "Злива", + "snowShowers": "Заметіль", + "thunderstorm": "Гроза", + "thunderstormWithHail": "Гроза з градом", + "unknown": "Невідомо" + } + } +} \ No newline at end of file diff --git a/public/locales/uk/settings/common.json b/public/locales/uk/settings/common.json new file mode 100644 index 000000000..659efab4f --- /dev/null +++ b/public/locales/uk/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "Налаштування", + "tooltip": "Налаштування", + "tabs": { + "common": "Звичайний", + "customizations": "Персоналізація" + }, + "tips": { + "configTip": "Завантажте файл конфігурації, перетягуючи його на сторінку!" + }, + "credits": { + "madeWithLove": "Зроблено з ❤️ by @" + } +} \ No newline at end of file diff --git a/public/locales/uk/settings/customization/app-width.json b/public/locales/uk/settings/customization/app-width.json new file mode 100644 index 000000000..898ae08ba --- /dev/null +++ b/public/locales/uk/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "Ширина додатку" +} \ No newline at end of file diff --git a/public/locales/uk/settings/customization/color-selector.json b/public/locales/uk/settings/customization/color-selector.json new file mode 100644 index 000000000..8f79746bf --- /dev/null +++ b/public/locales/uk/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} колір" +} \ No newline at end of file diff --git a/public/locales/uk/settings/customization/opacity-selector.json b/public/locales/uk/settings/customization/opacity-selector.json new file mode 100644 index 000000000..29a8a5631 --- /dev/null +++ b/public/locales/uk/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Непрозорість" +} \ No newline at end of file diff --git a/public/locales/uk/settings/customization/page-appearance.json b/public/locales/uk/settings/customization/page-appearance.json new file mode 100644 index 000000000..7f305b92b --- /dev/null +++ b/public/locales/uk/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "Заголовок сторінки", + "placeholder": "Homarr 🦞" + }, + "logo": { + "label": "Логотип", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "Іконка", + "placeholder": "/favicon.png" + }, + "background": { + "label": "Фон", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "Власний CSS", + "placeholder": "Власний CSS буде оброблятися в останню чергу" + }, + "buttons": { + "submit": "Надіслати" + } +} diff --git a/public/locales/uk/settings/customization/shade-selector.json b/public/locales/uk/settings/customization/shade-selector.json new file mode 100644 index 000000000..7a3d49d27 --- /dev/null +++ b/public/locales/uk/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Тінь" +} \ No newline at end of file diff --git a/public/locales/uk/settings/general/color-schema.json b/public/locales/uk/settings/general/color-schema.json new file mode 100644 index 000000000..9a3227dae --- /dev/null +++ b/public/locales/uk/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "Перейти в {{scheme}} режим" +} \ No newline at end of file diff --git a/public/locales/uk/settings/general/config-changer.json b/public/locales/uk/settings/general/config-changer.json new file mode 100644 index 000000000..45ddbea7a --- /dev/null +++ b/public/locales/uk/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "Завантаження налаштувань" + }, + "modal": { + "title": "Виберіть ім'я для нової конфігурації", + "form": { + "configName": { + "label": "Ім'я конфігурації", + "placeholder": "Нове ім'я вашої конфігурації" + }, + "submitButton": "Підтвердити" + }, + "events": { + "configSaved": { + "title": "Конфігурацію збережено", + "message": "Конфігурація збережена як {{configName}}" + } + } + }, + "buttons": { + "download": "Скачати конфігурацію", + "delete": { + "text": "Видалити конфігурацію", + "notifications": { + "deleted": { + "title": "Конфігурацію видалено", + "message": "Конфігурацію видалено" + }, + "deleteFailed": { + "title": "Помилка видалення конфігурації", + "message": "Помилка видалення конфігурації" + } + } + }, + "saveCopy": "Зберегти копію" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "Не вдалось завантажити конфігурацію", + "message": "Не вдалося завантажити вашу конфігурацію. Недійсний формат JSON." + }, + "loadedSuccessfully": { + "title": "Конфігурацію {{configName}} завантажено успішно" + } + }, + "accept": { + "text": "Перетягніть файли сюди для завантаження конфігурації. Підтримка лише для JSON." + }, + "reject": { + "text": "Цей формат файлу не підтримується. Будь ласка, лише завантажте JSON." + } + } +} \ No newline at end of file diff --git a/public/locales/uk/settings/general/internationalization.json b/public/locales/uk/settings/general/internationalization.json new file mode 100644 index 000000000..3c69ecf6c --- /dev/null +++ b/public/locales/uk/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "Мова/Language" +} \ No newline at end of file diff --git a/public/locales/uk/settings/general/module-enabler.json b/public/locales/uk/settings/general/module-enabler.json new file mode 100644 index 000000000..a6415343f --- /dev/null +++ b/public/locales/uk/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "Використовувати модулі" +} \ No newline at end of file diff --git a/public/locales/uk/settings/general/search-engine.json b/public/locales/uk/settings/general/search-engine.json new file mode 100644 index 000000000..2b96eb35a --- /dev/null +++ b/public/locales/uk/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "Пошукова система", + "tips": { + "generalTip": "Використовуйте префікси !yt і !t перед вашим запитом на YouTube або Торрент відповідно.", + "placeholderTip": "%s можна використовувати як заповнювач для запиту." + }, + "customEngine": { + "label": "URL-адреса запиту", + "placeholder": "Власна URL-адреса запиту" + } +} \ No newline at end of file diff --git a/public/locales/uk/settings/general/theme-selector.json b/public/locales/uk/settings/general/theme-selector.json new file mode 100644 index 000000000..d5a4eecfb --- /dev/null +++ b/public/locales/uk/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "Перейти в {{theme}} режим" +} \ No newline at end of file diff --git a/public/locales/uk/settings/general/widget-positions.json b/public/locales/uk/settings/general/widget-positions.json new file mode 100644 index 000000000..71c4f67e7 --- /dev/null +++ b/public/locales/uk/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "Показувати віджети зліва" +} \ No newline at end of file diff --git a/public/locales/zh/common.json b/public/locales/zh/common.json new file mode 100644 index 000000000..01dfbc82b --- /dev/null +++ b/public/locales/zh/common.json @@ -0,0 +1,11 @@ +{ + "actions": { + "save": "拯救" + }, + "tip": "提示。 ", + "time": { + "seconds": "秒", + "minutes": "分钟", + "hours": "小时" + } +} diff --git a/public/locales/zh/layout/add-service-app-shelf.json b/public/locales/zh/layout/add-service-app-shelf.json new file mode 100644 index 000000000..3257803e0 --- /dev/null +++ b/public/locales/zh/layout/add-service-app-shelf.json @@ -0,0 +1,118 @@ +{ + "actionIcon": { + "tooltip": "增加一项服务" + }, + "modal": { + "title": "添加服务", + "form": { + "validation": { + "invalidUrl": "请输入一个有效的URL", + "noStatusCodeSelected": "请选择一个状态代码" + } + }, + "tabs": { + "options": { + "title": "选项", + "form": { + "serviceName": { + "label": "服务名称", + "placeholder": "丛书" + }, + "iconUrl": { + "label": "图标URL" + }, + "serviceUrl": { + "label": "服务网址" + }, + "onClickUrl": { + "label": "点击URL时" + }, + "serviceType": { + "label": "服务类型", + "defaultValue": "其他", + "placeholder": "挑选一个" + }, + "category": { + "label": "类别", + "placeholder": "选择一个类别或创建一个新类别", + "nothingFound": "没有发现", + "createLabel": "+ 创建 {{query}}" + }, + "integrations": { + "apiKey": { + "label": "API密钥", + "placeholder": "你的API密钥", + "validation": { + "noKey": "无效钥匙" + }, + "tip": { + "text": "获取你的API密钥", + "link": "这里。" + } + }, + "qBittorrent": { + "username": { + "label": "帐号", + "placeholder": "管理员", + "validation": { + "invalidUsername": "无效的用户名" + } + }, + "password": { + "label": "密码", + "placeholder": "管理员", + "validation": { + "invalidPassword": "无效密码" + } + } + }, + "deluge": { + "password": { + "label": "密码", + "placeholder": "密码", + "validation": { + "invalidPassword": "无效密码" + } + } + }, + "transmission": { + "username": { + "label": "帐号", + "placeholder": "管理员", + "validation": { + "invalidUsername": "无效的用户名" + } + }, + "password": { + "label": "密码", + "placeholder": "管理员", + "validation": { + "invalidPassword": "无效密码" + } + } + } + } + } + }, + "advancedOptions": { + "title": "高级选项", + "form": { + "httpStatusCodes": { + "label": "HTTP状态代码", + "placeholder": "选择有效的状态代码", + "clearButtonLabel": "清除选择", + "nothingFound": "没有发现" + }, + "openServiceInNewTab": { + "label": "在新标签中打开服务" + }, + "buttons": { + "submit": { + "content": "添加服务" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/zh/layout/app-shelf-menu.json b/public/locales/zh/layout/app-shelf-menu.json new file mode 100644 index 000000000..0123f0c25 --- /dev/null +++ b/public/locales/zh/layout/app-shelf-menu.json @@ -0,0 +1,18 @@ +{ + "modal": { + "title": "修改一个服务", + "buttons": { + "save": "保存服务" + } + }, + "menu": { + "labels": { + "settings": "设置", + "dangerZone": "危险区" + }, + "actions": { + "edit": "编辑", + "delete": "删除" + } + } +} \ No newline at end of file diff --git a/public/locales/zh/layout/app-shelf.json b/public/locales/zh/layout/app-shelf.json new file mode 100644 index 000000000..c307182e0 --- /dev/null +++ b/public/locales/zh/layout/app-shelf.json @@ -0,0 +1,10 @@ +{ + "accordions": { + "downloads": { + "text": "您的下载" + }, + "others": { + "text": "其他" + } + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/calendar.json b/public/locales/zh/modules/calendar.json new file mode 100644 index 000000000..66da478b1 --- /dev/null +++ b/public/locales/zh/modules/calendar.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "日历", + "description": "一个用于显示即将发布的日历模块。它与Sonarr和Radarr API进行交互。", + "settings": { + "sundayStart": { + "label": "在周日开始一周的工作" + } + } + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/common-media-cards.json b/public/locales/zh/modules/common-media-cards.json new file mode 100644 index 000000000..80b10ec57 --- /dev/null +++ b/public/locales/zh/modules/common-media-cards.json @@ -0,0 +1,6 @@ +{ + "buttons": { + "play": "播放", + "request": "要求" + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/common.json b/public/locales/zh/modules/common.json new file mode 100644 index 000000000..4c489bf5e --- /dev/null +++ b/public/locales/zh/modules/common.json @@ -0,0 +1,5 @@ +{ + "settings": { + "label": "设置" + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/dashdot.json b/public/locales/zh/modules/dashdot.json new file mode 100644 index 000000000..3b3cd7ba1 --- /dev/null +++ b/public/locales/zh/modules/dashdot.json @@ -0,0 +1,53 @@ +{ + "descriptor": { + "name": "潇洒。", + "description": "用于显示运行中的Dash.instance的图表的模块。", + "settings": { + "cpuMultiView": { + "label": "CPU多核视图" + }, + "storageMultiView": { + "label": "存储多驱动器视图" + }, + "useCompactView": { + "label": "使用紧凑型视图" + }, + "graphs": { + "label": "图表" + }, + "url": { + "label": "潇洒。网址" + } + } + }, + "card": { + "title": "潇洒。", + "errors": { + "noService": "没有找到Dash.服务。请在你的Homarr仪表板上添加一个,或者在模块选项中设置一个Dash.URL。URL在模块选项中", + "noInformation": "无法从仪表盘获取信息。- 你运行的是最新版本吗?" + }, + "graphs": { + "storage": { + "title": "储存", + "label": "储存。" + }, + "network": { + "title": "网络", + "label": "网络。", + "metrics": { + "download": "下降", + "upload": "上" + } + }, + "cpu": { + "title": "CPU" + }, + "memory": { + "title": "内存" + }, + "gpu": { + "title": "GPU" + } + } + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/date.json b/public/locales/zh/modules/date.json new file mode 100644 index 000000000..d76db2a2d --- /dev/null +++ b/public/locales/zh/modules/date.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "日期", + "description": "在卡片中显示当前时间和日期", + "settings": { + "display24HourFormat": { + "label": "显示全时(24小时)" + } + } + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/dlspeed.json b/public/locales/zh/modules/dlspeed.json new file mode 100644 index 000000000..e3e53f68d --- /dev/null +++ b/public/locales/zh/modules/dlspeed.json @@ -0,0 +1,35 @@ +{ + "descriptor": { + "name": "下载速度", + "description": "显示支持的服务的当前下载速度" + }, + "card": { + "table": { + "header": { + "name": "命名", + "size": "尺寸", + "download": "下降", + "upload": "上", + "estimatedTimeOfArrival": "ETA", + "progress": "进展" + }, + "body": { + "nothingFound": "没有找到山洪资源" + } + }, + "lineChart": { + "title": "当前的下载速度", + "download": "下载。 {{download}}", + "upload": "上传。 {{upload}}", + "timeSpan": "{{seconds}} 秒前", + "totalDownload": "下载。 {{download}}/s", + "totalUpload": "上传。 {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "没有找到支持的下载客户端!", + "text": "添加下载服务,查看你当前的下载量" + } + } + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/docker.json b/public/locales/zh/modules/docker.json new file mode 100644 index 000000000..5858ac2f6 --- /dev/null +++ b/public/locales/zh/modules/docker.json @@ -0,0 +1,71 @@ +{ + "descriptor": { + "name": "码头", + "description": "允许你轻松地管理你的torrent文件" + }, + "search": { + "placeholder": "按容器或图像名称搜索" + }, + "table": { + "header": { + "name": "命名", + "image": "图片", + "ports": "码头", + "state": "国家" + }, + "body": { + "portCollapse": "{{ports}} 更多" + }, + "states": { + "running": "跑步", + "created": "创建", + "stopped": "已停止", + "unknown": "不详" + } + }, + "actionBar": { + "addService": { + "title": "添加服务", + "message": "为Homarr添加服务" + }, + "restart": { + "title": "重新启动" + }, + "stop": { + "title": "停止" + }, + "start": { + "title": "开始" + }, + "refreshData": { + "title": "刷新数据" + }, + "remove": { + "title": "移除" + }, + "addToHomarr": { + "title": "添加到Homarr" + } + }, + "messages": { + "successfullyExecuted": { + "title": "容器 {{containerName}} {{action}}ed", + "message": "您的容器已成功 {{action}}。" + } + }, + "errors": { + "integrationFailed": { + "title": "Docker整合失败", + "message": "你忘了安装docker socket吗?" + }, + "unknownError": { + "title": "出现了一个错误" + }, + "oneServiceAtATime": { + "title": "请一次只添加一项服务!" + } + }, + "actionIcon": { + "tooltip": "码头" + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/overseerr.json b/public/locales/zh/modules/overseerr.json new file mode 100644 index 000000000..02befa41a --- /dev/null +++ b/public/locales/zh/modules/overseerr.json @@ -0,0 +1,30 @@ +{ + "descriptor": { + "name": "监督员r", + "description": "允许你从Overseerr/Jellyseerr搜索和添加媒体" + }, + "popup": { + "item": { + "buttons": { + "askFor": "请登录 {{title}}", + "cancel": "取消", + "request": "要求" + }, + "alerts": { + "automaticApproval": { + "title": "使用API密钥", + "text": "这一请求将被自动批准" + } + } + }, + "seasonSelector": { + "caption": "勾选你想要下载的季节", + "table": { + "header": { + "season": "季节", + "numberOfEpisodes": "节目的数量" + } + } + } + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/ping.json b/public/locales/zh/modules/ping.json new file mode 100644 index 000000000..2989ae149 --- /dev/null +++ b/public/locales/zh/modules/ping.json @@ -0,0 +1,11 @@ +{ + "descriptor": { + "name": "平", + "description": "允许你检查服务是否启动或返回一个特定的HTTP状态代码。" + }, + "states": { + "online": "在线 {{response}}", + "offline": "离线 {{response}}", + "loading": "正在加载..." + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/search.json b/public/locales/zh/modules/search.json new file mode 100644 index 000000000..2977e49d2 --- /dev/null +++ b/public/locales/zh/modules/search.json @@ -0,0 +1,9 @@ +{ + "descriptor": { + "name": "搜索栏", + "description": "搜索栏可搜索网页、Youtube、Torrents或Overseerr" + }, + "input": { + "placeholder": "在网上搜索..." + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/torrents-status.json b/public/locales/zh/modules/torrents-status.json new file mode 100644 index 000000000..56bcd3203 --- /dev/null +++ b/public/locales/zh/modules/torrents-status.json @@ -0,0 +1,40 @@ +{ + "descriptor": { + "name": "酷刑", + "description": "显示支持的服务的当前下载速度", + "settings": { + "hideComplete": { + "label": "隐藏已完成的torrent" + } + } + }, + "card": { + "table": { + "header": { + "name": "命名", + "size": "尺寸", + "download": "下降", + "upload": "上", + "estimatedTimeOfArrival": "ETA", + "progress": "进展" + }, + "body": { + "nothingFound": "没有找到山洪资源" + } + }, + "lineChart": { + "title": "当前的下载速度", + "download": "下载。 {{download}}", + "upload": "上传。 {{upload}}", + "timeSpan": "{{seconds}} 秒前", + "totalDownload": "下载。 {{download}}/s", + "totalUpload": "上传。 {{upload}}/s" + }, + "errors": { + "noDownloadClients": { + "title": "没有找到支持的下载客户端!", + "text": "添加下载服务,查看你当前的下载量" + } + } + } +} \ No newline at end of file diff --git a/public/locales/zh/modules/usenet.json b/public/locales/zh/modules/usenet.json new file mode 100644 index 000000000..b560cf8ab --- /dev/null +++ b/public/locales/zh/modules/usenet.json @@ -0,0 +1,49 @@ +{ + "descriptor": { + "name": "Sabnzbd", + "description": "允许您查看您的Sabnzbd队列和历史,暂停和恢复下载" + }, + "card": { + "errors": { + "noDownloadClients": { + "title": "没有找到支持的下载客户端!", + "text": "添加下载服务,查看你当前的下载量" + } + } + }, + "tabs": { + "queue": "排队", + "history": "历史" + }, + "info": { + "sizeLeft": "左侧尺寸", + "paused": "暂停使用" + }, + "queue": { + "header": { + "name": "命名", + "size": "尺寸", + "eta": "ETA", + "progress": "进展" + }, + "empty": "空的", + "error": { + "title": "误差", + "message": "发生了一个错误" + }, + "paused": "暂停使用" + }, + "history": { + "header": { + "name": "命名", + "size": "尺寸", + "duration": "时间" + }, + "empty": "空的", + "error": { + "title": "误差", + "message": "错误加载历史记录" + }, + "paused": "暂停使用" + } +} diff --git a/public/locales/zh/modules/weather.json b/public/locales/zh/modules/weather.json new file mode 100644 index 000000000..6365f2f0c --- /dev/null +++ b/public/locales/zh/modules/weather.json @@ -0,0 +1,32 @@ +{ + "descriptor": { + "name": "天气", + "description": "查询你所在地区的当前天气", + "settings": { + "displayInFahrenheit": { + "label": "显示单位:华氏" + }, + "location": { + "label": "天气位置" + } + } + }, + "card": { + "weatherDescriptions": { + "clear": "清楚", + "mainlyClear": "主要是清楚", + "fog": "雾", + "drizzle": "细雨", + "freezingDrizzle": "冰冷的细雨", + "rain": "雨", + "freezingRain": "冻雨", + "snowFall": "降雪", + "snowGrains": "雪粒", + "rainShowers": "阵雨", + "snowShowers": "阵雪", + "thunderstorm": "雷雨天气", + "thunderstormWithHail": "雷暴与冰雹", + "unknown": "不详" + } + } +} \ No newline at end of file diff --git a/public/locales/zh/settings/common.json b/public/locales/zh/settings/common.json new file mode 100644 index 000000000..7fbe0eb4d --- /dev/null +++ b/public/locales/zh/settings/common.json @@ -0,0 +1,14 @@ +{ + "title": "设置", + "tooltip": "设置", + "tabs": { + "common": "普通", + "customizations": "定制化" + }, + "tips": { + "configTip": "将你的配置文件拖放到页面上,就可以上传了!" + }, + "credits": { + "madeWithLove": "用❤️制作的@" + } +} \ No newline at end of file diff --git a/public/locales/zh/settings/customization/app-width.json b/public/locales/zh/settings/customization/app-width.json new file mode 100644 index 000000000..ab20bac2c --- /dev/null +++ b/public/locales/zh/settings/customization/app-width.json @@ -0,0 +1,3 @@ +{ + "label": "应用宽度" +} \ No newline at end of file diff --git a/public/locales/zh/settings/customization/color-selector.json b/public/locales/zh/settings/customization/color-selector.json new file mode 100644 index 000000000..c079d3d6f --- /dev/null +++ b/public/locales/zh/settings/customization/color-selector.json @@ -0,0 +1,3 @@ +{ + "suffix": "{{color}} 颜色" +} \ No newline at end of file diff --git a/public/locales/zh/settings/customization/opacity-selector.json b/public/locales/zh/settings/customization/opacity-selector.json new file mode 100644 index 000000000..8c97ca75b --- /dev/null +++ b/public/locales/zh/settings/customization/opacity-selector.json @@ -0,0 +1,3 @@ +{ + "label": "应用程序的不透明度" +} \ No newline at end of file diff --git a/public/locales/zh/settings/customization/page-appearance.json b/public/locales/zh/settings/customization/page-appearance.json new file mode 100644 index 000000000..3cfad8762 --- /dev/null +++ b/public/locales/zh/settings/customization/page-appearance.json @@ -0,0 +1,25 @@ +{ + "pageTitle": { + "label": "页面标题", + "placeholder": "霍马尔 🦞" + }, + "logo": { + "label": "徽标", + "placeholder": "/img/logo.png" + }, + "favicon": { + "label": "徽标(Favicon", + "placeholder": "/favicon.png" + }, + "background": { + "label": "背景介绍", + "placeholder": "/img/background.png" + }, + "customCSS": { + "label": "自定义CSS", + "placeholder": "自定义CSS将被最后执行" + }, + "buttons": { + "submit": "提交" + } +} diff --git a/public/locales/zh/settings/customization/shade-selector.json b/public/locales/zh/settings/customization/shade-selector.json new file mode 100644 index 000000000..0aa744623 --- /dev/null +++ b/public/locales/zh/settings/customization/shade-selector.json @@ -0,0 +1,3 @@ +{ + "label": "遮阳板" +} \ No newline at end of file diff --git a/public/locales/zh/settings/general/color-schema.json b/public/locales/zh/settings/general/color-schema.json new file mode 100644 index 000000000..4e4d568b6 --- /dev/null +++ b/public/locales/zh/settings/general/color-schema.json @@ -0,0 +1,3 @@ +{ + "label": "切换到 {{scheme}} 模式" +} \ No newline at end of file diff --git a/public/locales/zh/settings/general/config-changer.json b/public/locales/zh/settings/general/config-changer.json new file mode 100644 index 000000000..9ff966a05 --- /dev/null +++ b/public/locales/zh/settings/general/config-changer.json @@ -0,0 +1,55 @@ +{ + "configSelect": { + "label": "配置加载器" + }, + "modal": { + "title": "选择你的新配置的名称", + "form": { + "configName": { + "label": "配置名称", + "placeholder": "你的新配置名称" + }, + "submitButton": "确认" + }, + "events": { + "configSaved": { + "title": "保存的配置", + "message": "配置保存为 {{configName}}" + } + } + }, + "buttons": { + "download": "下载配置", + "delete": { + "text": "删除配置", + "notifications": { + "deleted": { + "title": "配置删除", + "message": "配置删除" + }, + "deleteFailed": { + "title": "配置删除失败", + "message": "配置删除失败" + } + } + }, + "saveCopy": "保存一份副本" + }, + "dropzone": { + "notifications": { + "invalidConfig": { + "title": "无法加载配置", + "message": "无法加载您的配置。无效的JSON格式。" + }, + "loadedSuccessfully": { + "title": "配置 {{configName}} ,成功加载。" + } + }, + "accept": { + "text": "在这里拖动文件来上传配置。只支持JSON。" + }, + "reject": { + "text": "不支持这种文件格式。请只上传JSON。" + } + } +} \ No newline at end of file diff --git a/public/locales/zh/settings/general/internationalization.json b/public/locales/zh/settings/general/internationalization.json new file mode 100644 index 000000000..970392a64 --- /dev/null +++ b/public/locales/zh/settings/general/internationalization.json @@ -0,0 +1,3 @@ +{ + "label": "语言" +} \ No newline at end of file diff --git a/public/locales/zh/settings/general/module-enabler.json b/public/locales/zh/settings/general/module-enabler.json new file mode 100644 index 000000000..bcd45b734 --- /dev/null +++ b/public/locales/zh/settings/general/module-enabler.json @@ -0,0 +1,3 @@ +{ + "title": "模块使能器" +} \ No newline at end of file diff --git a/public/locales/zh/settings/general/search-engine.json b/public/locales/zh/settings/general/search-engine.json new file mode 100644 index 000000000..9f17572cb --- /dev/null +++ b/public/locales/zh/settings/general/search-engine.json @@ -0,0 +1,11 @@ +{ + "title": "搜索引擎", + "tips": { + "generalTip": "在你的查询前使用前缀 !yt和 !t,分别在YouTube上搜索或搜索Torrent。", + "placeholderTip": "%s 可以作为查询的占位符。" + }, + "customEngine": { + "label": "查询网址", + "placeholder": "自定义查询URL" + } +} \ No newline at end of file diff --git a/public/locales/zh/settings/general/theme-selector.json b/public/locales/zh/settings/general/theme-selector.json new file mode 100644 index 000000000..8b59ddaed --- /dev/null +++ b/public/locales/zh/settings/general/theme-selector.json @@ -0,0 +1,3 @@ +{ + "label": "切换到 {{theme}} 模式" +} \ No newline at end of file diff --git a/public/locales/zh/settings/general/widget-positions.json b/public/locales/zh/settings/general/widget-positions.json new file mode 100644 index 000000000..60e015a6a --- /dev/null +++ b/public/locales/zh/settings/general/widget-positions.json @@ -0,0 +1,3 @@ +{ + "label": "将小部件放在左边" +} \ No newline at end of file diff --git a/src/components/AppShelf/AddAppShelfItem.tsx b/src/components/AppShelf/AddAppShelfItem.tsx index 9cfc402ba..3d63e5772 100644 --- a/src/components/AppShelf/AddAppShelfItem.tsx +++ b/src/components/AppShelf/AddAppShelfItem.tsx @@ -10,6 +10,7 @@ import { MultiSelect, PasswordInput, Select, + Space, Stack, Switch, Tabs, @@ -18,28 +19,31 @@ import { Tooltip, } from '@mantine/core'; import { useForm } from '@mantine/form'; +import { useDebouncedValue } from '@mantine/hooks'; import { IconApps } from '@tabler/icons'; +import { useTranslation } from 'next-i18next'; import { useEffect, useState } from 'react'; import { v4 as uuidv4 } from 'uuid'; -import { useDebouncedValue } from '@mantine/hooks'; import { useConfig } from '../../tools/state'; -import { tryMatchPort, ServiceTypeList, StatusCodes } from '../../tools/types'; +import { tryMatchPort, ServiceTypeList, StatusCodes, Config } from '../../tools/types'; import Tip from '../layout/Tip'; export function AddItemShelfButton(props: any) { + const { config, setConfig } = useConfig(); const [opened, setOpened] = useState(false); + const { t } = useTranslation('layout/add-service-app-shelf'); return ( <> Add service} + title={{t('modal.title')}} opened={props.opened || opened} onClose={() => setOpened(false)} > - + - + void } & any) { - const { setOpened } = props; - const { config, setConfig } = useConfig(); +interface AddAppShelfItemFormProps { + setOpened: (b: boolean) => void; + config: Config; + setConfig: (config: Config) => void; + // Any other props you want to pass to the form + [key: string]: any; +} + +export function AddAppShelfItemForm(props: AddAppShelfItemFormProps) { + const { setOpened, config, setConfig } = props; + // Only get config and setConfig from useCOnfig if they are not present in props const [isLoading, setLoading] = useState(false); + const { t } = useTranslation('layout/add-service-app-shelf'); // Extract all the categories from the services in config const InitialCategories = config.services.reduce((acc, cur) => { @@ -106,6 +119,7 @@ export function AddAppShelfItemForm(props: { setOpened: (b: boolean) => void } & username: props.username ?? undefined, password: props.password ?? undefined, openedUrl: props.openedUrl ?? undefined, + ping: props.ping ?? true, status: props.status ?? ['200'], newTab: props.newTab ?? true, }, @@ -120,13 +134,13 @@ export function AddAppShelfItemForm(props: { setOpened: (b: boolean) => void } & try { const _isValid = new URL(value); } catch (e) { - return 'Please enter a valid URL'; + return t('modal.form.validation.invalidUrl'); } return null; }, status: (value: string[]) => { if (!value.length) { - return 'Please select a status code'; + return t('modal.form.validation.noStatusCodeSelected'); } return null; }, @@ -174,7 +188,11 @@ export function AddAppShelfItemForm(props: { setOpened: (b: boolean) => void } & if (newForm.newTab === true) newForm.newTab = undefined; if (newForm.openedUrl === '') newForm.openedUrl = undefined; if (newForm.category === null) newForm.category = undefined; - if (newForm.status.length === 1 && newForm.status[0] === '200') { + if (newForm.ping === true) newForm.ping = undefined; + if ( + (newForm.status.length === 1 && newForm.status[0] === '200') || + newForm.ping === false + ) { delete newForm.status; } // If service already exists, update it. @@ -203,48 +221,49 @@ export function AddAppShelfItemForm(props: { setOpened: (b: boolean) => void } & > - Options - Advanced options + {t('modal.tabs.options.title')} + {t('modal.tabs.advancedOptions.title')} + void } & setCategories([...InitialCategories, query]); return item; }} - getCreateLabel={(query) => `+ Create "${query}"`} + getCreateLabel={(query) => + t('modal.tabs.options.form.category.createLabel', { + query, + }) + } {...form.getInputProps('category')} /> @@ -262,27 +285,31 @@ export function AddAppShelfItemForm(props: { setOpened: (b: boolean) => void } & form.values.type === 'Lidarr' || form.values.type === 'Overseerr' || form.values.type === 'Jellyseerr' || - form.values.type === 'Readarr') && ( + form.values.type === 'Readarr' || + form.values.type === 'Sabnzbd') && ( <> { form.setFieldValue('apiKey', event.currentTarget.value); }} - error={form.errors.apiKey && 'Invalid API key'} + error={ + form.errors.apiKey && + t('modal.tabs.options.form.integrations.apiKey.validation.noKey') + } /> - Get your API key{' '} + {t('modal.tabs.options.form.integrations.apiKey.tip.text')}{' '} - here. + {t('modal.tabs.options.form.integrations.apiKey.tip.link')} @@ -291,79 +318,124 @@ export function AddAppShelfItemForm(props: { setOpened: (b: boolean) => void } & <> { form.setFieldValue('username', event.currentTarget.value); }} - error={form.errors.username && 'Invalid username'} + error={ + form.errors.username && + t( + 'modal.tabs.options.form.integrations.qBittorrent.username.validation.invalidUsername' + ) + } /> { form.setFieldValue('password', event.currentTarget.value); }} - error={form.errors.password && 'Invalid password'} + error={ + form.errors.password && + t( + 'modal.tabs.options.form.integrations.qBittorrent.password.validation.invalidPassword' + ) + } /> )} {form.values.type === 'Deluge' && ( <> { form.setFieldValue('password', event.currentTarget.value); }} - error={form.errors.password && 'Invalid password'} + error={ + form.errors.password && + t( + 'modal.tabs.options.form.integrations.deluge.password.validation.invalidPassword' + ) + } /> )} {form.values.type === 'Transmission' && ( <> { form.setFieldValue('username', event.currentTarget.value); }} - error={form.errors.username && 'Invalid username'} + error={ + form.errors.username && + t( + 'modal.tabs.options.form.integrations.transmission.username.validation.invalidUsername' + ) + } /> { form.setFieldValue('password', event.currentTarget.value); }} - error={form.errors.password && 'Invalid password'} + error={ + form.errors.password && + t( + 'modal.tabs.options.form.integrations.transmission.password.validation.invalidPassword' + ) + } /> )} + - + {form.values.ping && ( + + )} + @@ -371,7 +443,9 @@ export function AddAppShelfItemForm(props: { setOpened: (b: boolean) => void } & - + diff --git a/src/components/AppShelf/AppShelf.tsx b/src/components/AppShelf/AppShelf.tsx index 2da1274e6..c4e59219a 100644 --- a/src/components/AppShelf/AppShelf.tsx +++ b/src/components/AppShelf/AppShelf.tsx @@ -1,5 +1,13 @@ import React, { useState } from 'react'; -import { Accordion, Grid, Paper, Stack, useMantineColorScheme } from '@mantine/core'; +import { + Accordion, + Divider, + Grid, + Paper, + Stack, + Title, + useMantineColorScheme, +} from '@mantine/core'; import { closestCenter, DndContext, @@ -11,12 +19,14 @@ import { } from '@dnd-kit/core'; import { arrayMove, SortableContext } from '@dnd-kit/sortable'; import { useLocalStorage } from '@mantine/hooks'; +import { useTranslation } from 'next-i18next'; import { useConfig } from '../../tools/state'; import { SortableAppShelfItem, AppShelfItem } from './AppShelfItem'; import { ModuleMenu, ModuleWrapper } from '../../modules/moduleWrapper'; -import { DownloadsModule } from '../../modules'; -import DownloadComponent from '../../modules/downloads/DownloadsModule'; +import { UsenetModule, TorrentsModule } from '../../modules'; +import TorrentsComponent from '../../modules/torrents/TorrentsModule'; +import { UsenetComponent } from '../../modules/usenet/UsenetModule'; const AppShelf = (props: any) => { const { config, setConfig } = useConfig(); @@ -36,6 +46,8 @@ const AppShelf = (props: any) => { const [activeId, setActiveId] = useState(null); const { colorScheme } = useMantineColorScheme(); + const { t } = useTranslation('layout/app-shelf'); + const sensors = useSensors( useSensor(TouchSensor, { activationConstraint: { @@ -123,7 +135,11 @@ const AppShelf = (props: any) => { const noCategory = config.services.filter( (e) => e.category === undefined || e.category === null ); - const downloadEnabled = config.modules?.[DownloadsModule.title]?.enabled ?? false; + + const torrentEnabled = config.modules?.[TorrentsModule.id]?.enabled ?? false; + const usenetEnabled = config.modules?.[UsenetModule.id]?.enabled ?? false; + + const downloadEnabled = usenetEnabled || torrentEnabled; // Create an item with 0: true, 1: true, 2: true... For each category return ( // TODO: Style accordion so that the bar is transparent to the user settings @@ -139,36 +155,65 @@ const AppShelf = (props: any) => { }} > {categoryList.map((category, idx) => ( - + {category} {getItems(category)} ))} {/* Return the item for all services without category */} {noCategory && noCategory.length > 0 ? ( - - Other + + {t('accordions.others.text')} {getItems()} ) : null} {downloadEnabled ? ( - - Your downloads + + {t('accordions.downloads.text')} - - - + + {torrentEnabled && ( + <> + + + + )} + {usenetEnabled && ( + <> + {torrentEnabled && } + + + + )} @@ -180,7 +225,8 @@ const AppShelf = (props: any) => { return ( {getItems()} - + + ); }; diff --git a/src/components/AppShelf/AppShelfItem.tsx b/src/components/AppShelf/AppShelfItem.tsx index 0c6439055..c46265b48 100644 --- a/src/components/AppShelf/AppShelfItem.tsx +++ b/src/components/AppShelf/AppShelfItem.tsx @@ -1,21 +1,21 @@ +import { useSortable } from '@dnd-kit/sortable'; +import { CSS } from '@dnd-kit/utilities'; import { - Text, - Card, Anchor, AspectRatio, + Card, Center, createStyles, - useMantineColorScheme, Image, + Text, + useMantineColorScheme, } from '@mantine/core'; import { motion } from 'framer-motion'; import { useState } from 'react'; -import { useSortable } from '@dnd-kit/sortable'; -import { CSS } from '@dnd-kit/utilities'; -import { serviceItem } from '../../tools/types'; import PingComponent from '../../modules/ping/PingModule'; -import AppShelfMenu from './AppShelfMenu'; import { useConfig } from '../../tools/state'; +import { serviceItem } from '../../tools/types'; +import AppShelfMenu from './AppShelfMenu'; const useStyles = createStyles((theme) => ({ item: { @@ -134,7 +134,7 @@ export function AppShelfItem(props: any) { - + {service.ping !== false && } diff --git a/src/components/AppShelf/AppShelfMenu.tsx b/src/components/AppShelf/AppShelfMenu.tsx index f1b3a20a1..402867ac0 100644 --- a/src/components/AppShelf/AppShelfMenu.tsx +++ b/src/components/AppShelf/AppShelfMenu.tsx @@ -1,7 +1,8 @@ -import { ActionIcon, Menu, Modal, Text, useMantineTheme } from '@mantine/core'; +import { ActionIcon, Menu, Modal, Text } from '@mantine/core'; import { showNotification } from '@mantine/notifications'; import { useState } from 'react'; import { IconCheck as Check, IconEdit as Edit, IconMenu, IconTrash as Trash } from '@tabler/icons'; +import { useTranslation } from 'next-i18next'; import { useConfig } from '../../tools/state'; import { serviceItem } from '../../tools/types'; import { AddAppShelfItemForm } from './AddAppShelfItem'; @@ -11,7 +12,7 @@ export default function AppShelfMenu(props: any) { const { service }: { service: serviceItem } = props; const { config, setConfig } = useConfig(); const { secondaryColor } = useColorTheme(); - const theme = useMantineTheme(); + const { t } = useTranslation('layout/app-shelf-menu'); const [opened, setOpened] = useState(false); return ( <> @@ -20,9 +21,15 @@ export default function AppShelfMenu(props: any) { radius="md" opened={props.opened || opened} onClose={() => setOpened(false)} - title="Modify a service" + title={t('modal.title')} > - + - Settings + {t('menu.labels.settings')} } onClick={() => setOpened(true)}> - Edit + {t('menu.actions.edit')} - Danger zone + {t('menu.labels.dangerZone')} { @@ -70,7 +77,7 @@ export default function AppShelfMenu(props: any) { }} icon={} > - Delete + {t('menu.actions.delete')} diff --git a/src/components/AppShelf/SmallServiceItem.tsx b/src/components/AppShelf/SmallServiceItem.tsx new file mode 100644 index 000000000..98c8bbf53 --- /dev/null +++ b/src/components/AppShelf/SmallServiceItem.tsx @@ -0,0 +1,18 @@ +import { Avatar, Group, Text } from '@mantine/core'; + +interface smallServiceItem { + label: string; + icon?: string; + url?: string; +} + +export default function SmallServiceItem(props: any) { + const { service }: { service: smallServiceItem } = props; + // TODO : Use Next/link + return ( + + {service.icon && } + {service.label} + + ); +} diff --git a/src/components/ColorSchemeToggle/ColorSchemeSwitch.tsx b/src/components/ColorSchemeToggle/ColorSchemeSwitch.tsx index 410dcbaf2..076db44ee 100644 --- a/src/components/ColorSchemeToggle/ColorSchemeSwitch.tsx +++ b/src/components/ColorSchemeToggle/ColorSchemeSwitch.tsx @@ -1,6 +1,7 @@ import React from 'react'; import { createStyles, Switch, Group, useMantineColorScheme, Kbd } from '@mantine/core'; import { IconSun as Sun, IconMoonStars as MoonStars } from '@tabler/icons'; +import { useTranslation } from 'next-i18next'; import { useConfig } from '../../tools/state'; const useStyles = createStyles((theme) => ({ @@ -33,6 +34,7 @@ export function ColorSchemeSwitch() { const { config } = useConfig(); const { colorScheme, toggleColorScheme } = useMantineColorScheme(); const { classes, cx } = useStyles(); + const { t } = useTranslation('settings/general/theme-selector'); return ( @@ -41,7 +43,9 @@ export function ColorSchemeSwitch() { toggleColorScheme()} size="md" /> - Switch to {colorScheme === 'dark' ? 'light' : 'dark'} mode + {t('label', { + theme: colorScheme === 'dark' ? 'light' : 'dark', + })} Ctrl+J diff --git a/src/components/Config/ConfigChanger.tsx b/src/components/Config/ConfigChanger.tsx index b2c5a3898..0e129bd2c 100644 --- a/src/components/Config/ConfigChanger.tsx +++ b/src/components/Config/ConfigChanger.tsx @@ -1,5 +1,6 @@ import { Center, Loader, Select, Tooltip } from '@mantine/core'; import { setCookie } from 'cookies-next'; +import { useTranslation } from 'next-i18next'; import { useEffect, useState } from 'react'; import { useConfig } from '../../tools/state'; @@ -7,6 +8,8 @@ export default function ConfigChanger() { const { config, loadConfig, setConfig, getConfigs } = useConfig(); const [configList, setConfigList] = useState([]); const [value, setValue] = useState(config.name); + const { t } = useTranslation('settings/general/config-changer'); + useEffect(() => { getConfigs().then((configs) => setConfigList(configs)); }, [config]); @@ -23,7 +26,7 @@ export default function ConfigChanger() { // return { diff --git a/src/components/Config/LoadConfig.tsx b/src/components/Config/LoadConfig.tsx index 75d6972fa..a41f0e027 100644 --- a/src/components/Config/LoadConfig.tsx +++ b/src/components/Config/LoadConfig.tsx @@ -3,6 +3,7 @@ import { IconX as X, IconCheck as Check, IconX, IconPhoto, IconUpload } from '@t import { showNotification } from '@mantine/notifications'; import { setCookie } from 'cookies-next'; import { Dropzone } from '@mantine/dropzone'; +import { useTranslation } from 'next-i18next'; import { useConfig } from '../../tools/state'; import { Config } from '../../tools/types'; import { migrateToIdConfig } from '../../tools/migrate'; @@ -10,6 +11,7 @@ import { migrateToIdConfig } from '../../tools/migrate'; export default function LoadConfigComponent(props: any) { const { setConfig } = useConfig(); const theme = useMantineTheme(); + const { t } = useTranslation('settings/general/config-changer'); return ( Error, + title: {t('dropzone.notifications.invalidConfig.title')}, color: 'red', icon: , - message: 'could not load your config. Invalid JSON format.', + message: t('dropzone.notifications.invalidConfig.message'), }); return; } @@ -33,7 +35,9 @@ export default function LoadConfigComponent(props: any) { radius: 'md', title: ( - Config {newConfig.name} loaded successfully + {t('dropzone.notifications.loadedSuccessfully.title', { + configName: newConfig.name, + })} ), color: 'green', @@ -58,7 +62,7 @@ export default function LoadConfigComponent(props: any) { stroke={1.5} color={theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 4 : 6]} /> - Drag files here to upload a config. Support for JSON only. + {t('dropzone.accept.text')} @@ -68,7 +72,7 @@ export default function LoadConfigComponent(props: any) { stroke={1.5} color={theme.colors.red[theme.colorScheme === 'dark' ? 4 : 6]} /> - This file format is not supported. Please only upload JSON. + {t('dropzone.reject.text')} diff --git a/src/components/Config/SaveConfig.tsx b/src/components/Config/SaveConfig.tsx index d18b38ae2..327f50523 100644 --- a/src/components/Config/SaveConfig.tsx +++ b/src/components/Config/SaveConfig.tsx @@ -4,6 +4,7 @@ import { showNotification } from '@mantine/notifications'; import axios from 'axios'; import fileDownload from 'js-file-download'; import { useState } from 'react'; +import { useTranslation } from 'next-i18next'; import { IconCheck as Check, IconDownload as Download, @@ -16,6 +17,7 @@ import { useConfig } from '../../tools/state'; export default function SaveConfigComponent(props: any) { const [opened, setOpened] = useState(false); const { config, setConfig } = useConfig(); + const { t } = useTranslation('settings/general/config-changer'); const form = useForm({ initialValues: { configName: config.name, @@ -28,39 +30,34 @@ export default function SaveConfigComponent(props: any) { } return ( - setOpened(false)} - title="Choose the name of your new config" - > + setOpened(false)} title={t('modal.title')}>
{ setConfig({ ...config, name: values.configName }); setOpened(false); showNotification({ - title: 'Config saved', + title: t('modal.events.configSaved.title'), icon: , color: 'green', autoClose: 1500, radius: 'md', - message: `Config saved as ${values.configName}`, + message: t('modal.events.configSaved.message', { configName: values.configName }), }); })} > - +
); diff --git a/src/components/Settings/AdvancedSettings.tsx b/src/components/Settings/AdvancedSettings.tsx index 877fc79c7..17fcdcd25 100644 --- a/src/components/Settings/AdvancedSettings.tsx +++ b/src/components/Settings/AdvancedSettings.tsx @@ -1,5 +1,6 @@ -import { TextInput, Button, Stack } from '@mantine/core'; +import { TextInput, Button, Stack, Textarea } from '@mantine/core'; import { useForm } from '@mantine/form'; +import { useTranslation } from 'next-i18next'; import { useConfig } from '../../tools/state'; import { ColorSelector } from './ColorSelector'; import { OpacitySelector } from './OpacitySelector'; @@ -8,6 +9,7 @@ import { ShadeSelector } from './ShadeSelector'; export default function TitleChanger() { const { config, setConfig } = useConfig(); + const { t } = useTranslation('settings/customization/page-appearance'); const form = useForm({ initialValues: { @@ -15,6 +17,7 @@ export default function TitleChanger() { logo: config.settings.logo, favicon: config.settings.favicon, background: config.settings.background, + customCSS: config.settings.customCSS, }, }); @@ -23,6 +26,7 @@ export default function TitleChanger() { logo?: string; favicon?: string; background?: string; + customCSS?: string; }) => { setConfig({ ...config, @@ -32,6 +36,7 @@ export default function TitleChanger() { logo: values.logo, favicon: values.favicon, background: values.background, + customCSS: values.customCSS, }, }); }; @@ -40,19 +45,33 @@ export default function TitleChanger() {
saveChanges(values))}> - - + + - +