diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index ec89d9563..187088bd4 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -3,6 +3,11 @@ description: Report something that's broken, or not working like intented! title: '' labels: ['🐛 Bug'] body: + - type: markdown + attributes: + value: | + > [!WARNING] + > If you want to report a bug for 1.0, please open it on the new [repository](https://github.com/homarr-labs/homarr/issues/new/choose). - type: dropdown id: environment attributes: diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml index c83fcc939..ddd2f61d0 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.yml +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -3,6 +3,11 @@ description: Request a feature to help improve Homarr! title: '<title>' labels: ['✨ Feature'] body: + - type: markdown + attributes: + value: | + > [!WARNING] + > If you want to request a feature for 1.0, please open it on the new [repository](https://github.com/homarr-labs/homarr/issues/new/choose). - type: textarea id: feature attributes: @@ -22,3 +27,11 @@ body: - High (App breaking feature) validations: required: true + - type: checkboxes + id: idiot-check + attributes: + label: Please tick the boxes + description: Before submitting, please ensure that + options: + - label: You are **NOT** using a version superior to v1. if that is the case, please fill this issue on the new repository. + required: true diff --git a/.github/ISSUE_TEMPLATE/idea.yml b/.github/ISSUE_TEMPLATE/idea.yml index 594101d00..2f970630b 100644 --- a/.github/ISSUE_TEMPLATE/idea.yml +++ b/.github/ISSUE_TEMPLATE/idea.yml @@ -3,6 +3,11 @@ description: Tell us your idea! We may implement it. title: '<title>' labels: ['🤔 Idea'] body: + - type: markdown + attributes: + value: | + > [!WARNING] + > If you have an idea for 1.0, please open it on the new [repository](https://github.com/homarr-labs/homarr/issues/new/choose). - type: textarea id: feature attributes: diff --git a/.github/ISSUE_TEMPLATE/module.yml b/.github/ISSUE_TEMPLATE/module.yml index 214c59dc4..0437173c9 100644 --- a/.github/ISSUE_TEMPLATE/module.yml +++ b/.github/ISSUE_TEMPLATE/module.yml @@ -2,6 +2,11 @@ name: 🏗️ Module request description: Request for a module to be added / an integration with you favourite service ! title: '<title>' body: + - type: markdown + attributes: + value: | + > [!WARNING] + > If you want to request a new integration for 1.0, please open it on the new [repository](https://github.com/homarr-labs/homarr/issues/new/choose). - type: textarea id: name attributes: diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index dc34eb4c8..7944d99c5 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -12,5 +12,5 @@ jobs: - uses: actions/first-interaction@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - issue-message: "Hi 👋. Thank you for submitting your first issue to Homarr. Please ensure that you've provided all nessesary information. You can use the three dots > Edit button to update your post with additional images and information. Depending on the current volume of requests, the team should get in conact with you shortly." + issue-message: "Hi 👋. Thank you for submitting your first issue to Homarr. Please ensure that you've opened this issue on the correct repository. Homarr v1 has been moved to github.com/homarr-labs/homarr " pr-message: "Hi 👋. Thank you for making your first contribution to Homarr. Please ensure that you've completed all the points in the TODO checklist. We'll review your changes shortly." diff --git a/README.md b/README.md index b1ed118a1..9916006d9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ - <!-- Project Title --> -![Banner](docs/banner.png) +[![Banner](docs/banner.png)](https://homarr.dev/) <!-- Badges --> <p align="center"> @@ -25,7 +24,7 @@ <strong>Demo ✨</strong> </a> • - <a href="https://homarr.dev/docs/getting-started/installation/"> + <a href="https://homarr.dev/docs/getting-started/"> <strong>Install 💻</strong> </a> • <a href="https://translate.homarr.dev/"> @@ -41,7 +40,14 @@ Simplify the management of your server with Homarr - a sleek, modern dashboard t <br/> <br/> -![Features Section](docs/section-features.png) + +> [!IMPORTANT] +> # The Homarr repository has been moved to [HomarrLabs](https://github.com/homarr-labs/homarr) +> # Please create issues related to 1.0 there. This repository will be archived once the 1.0 is fully polished. +> # 1.0 is a complete rewrite and to migrate you have to change your compose file. Please follow the [Migration Guide](https://homarr.dev/blog/2025/01/19/migration-guide-1.0) and read the [Breaking Changes](https://homarr.dev/blog/2024/09/23/version-1.0#breaking-changes) + + +[![Features Section](docs/section-features.png)](https://homarr.dev/) - 🖌️ Highly customizable with an extensive drag and drop grid system - ✨ Integrates seamlessly with your favorite self-hosted applications @@ -57,7 +63,7 @@ Simplify the management of your server with Homarr - a sleek, modern dashboard t <br/> <br/> -![Widgets & Integrations Section](docs/section-widgets-and-integrations.png) +[![Widgets & Integrations Section](docs/section-widgets-and-integrations.png)](https://homarr.dev/docs/category/widgets) Homarr has a [built-in collection of widgets and integrations](https://homarr.dev/docs/category/integrations), that connect to your applications and enable you to control them directly from the dashboard. Each widget and integration has a comprehensive documentation @@ -99,25 +105,25 @@ We're constantly adding new integrations and widgets, which will enhance your ex <br/> <br/> -![Preview Section](docs/section-preview.png) +[![Preview Section](docs/section-preview.png)](https://demo.homarr.dev/) https://user-images.githubusercontent.com/30572287/217098893-5880e7de-13d0-42c5-b505-f7921593396f.mp4 <br/> <br/> -![Installation Section](docs/section-installation.png) +[![Installation Section](docs/section-installation.png)](https://homarr.dev/docs/category/installation-1) Since we are updating Homarr very frequently, we recommend reading our official installation guides: -<a href="https://homarr.dev/docs/getting-started/installation/"> +<a href="https://homarr.dev/docs/category/installation-1"> <img src="docs/installation-button.png" width="200" /> </a> <br/> <br/> -![Contribute Section](docs/section-contribute.png) +[![Contribute Section](docs/section-contribute.png)](https://github.com/ajnart/homarr/blob/dev/CONTRIBUTING.md) Homarr is maintained by motivated developers in their free-time. We work for fun and learning on this project. diff --git a/package.json b/package.json index 824e7fe06..1d72a865f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homarr", - "version": "0.15.10", + "version": "0.16.0", "description": "Homarr - A homepage for your server.", "license": "MIT", "repository": { diff --git a/public/PoetsenOne-Regular.ttf b/public/PoetsenOne-Regular.ttf new file mode 100644 index 000000000..1a89422d7 Binary files /dev/null and b/public/PoetsenOne-Regular.ttf differ diff --git a/public/imgs/2340450-2.png b/public/imgs/2340450-2.png new file mode 100644 index 000000000..3d3e6ca12 Binary files /dev/null and b/public/imgs/2340450-2.png differ diff --git a/public/locales/cn/layout/manage.json b/public/locales/cn/layout/manage.json index eea2e3d0b..f3a870cef 100644 --- a/public/locales/cn/layout/manage.json +++ b/public/locales/cn/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "迁移到 1.0" } }, "about": { diff --git a/public/locales/cn/manage/migrate.json b/public/locales/cn/manage/migrate.json index 64030b6ba..c583b1da5 100644 --- a/public/locales/cn/manage/migrate.json +++ b/public/locales/cn/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "迁移到 1.0", + "pageTitle": "迁移面板、组件和用户", + "description": "将您的面板和用户导出到 ZIP 压缩包,以便在 1.0.0 版本之后将其迁移到 Homarr", "securityNote": { - "title": "", - "text": "" + "title": "安全说明", + "text": "导出用户和组件时,它还会打开一个带有加密密钥的窗口。此密钥是将数据导入 Homarr 所必需的。请妥善保管,不要与任何人分享。" }, "form": { - "label": "", + "label": "选择要导出的所有内容", "option": { "boards": { - "label": "" + "label": "导出面板" }, "integrations": { - "label": "", - "description": "" + "label": "导出组件", + "description": "这将包括用于组件的加密凭据。仅在导出面板时可用" }, "users": { - "label": "", - "description": "" + "label": "导出用户", + "description": "这只会导出凭据用户,密码 hash 和 salt 已加密" } } }, "action": { - "export": "" + "export": "导出数据" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "加密密钥", + "description": "您的数据已导出。请妥善保管此密钥,不要与任何人共享。您需要此密钥才能将数据导入 Homarr。", + "copyDismiss": "复制并关闭" } } \ No newline at end of file diff --git a/public/locales/cs/layout/manage.json b/public/locales/cs/layout/manage.json index 77a17c97b..e2e6182fa 100644 --- a/public/locales/cs/layout/manage.json +++ b/public/locales/cs/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "Přechod na verzi 1.0" } }, "about": { diff --git a/public/locales/cs/manage/migrate.json b/public/locales/cs/manage/migrate.json index 64030b6ba..6f82d8ffc 100644 --- a/public/locales/cs/manage/migrate.json +++ b/public/locales/cs/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "Přechod na verzi 1.0", + "pageTitle": "Migrace ploch, integrací a uživatelů", + "description": "Exportujete své plochy a uživatele do ZIP-Archivu, aby jste je mohli migrovat do Homarru po verzi 1.0.0", "securityNote": { - "title": "", - "text": "" + "title": "Bezpečnostní poznámka", + "text": "Při exportování uživatelů a integrací se otevře okno s šifrovacím klíčem. Tento klíč je vyžadován pro následovný import dat do Homarru. Uchovejte jej na bezpečném místě a s nikým jej nesdílejte." }, "form": { - "label": "", + "label": "Vyberte vše, co chcete exportovat", "option": { "boards": { - "label": "" + "label": "Exportovat plochy" }, "integrations": { - "label": "", - "description": "" + "label": "Exportovat integrace", + "description": "Toto bude obsahovat pouze zašifrované údaje pro integrace. Tato možnost je dostupná pouze při exportování ploch" }, "users": { - "label": "", - "description": "" + "label": "Exportovat uživatele", + "description": "Toto exportuje pouze údaje uživatelů, hesla, hash a salt jsou zašifrovány" } } }, "action": { - "export": "" + "export": "Exportovat data" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "Šifrovací klíč", + "description": "Vaše data byla exportována. Uchovejte tento klíč v bezpečí a s nikým jej nesdílejte. Tento klíč budete potřebovat pro import dat do Homarru.", + "copyDismiss": "Zkopírovat a zavřít" } } \ No newline at end of file diff --git a/public/locales/es/layout/element-selector/selector.json b/public/locales/es/layout/element-selector/selector.json index 2ec03021f..d7351f6bd 100644 --- a/public/locales/es/layout/element-selector/selector.json +++ b/public/locales/es/layout/element-selector/selector.json @@ -22,5 +22,5 @@ "message": "La categoría \"{{name}}\" ha sido creada" } }, - "importFromDocker": "Importar desde docker" + "importFromDocker": "Importar desde Docker" } diff --git a/public/locales/es/layout/manage.json b/public/locales/es/layout/manage.json index b29d782ad..0ecab9350 100644 --- a/public/locales/es/layout/manage.json +++ b/public/locales/es/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "Migrar a 1.0" } }, "about": { diff --git a/public/locales/es/manage/migrate.json b/public/locales/es/manage/migrate.json index 64030b6ba..ba193f7f3 100644 --- a/public/locales/es/manage/migrate.json +++ b/public/locales/es/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "Migrar a 1.0", + "pageTitle": "Migrar tableros, integraciones y usuarios", + "description": "Exporta tus tableros y usuarios a un archivo ZIP para migrarlos a Homarr después de la versión 1.0.0", "securityNote": { - "title": "", - "text": "" + "title": "Nota de seguridad", + "text": "Al exportar usuarios e integraciones, también se abrirá una modal con una clave de cifrado. Esta clave es necesaria para importar los datos a Homarr. Manténgala segura y no la comparta con nadie." }, "form": { - "label": "", + "label": "Seleccione todo lo que desea exportar", "option": { "boards": { - "label": "" + "label": "Exportar tableros" }, "integrations": { - "label": "", - "description": "" + "label": "Exportar integraciones", + "description": "Esto incluirá credenciales cifradas para integraciones. Sólo disponible cuando se exporten tableros" }, "users": { - "label": "", - "description": "" + "label": "Exportar usuarios", + "description": "Esto sólo exportará credenciales de usuario, las contraseñas hash y salt son cifradas" } } }, "action": { - "export": "" + "export": "Exportar datos" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "Clave de cifrado", + "description": "Sus datos han sido exportados. Mantenga esta clave segura y no la comparta con nadie. Necesitará esta clave para importar los datos a Homarr.", + "copyDismiss": "Copiar y descartar" } } \ No newline at end of file diff --git a/public/locales/es/widgets/error-boundary.json b/public/locales/es/widgets/error-boundary.json index 45255e2ae..1c77f5cc3 100644 --- a/public/locales/es/widgets/error-boundary.json +++ b/public/locales/es/widgets/error-boundary.json @@ -7,8 +7,8 @@ } }, "modal": { - "text": "", - "label": "", - "reportButton": "" + "text": "El widget ha fallado inesperadamente. Lea la documentación y corrija los errores tipográficos.", + "label": "Ha ocurrido un error", + "reportButton": "Informar de este error en GitHub" } } diff --git a/public/locales/fr/modules/weather.json b/public/locales/fr/modules/weather.json index 4a6ab639a..13ecb8367 100644 --- a/public/locales/fr/modules/weather.json +++ b/public/locales/fr/modules/weather.json @@ -40,4 +40,4 @@ } }, "error": "Une erreur s'est produite" -} \ No newline at end of file +} diff --git a/public/locales/fr/settings/common.json b/public/locales/fr/settings/common.json index d87442cbb..e334d900f 100644 --- a/public/locales/fr/settings/common.json +++ b/public/locales/fr/settings/common.json @@ -10,7 +10,7 @@ }, "credits": { "madeWithLove": "Fait avec ❤️ par @", - "thirdPartyContent": "Voir le contenu de tierce partie", + "thirdPartyContent": "Voir le contenu tiers", "thirdPartyContentTable": { "dependencyName": "Dépendance", "dependencyVersion": "Version" diff --git a/public/locales/he/layout/manage.json b/public/locales/he/layout/manage.json index b7d1104e3..1dba4428a 100644 --- a/public/locales/he/layout/manage.json +++ b/public/locales/he/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "דוקר", "api": "ממשק API", - "migrate": "" + "migrate": "הגירה ל- 1.0" } }, "about": { diff --git a/public/locales/he/manage/migrate.json b/public/locales/he/manage/migrate.json index 64030b6ba..c923888e6 100644 --- a/public/locales/he/manage/migrate.json +++ b/public/locales/he/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "הגירה ל- 1.0", + "pageTitle": "הגירת לוחות, אינטגרציות ומשתמשים", + "description": "מייצא את הלוחות והמשתמשים שלך לארכיון ZIP כדי להעביר אותם ל-Homarr לאחר גרסה 1.0.0", "securityNote": { - "title": "", - "text": "" + "title": "הערת אבטחה", + "text": "בעת ייצוא משתמשים ואינטגרציות יפתח מסך עם מפתח הצפנה. מפתח זה נדרש כדי לייבא את הנתונים לתוך Homarr. שמור על מפתח ההצפנה בטוח ואל תשתף אותו עם אף אחד." }, "form": { - "label": "", + "label": "בחירת הפריטים לייצוא", "option": { "boards": { - "label": "" + "label": "ייצוא לוחות" }, "integrations": { - "label": "", - "description": "" + "label": "ייצוא אינטגרציות", + "description": "זה יכלול אישורים מוצפנים לאינטגרציות. זמין רק בעת ייצוא לוחות" }, "users": { - "label": "", - "description": "" + "label": "ייצוא משתמשים", + "description": "זה ייצא רק אישורי משתמש, סיסמאות hash ואותנטיקציה חד כיוונית מוצפנות" } } }, "action": { - "export": "" + "export": "ייצוא נתונים" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "מפתח הצפנה", + "description": "הנתונים שלך יוצאו. שמור את המפתח הזה בטוח ואל תשתף אותו עם אף אחד. תזדקק למפתח הזה כדי לייבא את הנתונים לתוך Homarr.", + "copyDismiss": "העתק וסגור" } } \ No newline at end of file diff --git a/public/locales/hu/layout/manage.json b/public/locales/hu/layout/manage.json index 245012250..e2eadef1e 100644 --- a/public/locales/hu/layout/manage.json +++ b/public/locales/hu/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "Migráció 1.0-ra" } }, "about": { diff --git a/public/locales/hu/manage/migrate.json b/public/locales/hu/manage/migrate.json index 64030b6ba..44a186597 100644 --- a/public/locales/hu/manage/migrate.json +++ b/public/locales/hu/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "Migráció 1.0-ra", + "pageTitle": "Áttelepítheti a táblákat, az integrációkat és a felhasználókat", + "description": "Exportálja a táblákat és a felhasználókat egy ZIP-archívumba, hogy az 1.0.0 verzió után átvihesse őket a Homarr-ra", "securityNote": { - "title": "", - "text": "" + "title": "Biztonsági megjegyzés", + "text": "A felhasználók és integrációk exportálásakor egy modal is megnyílik a titkosítási kulccsal. Ez a kulcs szükséges az adatok Homarrba történő importálásához. Tartsa biztonságban, és ne ossza meg senkivel." }, "form": { - "label": "", + "label": "Válassza ki mindazt, amit exportálni szeretne", "option": { "boards": { - "label": "" + "label": "Táblák exportálása" }, "integrations": { - "label": "", - "description": "" + "label": "Integrációk exportálása", + "description": "Ez magában foglalja az integrációhoz szükséges titkosított hitelesítő adatokat. Csak táblák exportálásakor érhető el" }, "users": { - "label": "", - "description": "" + "label": "Felhasználók exportálása", + "description": "Ez csak a hitelesítő adatokat exportálja, a hash és a salt jelszavak titkosítva vannak" } } }, "action": { - "export": "" + "export": "Adatok exportálása" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "Titkosítókulcs", + "description": "Adatai exportálva. Tartsa biztonságban ezt a kulcsot, és ne ossza meg senkivel. Erre a kulcsra lesz szüksége az adatok Homarrba történő importálásához.", + "copyDismiss": "Másolás és elvetés" } } \ No newline at end of file diff --git a/public/locales/hu/modules/weather.json b/public/locales/hu/modules/weather.json index 21f4781b3..334619c16 100644 --- a/public/locales/hu/modules/weather.json +++ b/public/locales/hu/modules/weather.json @@ -40,4 +40,4 @@ } }, "error": "Hiba történt" -} \ No newline at end of file +} diff --git a/public/locales/it/layout/manage.json b/public/locales/it/layout/manage.json index 3dbde5d69..344eb2969 100644 --- a/public/locales/it/layout/manage.json +++ b/public/locales/it/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "Migrare alla 1.0" } }, "about": { diff --git a/public/locales/it/manage/migrate.json b/public/locales/it/manage/migrate.json index 64030b6ba..bba5e30a3 100644 --- a/public/locales/it/manage/migrate.json +++ b/public/locales/it/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "Migrare alla 1.0", + "pageTitle": "Migra schede, integrazioni e utenti", + "description": "Esporta le tue bacheche e gli utenti in un archivio ZIP per migrarli su Homarr dopo la versione 1.0.0", "securityNote": { - "title": "", - "text": "" + "title": "Note di sicurezza", + "text": "Quando si esportano utenti e integrazioni, si aprirà anche una finestra modale con una chiave di crittografia. Questa chiave è necessaria per importare i dati in Homarr. Mantienila al sicuro e non condividerla con nessuno." }, "form": { - "label": "", + "label": "Seleziona tutto quello che vuoi esportare", "option": { "boards": { - "label": "" + "label": "Esporta schede" }, "integrations": { - "label": "", - "description": "" + "label": "Esporta integrazioni", + "description": "Questo includerà le credenziali crittografate per le integrazioni. Disponibile solo quando si esportano schede" }, "users": { - "label": "", - "description": "" + "label": "Esporta utenti", + "description": "Questo esporterà solo le credenziali degli utenti, l'hash e il salt delle password sono criptati" } } }, "action": { - "export": "" + "export": "Esporta dati" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "Chiave crittografica", + "description": "I tuoi dati sono stati esportati. Tieni questa chiave al sicuro e non condividerla con nessuno. Questa chiave ti servirà per importare i dati su Homarr.", + "copyDismiss": "Copia e chiudi" } } \ No newline at end of file diff --git a/public/locales/it/modules/weather.json b/public/locales/it/modules/weather.json index a677bb782..35affd9d5 100644 --- a/public/locales/it/modules/weather.json +++ b/public/locales/it/modules/weather.json @@ -40,4 +40,4 @@ } }, "error": "Si è verificato un errore" -} \ No newline at end of file +} diff --git a/public/locales/ja/layout/manage.json b/public/locales/ja/layout/manage.json index ce5d9af17..ba2731562 100644 --- a/public/locales/ja/layout/manage.json +++ b/public/locales/ja/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "1.0に移行" } }, "about": { diff --git a/public/locales/ja/manage/migrate.json b/public/locales/ja/manage/migrate.json index 64030b6ba..2e1058054 100644 --- a/public/locales/ja/manage/migrate.json +++ b/public/locales/ja/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "1.0に移行", + "pageTitle": "ボード、統合、ユーザーを移行する", + "description": "ボードとユーザーをZIPアーカイブにエクスポートしてバージョン1.0.0以降のHomarrに移行します。", "securityNote": { - "title": "", - "text": "" + "title": "セキュリティノート", + "text": "ユーザーと統合をエクスポートすると暗号化キーを含むモーダルも開きます。このキーはデータをHomarrにインポートするために必要です。安全に保管し誰とも共有しないでください。" }, "form": { - "label": "", + "label": "エクスポートしたいものをすべて選択してください", "option": { "boards": { - "label": "" + "label": "ボードをエクスポート" }, "integrations": { - "label": "", - "description": "" + "label": "エクスポート統合", + "description": "これには統合用の暗号化された認証情報が含まれます。ボードをエクスポートする場合のみ利用可能です。" }, "users": { - "label": "", - "description": "" + "label": "ユーザーをエクスポート", + "description": "これにより資格情報ユーザーのみがエクスポートされ、パスワードハッシュとソルトは暗号化されます。" } } }, "action": { - "export": "" + "export": "データをエクスポート" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "暗号化キー", + "description": "データがエクスポートされました。このキーは安全に保管し誰とも共有しないでください。このキーはデータをHomarrにインポートするために必要になります。", + "copyDismiss": "コピーして閉じる" } } \ No newline at end of file diff --git a/public/locales/ja/widgets/error-boundary.json b/public/locales/ja/widgets/error-boundary.json index 777aaaac4..3e8fe7797 100644 --- a/public/locales/ja/widgets/error-boundary.json +++ b/public/locales/ja/widgets/error-boundary.json @@ -7,8 +7,8 @@ } }, "modal": { - "text": "", - "label": "", - "reportButton": "" + "text": "widet が予期せずクラッシュしました。ドキュメントを読み、誤字を修正してください。", + "label": "エラーが発生しました", + "reportButton": "GitHubでこのエラーを報告する" } } diff --git a/public/locales/lv/modules/weather.json b/public/locales/lv/modules/weather.json index 96690ae63..250996a34 100644 --- a/public/locales/lv/modules/weather.json +++ b/public/locales/lv/modules/weather.json @@ -40,4 +40,4 @@ } }, "error": "Radās kļūda" -} \ No newline at end of file +} diff --git a/public/locales/nl/layout/manage.json b/public/locales/nl/layout/manage.json index 3d2122b17..b5420be3b 100644 --- a/public/locales/nl/layout/manage.json +++ b/public/locales/nl/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "Migreren naar 1.0" } }, "about": { diff --git a/public/locales/nl/manage/migrate.json b/public/locales/nl/manage/migrate.json index 64030b6ba..7e1bb5586 100644 --- a/public/locales/nl/manage/migrate.json +++ b/public/locales/nl/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "Migreren naar 1.0", + "pageTitle": "Migreer borden, integraties en gebruikers", + "description": "Exporteert je borden en gebruikers naar een ZIP-archief om ze te migreren naar Homarr na versie 1.0.0", "securityNote": { - "title": "", - "text": "" + "title": "Beveiligingsopmerking", + "text": "Bij het exporteren van gebruikers en integraties wordt ook een modal geopend met een coderingssleutel. Deze sleutel is nodig om de gegevens in Homarr te importeren. Bewaar het veilig en deel het met niemand." }, "form": { - "label": "", + "label": "Selecteer alles wat je wilt exporteren", "option": { "boards": { - "label": "" + "label": "Borden exporteren" }, "integrations": { - "label": "", - "description": "" + "label": "Integraties exporteren", + "description": "Dit zal versleutelde referenties voor integraties bevatten. Alleen beschikbaar bij het exporteren van borden" }, "users": { - "label": "", - "description": "" + "label": "Gebruikers exporteren", + "description": "Dit exporteert alleen gebruikers met referenties, de hash en salt van wachtwoorden zijn versleuteld" } } }, "action": { - "export": "" + "export": "Gegevens exporteren" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "Encryptiesleutel", + "description": "Je gegevens zijn geëxporteerd. Bewaar deze sleutel goed en deel hem met niemand. Je hebt deze sleutel nodig om de gegevens in Homarr te importeren.", + "copyDismiss": "Kopiëren & negeren" } } \ No newline at end of file diff --git a/public/locales/nl/widgets/error-boundary.json b/public/locales/nl/widgets/error-boundary.json index f8bfe10fc..a8a02ed17 100644 --- a/public/locales/nl/widgets/error-boundary.json +++ b/public/locales/nl/widgets/error-boundary.json @@ -7,8 +7,8 @@ } }, "modal": { - "text": "", - "label": "", - "reportButton": "" + "text": "De widget is onverwachts gecrasht. Lees de documentatie en corrigeer eventuele typfouten.", + "label": "Fout opgetreden", + "reportButton": "Rapporteer deze fout op GitHub" } } diff --git a/public/locales/no/common.json b/public/locales/no/common.json index c0067ee12..5f81d0bcf 100644 --- a/public/locales/no/common.json +++ b/public/locales/no/common.json @@ -17,7 +17,7 @@ "disabled": "Deaktivert", "enableAll": "Aktiver alle", "disableAll": "Deaktiver alle", - "setTimer": "", + "setTimer": "Angi timer", "version": "Versjon", "changePosition": "Endre posisjon", "remove": "Fjern", diff --git a/public/locales/no/layout/modals/add-app.json b/public/locales/no/layout/modals/add-app.json index 905b573e9..7f622e49c 100644 --- a/public/locales/no/layout/modals/add-app.json +++ b/public/locales/no/layout/modals/add-app.json @@ -32,7 +32,7 @@ "externalAddress": { "label": "Ekstern adresse", "description": "URL som vil åpnes når du klikker på appen.", - "tooltip": "" + "tooltip": "Du kan bruke noen variabler for å opprette dynamiske adresser:<br><br><b>[homarr_base]</b> : full adresse uten port og sti. <i>(Eksempel: 'https://subdomain.homarr.dev')</i><br><b>[homarr_hostname]</b> : full base-Url inkludert gjeldende subdomene. <i>(Eksempel: 'subdomain.homarr.dev')</i><br><b>[homarr_domain]</b> : domenet med subdomenet filtrert bort. <i>(Eksempel: 'homarr.dev')</i><br><b>[homarr_protocol]</b> : <i>http/https</i><br><br>Disse variablene avhenger av den nåværende Url-en." } }, "behaviour": { diff --git a/public/locales/no/manage/index.json b/public/locales/no/manage/index.json index c32ecbae1..f7b070870 100644 --- a/public/locales/no/manage/index.json +++ b/public/locales/no/manage/index.json @@ -1,5 +1,5 @@ { - "metaTitle": "Endre", + "metaTitle": "Administrer", "hero": { "title": "Velkommen tilbake, {{username}}", "fallbackUsername": "Anonym", diff --git a/public/locales/no/modules/dns-hole-controls.json b/public/locales/no/modules/dns-hole-controls.json index cda036870..60c6b2288 100644 --- a/public/locales/no/modules/dns-hole-controls.json +++ b/public/locales/no/modules/dns-hole-controls.json @@ -16,10 +16,10 @@ } }, "durationModal": { - "title": "", - "hours": "", - "minutes": "", - "unlimited": "", - "set": "" + "title": "Angi varighet for deaktivering", + "hours": "Timer", + "minutes": "Minutter", + "unlimited": "la stå tomt for ubegrenset", + "set": "Sett" } } \ No newline at end of file diff --git a/public/locales/no/modules/health-monitoring.json b/public/locales/no/modules/health-monitoring.json index 30e8e1f61..1ba567d93 100644 --- a/public/locales/no/modules/health-monitoring.json +++ b/public/locales/no/modules/health-monitoring.json @@ -35,14 +35,14 @@ }, "defaultTabState": { "label": "Fane åpen som standard", - "info": "", + "info": "Fane åpnes som standard. Brukes bare når flere integrasjoner er tilgjengelige.", "data": { - "system": "", - "cluster": "" + "system": "System", + "cluster": "Klynge" } }, "summary": { - "label": "" + "label": "Vis sammendragsdel" }, "showNode": { "label": "" @@ -97,8 +97,8 @@ } }, "headings": { - "system": "", - "cluster": "" + "system": "System", + "cluster": "Klynge" }, "cluster": { "summary": { diff --git a/public/locales/no/modules/indexer-manager.json b/public/locales/no/modules/indexer-manager.json index b5f99e5ac..bbf7a96ef 100644 --- a/public/locales/no/modules/indexer-manager.json +++ b/public/locales/no/modules/indexer-manager.json @@ -5,7 +5,7 @@ "settings": { "title": "Indekserings-behandler status", "openIndexerSiteInNewTab": { - "label": "" + "label": "Åpne indekseringsside i ny fane" } } }, diff --git a/public/locales/no/modules/smart-home/entity-state.json b/public/locales/no/modules/smart-home/entity-state.json index 267ba75b6..6aa7ec1cd 100644 --- a/public/locales/no/modules/smart-home/entity-state.json +++ b/public/locales/no/modules/smart-home/entity-state.json @@ -22,11 +22,11 @@ }, "displayFriendlyName": { "label": "Vis brukervennlig navn", - "info": "" + "info": "Vis brukervennlig navn fra Home Assistant i stedet for visningsnavn." }, "genericToggle": { - "label": "", - "info": "" + "label": "Entitetsveksling", + "info": "Utfør en generisk Home Assistant veksle handling på enheten når du klikker." } } } diff --git a/public/locales/no/modules/weather.json b/public/locales/no/modules/weather.json index 45f7b9d9d..172ef645c 100644 --- a/public/locales/no/modules/weather.json +++ b/public/locales/no/modules/weather.json @@ -40,4 +40,4 @@ } }, "error": "En feil oppstod" -} \ No newline at end of file +} diff --git a/public/locales/no/widgets/error-boundary.json b/public/locales/no/widgets/error-boundary.json index f923f39e8..3de2cf6b5 100644 --- a/public/locales/no/widgets/error-boundary.json +++ b/public/locales/no/widgets/error-boundary.json @@ -7,8 +7,8 @@ } }, "modal": { - "text": "", - "label": "", - "reportButton": "" + "text": "Widget hadde et krasj. Les dokumentasjonen og rett opp skrivefeil.", + "label": "Oppstod feil", + "reportButton": "Rapporter denne feilen på GitHub" } } diff --git a/public/locales/pl/authentication/login.json b/public/locales/pl/authentication/login.json index 31ad0b73c..cc5e8fe55 100644 --- a/public/locales/pl/authentication/login.json +++ b/public/locales/pl/authentication/login.json @@ -17,8 +17,8 @@ "afterLoginRedirection": "Po zalogowaniu nastąpi przekierowanie na stronę {{url}}", "providersEmpty": { "title": "Błąd dostawcy uwierzytelniania", - "message": "" + "message": "Dostawcy nie są ustawieni, sprawdź logi, aby uzyskać więcej informacji." } }, - "alert": "Twoje dane logowania są nieprawidłowe lub to konto nie istnieje. Spróbuj ponownie." + "alert": "Twoje dane uwierzytelniające są nieprawidłowe lub to konto nie istnieje. Proszę spróbować ponownie." } \ No newline at end of file diff --git a/public/locales/pl/layout/manage.json b/public/locales/pl/layout/manage.json index 7001d9f3d..d0d4a8ed5 100644 --- a/public/locales/pl/layout/manage.json +++ b/public/locales/pl/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "Migracja do wersji 1.0" } }, "about": { diff --git a/public/locales/pl/layout/modals/add-app.json b/public/locales/pl/layout/modals/add-app.json index 1ae131f8e..2d451f5ea 100644 --- a/public/locales/pl/layout/modals/add-app.json +++ b/public/locales/pl/layout/modals/add-app.json @@ -32,7 +32,7 @@ "externalAddress": { "label": "Adres zewnętrzny", "description": "URL, który zostanie otwarty po kliknięciu na aplikację.", - "tooltip": "" + "tooltip": "Możesz użyć kilku zmiennych, aby utworzyć dynamiczne adresy:<br><br><b>[homarr_base]</b>: pełny adres z wyłączeniem portu i ścieżki. <i>(Przykład: \"https://subdomain.homarr.dev\")</i><br><b>[homarr_hostname]</b>: pełny bazowy adres url, w tym bieżąca subdomena. <i>(Przykład: \"subdomain.homarr.dev\")</i><br><b>[homarr_domain]</b>: domena z odfiltrowaną subdomeną. <i>(Przykład: `homarr.dev')</i><br><b>[homarr_protocol]</b>: <i>http/https</i><br><br>Wszystkie te zmienne zależą od bieżącego adresu url." } }, "behaviour": { diff --git a/public/locales/pl/manage/migrate.json b/public/locales/pl/manage/migrate.json index 64030b6ba..1e6bcef55 100644 --- a/public/locales/pl/manage/migrate.json +++ b/public/locales/pl/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "Migracja do wersji 1.0", + "pageTitle": "Migracja tablic, integracji i użytkowników", + "description": "Eksportuje tablice i użytkowników do archiwum ZIP w celu migracji do Homarr po wersji 1.0.0", "securityNote": { - "title": "", - "text": "" + "title": "Uwaga dotycząca bezpieczeństwa", + "text": "Podczas eksportowania użytkowników i integracji otworzy się również okno dialogowe z kluczem szyfrowania. Klucz ten jest wymagany do zaimportowania danych do Homarr. Przechowuj go bezpiecznie i nie udostępniaj nikomu." }, "form": { - "label": "", + "label": "Zaznacz wszystko, co chcesz wyeksportować", "option": { "boards": { - "label": "" + "label": "Eksportuj tablice" }, "integrations": { - "label": "", - "description": "" + "label": "Eksportuj integracje", + "description": "Obejmie zaszyfrowane dane logowania do integracji. Dostępne tylko podczas eksportowania tablic." }, "users": { - "label": "", - "description": "" + "label": "Eksportuj użytkowników", + "description": "Spowoduje to wyeksportowanie tylko poświadczeń użytkowników, hash haseł, które są zaszyfrowane" } } }, "action": { - "export": "" + "export": "Eksport danych" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "Klucz szyfrowania", + "description": "Twoje dane zostały wyeksportowane. Zachowaj ten klucz w bezpiecznym miejscu i nie udostępniaj go nikomu. Będziesz potrzebować tego klucza, aby zaimportować dane do Homarr.", + "copyDismiss": "Kopiuj i zamknij" } } \ No newline at end of file diff --git a/public/locales/pl/manage/users.json b/public/locales/pl/manage/users.json index 85adc3b4a..86ff6834e 100644 --- a/public/locales/pl/manage/users.json +++ b/public/locales/pl/manage/users.json @@ -6,7 +6,7 @@ }, "filter": { "roles": { - "all": "", + "all": "Wszystkie", "normal": "Zwykły", "admin": "Admin", "owner": "Właściciel" diff --git a/public/locales/pl/modules/dns-hole-controls.json b/public/locales/pl/modules/dns-hole-controls.json index 765d88a6b..1b8ed8280 100644 --- a/public/locales/pl/modules/dns-hole-controls.json +++ b/public/locales/pl/modules/dns-hole-controls.json @@ -11,15 +11,15 @@ "errors": { "general": { "title": "Nie można znaleźć pułapki DNS", - "text": "Wystąpił problem z połączeniem się z pułapką DNS. Sprawdź konfigurację/integrację." + "text": "Wystąpił problem z połączeniem z Twoimi lukami DNS. Sprawdź swoją konfigurację/integrację." } } }, "durationModal": { - "title": "", - "hours": "", - "minutes": "", - "unlimited": "", - "set": "" + "title": "Ustaw czas trwania wyłączenia", + "hours": "Godziny", + "minutes": "Minuty", + "unlimited": "Pozostaw puste, aby ustawić na nieograniczone", + "set": "Ustaw" } } \ No newline at end of file diff --git a/public/locales/pl/modules/health-monitoring.json b/public/locales/pl/modules/health-monitoring.json index 0515aee8a..6010adb1a 100644 --- a/public/locales/pl/modules/health-monitoring.json +++ b/public/locales/pl/modules/health-monitoring.json @@ -1,104 +1,104 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Monitorowanie zdrowia systemu", + "description": "Wyświetla informacje o kondycji i stanie systemu(ów).", "settings": { - "title": "", + "title": "Ustawienia monitorowania kondycji systemu", "fahrenheit": { - "label": "" + "label": "Temperatura procesora w Fahrenheit" }, "cpu": { - "label": "", - "load": "", - "minute": "", - "minutes": "" + "label": "Temperatura CPU w stopniach Fahrenheita.", + "load": "Średnie obciążenie", + "minute": "{{minute}} minuta", + "minutes": "{{minutes}} minuty" }, "memory": { - "label": "" + "label": "Pokaż informacje o pamięci" }, "fileSystem": { - "label": "" + "label": "Pokaż informacje o systemie plików" }, "node": { - "label": "", - "info": "" + "label": "Filtruj według nazwy węzła", + "info": "Wprowadź nazwę węzła Proxmox, aby wyświetlić tylko metryki dla tego węzła. Domyślnie wyświetlane są metryki dla całego klastra." }, "defaultViewState": { - "label": "", + "label": "Sekcja otwarta domyślnie", "data": { "none": "Żaden", - "node": "", - "vm": "", - "lxc": "", + "node": "Węzły", + "vm": "Maszyny wirtualne", + "lxc": "LXCs", "storage": "Pamięć" } }, "defaultTabState": { - "label": "", - "info": "", + "label": "Domyślnie otwarta karta", + "info": "Domyślnie otwarta karta. Używana tylko wtedy, gdy dostępnych jest wiele integracji.", "data": { - "system": "", - "cluster": "" + "system": "System", + "cluster": "Klaster" } }, "summary": { - "label": "" + "label": "Pokaż sekcję podsumowania" }, "showNode": { - "label": "" + "label": "Pokaż sekcję węzłów" }, "showVM": { - "label": "" + "label": "Pokaż sekcję maszyn wirtualnych" }, "showLXCs": { - "label": "" + "label": "Pokaż sekcję LXC" }, "showStorage": { - "label": "" + "label": "Pokaż sekcję pamięci" }, "sectionIndicatorColor": { - "label": "", - "info": "", + "label": "Wymaganie, aby wskaźnik stanu sekcji był ustawiony na \"OK\"", + "info": "Opcja „Wszystkie” wymaga, aby wszystkie elementy były online, aby wskaźnik świecił na zielono. Opcja „Dowolny” wymaga, aby co najmniej jeden element był online.", "data": { - "any": "", - "all": "" + "any": "Dowolny aktywny", + "all": "Wszystkie aktywne" } }, "ignoreCert": { - "label": "", - "info": "" + "label": "Ignoruj błędy certyfikatu", + "info": "Jeśli ta opcja jest włączona, widżet będzie ignorował błędy certyfikatu podczas uzyskiwania dostępu do interfejsu API Proxmox. Może to być przydatne podczas uzyskiwania dostępu do Proxmox przez HTTPS." } } }, "cpu": { "label": "CPU", - "load": "", - "minute": "" + "load": "Średnie obciążenie", + "minute": "{{minute}} minuta" }, "memory": { - "label": "", - "totalMem": "", - "available": "" + "label": "Pamięć", + "totalMem": "Całkowita pamięć: {{total}}GB", + "available": "Dostępne: {{available}}GB - {{percentage}}%" }, "fileSystem": { - "label": "", - "available": "" + "label": "System plików", + "available": "Dostępne: {{available}} - {{percentage}}%" }, "info": { - "uptime": "", - "uptimeFormat": "", - "updates": "", - "reboot": "" + "uptime": "Czas pracy", + "uptimeFormat": "{{days}} dni, {{hours}} godzin, {{minutes}} minut", + "updates": "Dostępne aktualizacje", + "reboot": "Uruchom ponownie" }, "errors": { "general": { - "title": "", - "text": "" + "title": "Nie można znaleźć systemu(ów).", + "text": "Wystąpił problem z połączeniem z systemem. Sprawdź konfigurację/integrację(e)." } }, "headings": { - "system": "", - "cluster": "" + "system": "System", + "cluster": "Klaster" }, "cluster": { "summary": { @@ -107,9 +107,9 @@ }, "accordion": { "title": { - "nodes": "", - "vms": "", - "lxcs": "", + "nodes": "Węzły", + "vms": "Maszyny wirtualne", + "lxcs": "LXCs", "storage": "Pamięć" } }, @@ -118,24 +118,24 @@ "name": "Nazwa", "cpu": "CPU", "ram": "RAM", - "node": "" + "node": "Węzeł" } }, "popover": { - "node": "", - "vmid": "", + "node": "Węzeł", + "vmid": "Identyfikator maszyny wirtualnej", "details": "Szczegóły", - "cores": "", - "memSize": "", - "memRatio": "", - "diskSize": "", - "diskRatio": "", - "uptime": "", - "plugin": "", - "ha": "", - "sharedStorage": "", - "localStorage": "", - "na": "" + "cores": "Rdzenie - {{maxCpu}}", + "memSize": "Pamięć - {{maxMem}}", + "memRatio": "Pamięć - {{usedMem}} / {{maxMem}}", + "diskSize": "Dysk - {{maxDisk}}", + "diskRatio": "Dysk - {{usedDisk}} / {{maxDisk}}", + "uptime": "Czas pracy - {{uptime}}", + "plugin": "Wtyczka", + "ha": "Status HA - {{haState}}", + "sharedStorage": "Pamięć współdzielona", + "localStorage": "Pamięć lokalna", + "na": "Nie dotyczy" } } } \ No newline at end of file diff --git a/public/locales/pl/modules/indexer-manager.json b/public/locales/pl/modules/indexer-manager.json index 931454027..58b9d5627 100644 --- a/public/locales/pl/modules/indexer-manager.json +++ b/public/locales/pl/modules/indexer-manager.json @@ -1,22 +1,22 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Status menedżera indeksu", + "description": "Status Twoich indeksów", "settings": { - "title": "", + "title": "Status menedżera indeksu", "openIndexerSiteInNewTab": { - "label": "" + "label": "Otwórz stronę indeksowania w nowej karcie" } } }, "indexersStatus": { - "title": "", - "testAllButton": "" + "title": "Menedżer indeksów", + "testAllButton": "Przetestuj wszystkie" }, "errors": { "general": { - "title": "", - "text": "" + "title": "Nie można znaleźć menedżera indeksowania", + "text": "Wystąpił problem z połączeniem z menedżerem indeksowania. Sprawdź konfigurację/integracje." } } } \ No newline at end of file diff --git a/public/locales/pl/modules/media-requests-list.json b/public/locales/pl/modules/media-requests-list.json index d03946eb0..a6017db69 100644 --- a/public/locales/pl/modules/media-requests-list.json +++ b/public/locales/pl/modules/media-requests-list.json @@ -17,8 +17,8 @@ "approved": "Zatwierdzono", "pendingApproval": "Oczekujące na zatwierdzenie", "declined": "Odrzucono", - "available": "", - "partial": "" + "available": "Dostępny", + "partial": "Częściowy" }, "tooltips": { "approve": "Zatwierdź zapytania", diff --git a/public/locales/pl/modules/media-transcoding.json b/public/locales/pl/modules/media-transcoding.json index b00ab82fb..549898f35 100644 --- a/public/locales/pl/modules/media-transcoding.json +++ b/public/locales/pl/modules/media-transcoding.json @@ -1,96 +1,96 @@ { "descriptor": { - "name": "", - "description": "", + "name": "Transkodowanie multimediów", + "description": "Wyświetla informacje o transkodowaniu multimediów", "settings": { - "title": "", + "title": "Ustawienia transkodowania multimediów", "appId": { - "label": "" + "label": "Wybierz aplikację" }, "defaultView": { - "label": "", + "label": "Domyślny widok", "data": { - "workers": "", + "workers": "Pracownicy", "queue": "Kolejka", - "statistics": "" + "statistics": "Statystyki" } }, "showHealthCheck": { - "label": "" + "label": "Pokaż wskaźnik kontroli stanu zdrowia" }, "showHealthChecksInQueue": { - "label": "" + "label": "Pokaż sprawdzenia stanu zdrowia w kolejce" }, "queuePageSize": { - "label": "" + "label": "Kolejka: Elementy na stronę" }, "showAppIcon": { - "label": "" + "label": "Pokaż ikonę aplikacji w prawym dolnym rogu" } } }, - "noAppSelected": "", + "noAppSelected": "Wybierz aplikację w ustawieniach widżetu", "views": { "workers": { "table": { "header": { - "name": "", + "name": "Plik", "eta": "ETA", "progress": "Postęp" }, "empty": "Puste", "tooltip": { - "transcode": "", - "healthCheck": "" + "transcode": "Transkoduj", + "healthCheck": "Sprawdź stan" } } }, "queue": { "table": { "header": { - "name": "", + "name": "Plik", "size": "Rozmiar" }, "footer": { - "currentIndex": "" + "currentIndex": "{{start}}-{{end}} z {{total}}" }, "empty": "Puste", "tooltip": { - "transcode": "", - "healthCheck": "" + "transcode": "Transkoduj", + "healthCheck": "Sprawdź stan" } } }, "statistics": { "empty": "Puste", "box": { - "transcodes": "", - "healthChecks": "", - "files": "", - "spaceSaved": "" + "transcodes": "Transkodowanie: {{value}}", + "healthChecks": "Sprawdzanie stanu zdrowia: {{value}}", + "files": "Pliki: {{value}}", + "spaceSaved": "Zapisane: {{value}}" }, "pies": { - "transcodes": "", - "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "transcodes": "Transkoduj", + "healthChecks": "Sprawdzanie stanu zdrowia", + "videoCodecs": "Kodeki", + "videoContainers": "Kontenery", + "videoResolutions": "Rozdzielczość" } } }, "error": { "title": "Błąd", - "message": "" + "message": "Wystąpił błąd podczas pobierania danych z Tdarr." }, "tabs": { - "workers": "", + "workers": "Pracownicy", "queue": "Kolejka", - "statistics": "" + "statistics": "Statystyki" }, "healthCheckStatus": { - "title": "", - "queued": "", - "healthy": "", - "unhealthy": "" + "title": "Sprawdź stan", + "queued": "Zakolejkowane", + "healthy": "Zdrowy", + "unhealthy": "Niezdrowy" } } diff --git a/public/locales/pl/modules/rss.json b/public/locales/pl/modules/rss.json index 73d779732..ee9a33294 100644 --- a/public/locales/pl/modules/rss.json +++ b/public/locales/pl/modules/rss.json @@ -22,10 +22,10 @@ "label": "Sortuj według daty publikacji (rosnąco)" }, "sortPostsWithoutPublishDateToTheTop": { - "label": "" + "label": "Umieść posty bez daty publikacji na górze" }, "maximumAmountOfPosts": { - "label": "" + "label": "Maksymalna liczba postów" } }, "card": { diff --git a/public/locales/pl/modules/smart-home/entity-state.json b/public/locales/pl/modules/smart-home/entity-state.json index 91d4065b8..a65b9eebd 100644 --- a/public/locales/pl/modules/smart-home/entity-state.json +++ b/public/locales/pl/modules/smart-home/entity-state.json @@ -1,17 +1,17 @@ { - "entityNotFound": "Nie znaleziono encji", + "entityNotFound": "Nie znaleziono obiektu", "descriptor": { - "name": "Encja Home Assistant", - "description": "Aktualny stan encji w Home Assistant", + "name": "Obiekt asystenta domu", + "description": "Aktualny stan obiektu w Asystencie Domu", "settings": { - "title": "Stan encji", + "title": "Stan obiektu", "entityId": { - "label": "ID encji", - "info": "Unikalne ID encji w Home Assistant. Kopiuj klikając na encji > Kliknij ikonę koła zębatego > Kliknij na przycisk kopiuj na 'ID encji'. Niektóre niestandardowe obiekty mogą nie być obsługiwane." + "label": "ID obiektu", + "info": "Unikalne ID obiektu w Asystencie Domu. Kopiuj klikając na obiekt > Kliknij ikonę koła zębatego > Kliknij na przycisk kopiuj na 'ID obiektu'. Niektóre niestandardowe obiekty mogą nie być obsługiwane." }, "appendUnit": { - "label": "", - "info": "" + "label": "Dodaj jednostkę miary", + "info": "Dodaj atrybut jednostki miary do stanu encji." }, "automationId": { "label": "Opcjonalne ID automatyzacji", @@ -21,12 +21,12 @@ "label": "Nazwa wyświetlana" }, "displayFriendlyName": { - "label": "", - "info": "" + "label": "Wyświetl przyjazną nazwę", + "info": "Wyświetlaj przyjazną nazwę z Home Assistant zamiast nazwy wyświetlanej." }, "genericToggle": { - "label": "", - "info": "" + "label": "Przełącznik encji", + "info": "Wykonaj ogólną akcję przełączania Home Assistant na encji po kliknięciu." } } } diff --git a/public/locales/pl/modules/torrents-status.json b/public/locales/pl/modules/torrents-status.json index 559a8bd95..a976d74e5 100644 --- a/public/locales/pl/modules/torrents-status.json +++ b/public/locales/pl/modules/torrents-status.json @@ -75,7 +75,7 @@ "peers": "Peery (połączone)", "label": "Etykieta", "state": "Status", - "stateMessage": "" + "stateMessage": "Wiadomość o stanie" }, "item": { "text": "Zarządzany przez {{appName}}, {{ratio}} stosunek" diff --git a/public/locales/pl/widgets/error-boundary.json b/public/locales/pl/widgets/error-boundary.json index c90e13b5d..60bc5c273 100644 --- a/public/locales/pl/widgets/error-boundary.json +++ b/public/locales/pl/widgets/error-boundary.json @@ -7,8 +7,8 @@ } }, "modal": { - "text": "", - "label": "", - "reportButton": "" + "text": "Widżet uległ nieoczekiwanej awarii. Przeczytaj dokumentację i popraw wszelkie literówki.", + "label": "Wystąpił błąd", + "reportButton": "Zgłoś ten błąd w serwisie GitHub" } } diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 7040eba2f..9b3c72a56 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -17,7 +17,7 @@ "disabled": "Desativado", "enableAll": "Habilitar tudo", "disableAll": "Desativar tudo", - "setTimer": "", + "setTimer": "Definir temporizador", "version": "Versão", "changePosition": "Mudar de posição", "remove": "Excluir", diff --git a/public/locales/pt/layout/header.json b/public/locales/pt/layout/header.json index 6cee768e8..0b3600642 100644 --- a/public/locales/pt/layout/header.json +++ b/public/locales/pt/layout/header.json @@ -15,7 +15,7 @@ "defaultBoard": "Painel de controle padrão", "manage": "Gerenciar", "logout": "Sair do site {{username}}", - "login": "Login" + "login": "“Login”" } }, "modals": { diff --git a/public/locales/pt/layout/manage.json b/public/locales/pt/layout/manage.json index 8c9526181..3e31878af 100644 --- a/public/locales/pt/layout/manage.json +++ b/public/locales/pt/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "Migrar para 1.0" } }, "about": { diff --git a/public/locales/pt/layout/modals/add-app.json b/public/locales/pt/layout/modals/add-app.json index d938fc4ba..0fc221370 100644 --- a/public/locales/pt/layout/modals/add-app.json +++ b/public/locales/pt/layout/modals/add-app.json @@ -32,7 +32,7 @@ "externalAddress": { "label": "Endereço externo", "description": "URL que será aberto ao clicar na aplicação.", - "tooltip": "" + "tooltip": "Você pode usar algumas variáveis para criar endereços dinâmicos:<br><br><b>[homarr_base]</b> : endereço completo, excluindo porta e caminho. <i>(Exemplo: 'https://subdomain.homarr.dev')</i><br><b>[homarr_hostname]</b> : URL base completa, incluindo seu subdomínio atual. <i>(Exemplo: 'subdomain.homarr.dev')</i><br><b>[homarr_domain]</b> : domínio com subdomínio filtrado. <i>(Exemplo: `homarr.dev')</i><br><b>[homarr_protocol]</b> : <i>http/https</i><br><br>Todas essas variáveis dependem da URL atual." } }, "behaviour": { diff --git a/public/locales/pt/manage/migrate.json b/public/locales/pt/manage/migrate.json index 64030b6ba..181257fc0 100644 --- a/public/locales/pt/manage/migrate.json +++ b/public/locales/pt/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "Migrar para 1.0", + "pageTitle": "Migrar painéis, integrações e usuários", + "description": "Exporta seus painéis e usuários para um arquivo ZIP para migrá-los para o Homarr após a versão 1.0.0", "securityNote": { - "title": "", - "text": "" + "title": "Nota de segurança", + "text": "Ao exportar usuários e integrações, também será aberto um modal com uma chave de criptografia. Essa chave é necessária para importar os dados para a Homarr. Mantenha-a em segurança e não a compartilhe com ninguém." }, "form": { - "label": "", + "label": "Selecione tudo o que deseja exportar", "option": { "boards": { - "label": "" + "label": "Exportar painéis" }, "integrations": { - "label": "", - "description": "" + "label": "Exportar integrações", + "description": "Isso incluirá credenciais criptografadas para integrações. Disponível somente ao exportar painéis" }, "users": { - "label": "", - "description": "" + "label": "Exportar usuários", + "description": "Isso exportará apenas usuários de credenciais, senhas hash e salt são criptografadas" } } }, "action": { - "export": "" + "export": "Exportar dados" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "Chave Criptográfica", + "description": "Seus dados foram exportados. Mantenha essa chave em segurança e não a compartilhe com ninguém. Você precisará dessa chave para importar os dados para a Homarr.", + "copyDismiss": "Copiar e dispensar" } } \ No newline at end of file diff --git a/public/locales/pt/modules/dns-hole-controls.json b/public/locales/pt/modules/dns-hole-controls.json index d57209772..0552c6755 100644 --- a/public/locales/pt/modules/dns-hole-controls.json +++ b/public/locales/pt/modules/dns-hole-controls.json @@ -16,10 +16,10 @@ } }, "durationModal": { - "title": "", - "hours": "", - "minutes": "", - "unlimited": "", - "set": "" + "title": "Definir tempo de duração da desativação", + "hours": "Horas", + "minutes": "Minutos", + "unlimited": "deixe em branco para ilimitado", + "set": "Definir" } } \ No newline at end of file diff --git a/public/locales/pt/modules/health-monitoring.json b/public/locales/pt/modules/health-monitoring.json index 786beeb78..ab046c3e3 100644 --- a/public/locales/pt/modules/health-monitoring.json +++ b/public/locales/pt/modules/health-monitoring.json @@ -86,7 +86,7 @@ }, "info": { "uptime": "Tempo de Atividade", - "uptimeFormat": "", + "uptimeFormat": "{{days}} dias, {{hours}} horas, {{minutes}} minutos", "updates": "Atualizações disponíveis", "reboot": "Reiniciar" }, diff --git a/public/locales/pt/modules/indexer-manager.json b/public/locales/pt/modules/indexer-manager.json index b4795ad10..a0c3e2505 100644 --- a/public/locales/pt/modules/indexer-manager.json +++ b/public/locales/pt/modules/indexer-manager.json @@ -5,7 +5,7 @@ "settings": { "title": "Status do Gerenciador de Indexadores", "openIndexerSiteInNewTab": { - "label": "" + "label": "Abrir o site do Indexer em uma nova guia" } } }, diff --git a/public/locales/pt/modules/media-transcoding.json b/public/locales/pt/modules/media-transcoding.json index d4b8a9838..e32c8c5dc 100644 --- a/public/locales/pt/modules/media-transcoding.json +++ b/public/locales/pt/modules/media-transcoding.json @@ -1,35 +1,35 @@ { "descriptor": { "name": "Transcodificação de mídia", - "description": "", + "description": "Exibe informações sobre transcodificação de mídia", "settings": { - "title": "", + "title": "Configurações de transcodificação de mídia", "appId": { - "label": "" + "label": "Selecione um app" }, "defaultView": { - "label": "", + "label": "Visualização padrão", "data": { - "workers": "", + "workers": "Trabalhadores", "queue": "Fila", "statistics": "Estatísticas" } }, "showHealthCheck": { - "label": "" + "label": "Mostrar indicador de verificação de saúde" }, "showHealthChecksInQueue": { - "label": "" + "label": "Mostrar verificações de saúde na fila" }, "queuePageSize": { - "label": "" + "label": "Fila: Itens por página" }, "showAppIcon": { - "label": "" + "label": "Mostrar o ícone do aplicativo no canto inferior direito" } } }, - "noAppSelected": "", + "noAppSelected": "Por favor, selecione um aplicativo nas configurações de widget", "views": { "workers": { "table": { @@ -41,7 +41,7 @@ "empty": "Vazio", "tooltip": { "transcode": "Transcodificar", - "healthCheck": "" + "healthCheck": "Verificação de Saúde" } } }, @@ -52,45 +52,45 @@ "size": "Tamanho" }, "footer": { - "currentIndex": "" + "currentIndex": "{{start}}-{{end}} de {{total}}" }, "empty": "Vazio", "tooltip": { "transcode": "Transcodificar", - "healthCheck": "" + "healthCheck": "Verificação de Saúde" } } }, "statistics": { "empty": "Vazio", "box": { - "transcodes": "", - "healthChecks": "", - "files": "", - "spaceSaved": "" + "transcodes": "Transcodificações: {{value}}", + "healthChecks": "Verificações de saúde: {{value}}", + "files": "Arquivos: {{value}}", + "spaceSaved": "Salvo: {{value}}" }, "pies": { - "transcodes": "", - "healthChecks": "", + "transcodes": "Transcodificações", + "healthChecks": "Verificações de saúde", "videoCodecs": "Codecs", - "videoContainers": "", - "videoResolutions": "" + "videoContainers": "Contêineres", + "videoResolutions": "Resoluções" } } }, "error": { "title": "Erro", - "message": "" + "message": "Ocorreu um erro ao buscar dados do Tdarr." }, "tabs": { - "workers": "", + "workers": "Trabalhadores", "queue": "Fila", "statistics": "Estatísticas" }, "healthCheckStatus": { - "title": "", - "queued": "", - "healthy": "", - "unhealthy": "" + "title": "Verificação de Saúde", + "queued": "Na fila", + "healthy": "Saudável", + "unhealthy": "Não saudável" } } diff --git a/public/locales/pt/modules/smart-home/entity-state.json b/public/locales/pt/modules/smart-home/entity-state.json index db3dbbf9b..306587bec 100644 --- a/public/locales/pt/modules/smart-home/entity-state.json +++ b/public/locales/pt/modules/smart-home/entity-state.json @@ -22,11 +22,11 @@ }, "displayFriendlyName": { "label": "Exibir nome amigável", - "info": "" + "info": "Exibir nome amigável do Home Assistant em vez do nome de exibição." }, "genericToggle": { "label": "", - "info": "" + "info": "Executa uma ação genérica de alternância do Home Assistant na entidade quando clicada." } } } diff --git a/public/locales/pt/modules/torrents-status.json b/public/locales/pt/modules/torrents-status.json index 77865361a..e89377f0a 100644 --- a/public/locales/pt/modules/torrents-status.json +++ b/public/locales/pt/modules/torrents-status.json @@ -31,15 +31,15 @@ "info": "Se estiver desativado, somente a proporção global será exibida. A proporção global ainda usará os rótulos se estiver definida" }, "columnOrdering": { - "label": "" + "label": "Habilitar reordenação das colunas" }, "rowSorting": { - "label": "" + "label": "Permitir a ordenação das linhas" }, "columns": { "label": "Selecione colunas para exibir", "data": { - "date": "", + "date": "Data adicionada", "down": "Para baixo", "up": "Para cima", "eta": "TED", diff --git a/public/locales/pt/modules/weather.json b/public/locales/pt/modules/weather.json index df8d043f1..f2c3294dc 100644 --- a/public/locales/pt/modules/weather.json +++ b/public/locales/pt/modules/weather.json @@ -40,4 +40,4 @@ } }, "error": "Ocorreu um erro" -} \ No newline at end of file +} diff --git a/public/locales/pt/widgets/error-boundary.json b/public/locales/pt/widgets/error-boundary.json index 6cbce8730..90cc66f48 100644 --- a/public/locales/pt/widgets/error-boundary.json +++ b/public/locales/pt/widgets/error-boundary.json @@ -7,8 +7,8 @@ } }, "modal": { - "text": "", - "label": "", - "reportButton": "" + "text": "O widet travou inesperadamente. Por favor, leia a documentação e corrija quaisquer erros de digitação.", + "label": "Ocorreu um erro", + "reportButton": "Reportar este erro no GitHub" } } diff --git a/public/locales/ru/manage/users/edit.json b/public/locales/ru/manage/users/edit.json index 79fbefe3b..dd38e20ed 100644 --- a/public/locales/ru/manage/users/edit.json +++ b/public/locales/ru/manage/users/edit.json @@ -3,7 +3,7 @@ "back": "Вернуться к управлению пользователями", "sections": { "general": { - "title": "Общие", + "title": "Основное", "inputs": { "username": { "label": "Имя пользователя" diff --git a/public/locales/ru/modules/bookmark.json b/public/locales/ru/modules/bookmark.json index 016c88ba2..2116206f0 100644 --- a/public/locales/ru/modules/bookmark.json +++ b/public/locales/ru/modules/bookmark.json @@ -35,7 +35,7 @@ }, "name": "Название", "url": "URL", - "newTab": "Открыть в новой вкладке", + "newTab": "Открывать в новой вкладке", "hideHostname": "Скрыть имя хоста", "hideIcon": "Скрыть иконку", "delete": "Удалить" diff --git a/public/locales/ru/modules/dlspeed.json b/public/locales/ru/modules/dlspeed.json index b85045084..9e58b24eb 100644 --- a/public/locales/ru/modules/dlspeed.json +++ b/public/locales/ru/modules/dlspeed.json @@ -27,7 +27,7 @@ }, "errors": { "noDownloadClients": { - "title": "Не найдено ни одного поддерживаемого клиента загрузки!", + "title": "Не найдены поддерживаемые клиенты загрузки!", "text": "Добавьте сервис загрузки, чтобы просмотреть текущие загрузки" } } diff --git a/public/locales/ru/user/preferences.json b/public/locales/ru/user/preferences.json index 5beea15a4..b4aca85ec 100644 --- a/public/locales/ru/user/preferences.json +++ b/public/locales/ru/user/preferences.json @@ -7,7 +7,7 @@ } }, "accessibility": { - "title": "Доступность", + "title": "Специальные возможности", "disablePulse": { "label": "Отключить пульсацию индикатора", "description": "По умолчанию индикаторы доступности в Homarr пульсируют. Это может раздражать. Этот переключатель отключит анимацию" diff --git a/public/locales/sk/layout/manage.json b/public/locales/sk/layout/manage.json index aba56ab32..b195a7c84 100644 --- a/public/locales/sk/layout/manage.json +++ b/public/locales/sk/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "Migrácia na verziu 1.0" } }, "about": { diff --git a/public/locales/sk/manage/migrate.json b/public/locales/sk/manage/migrate.json index 64030b6ba..a6cba5636 100644 --- a/public/locales/sk/manage/migrate.json +++ b/public/locales/sk/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "Migrácia na verziu 1.0", + "pageTitle": "Migrácia tabúľ, integrácií a používateľov", + "description": "Exportuje vaše nástenky a používateľov do archívu ZIP, aby ste ich mohli migrovať do systému Homarr po verzii 1.0.0", "securityNote": { - "title": "", - "text": "" + "title": "Bezpečnostná poznámka", + "text": "Pri exporte používateľov a integrácií sa tiež otvorí modálne okno so šifrovacím kľúčom. Tento kľúč je potrebný na import údajov do systému Homarr. Uchovávajte ho v bezpečí a s nikým ho nezdieľajte." }, "form": { - "label": "", + "label": "Vyberte všetko, čo chcete exportovať", "option": { "boards": { - "label": "" + "label": "Export dosiek" }, "integrations": { - "label": "", - "description": "" + "label": "Integrácie pre export", + "description": "To bude zahŕňať zašifrované poverenia pre integrácie. K dispozícii len pri exporte tabúľ" }, "users": { - "label": "", - "description": "" + "label": "Export používateľov", + "description": "Týmto spôsobom sa exportujú len poverenia používateľov, heslá sú zašifrované" } } }, "action": { - "export": "" + "export": "Exportovať dáta" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "Šifrovací kľúč", + "description": "Vaše údaje boli exportované. Tento kľúč uchovávajte v bezpečí a nikomu ho neposkytujte. Tento kľúč budete potrebovať na import údajov do systému Homarr.", + "copyDismiss": "Kopírovať a zavrieť" } } \ No newline at end of file diff --git a/public/locales/sk/modules/weather.json b/public/locales/sk/modules/weather.json index cb86dcaee..b82d593f7 100644 --- a/public/locales/sk/modules/weather.json +++ b/public/locales/sk/modules/weather.json @@ -40,4 +40,4 @@ } }, "error": "Vyskytla sa chyba" -} \ No newline at end of file +} diff --git a/public/locales/sv/authentication/invite.json b/public/locales/sv/authentication/invite.json index 2f71fcfb1..62298b421 100644 --- a/public/locales/sv/authentication/invite.json +++ b/public/locales/sv/authentication/invite.json @@ -1,6 +1,6 @@ { - "metaTitle": "Skapa Konto", - "title": "Skapa Konto", + "metaTitle": "Skapa ett konto", + "title": "Skapa ett konto", "text": "Vänligen ange dina uppgifter nedan", "form": { "fields": { @@ -11,7 +11,7 @@ "label": "Lösenord" }, "passwordConfirmation": { - "label": "Bekräfta lösenord" + "label": "Bekräfta lösenordet" } }, "buttons": { @@ -24,12 +24,12 @@ "text": "Vänligen vänta" }, "success": { - "title": "Konto skapat", + "title": "Kontot har skapats", "text": "Ditt konto har skapats utan problem" }, "error": { "title": "Fel", - "text": "Något gick fel, fick följande fel: {{error}}" + "text": "Något gick fel, på grund av följande orsak: {{error}}" } } } \ No newline at end of file diff --git a/public/locales/sv/authentication/login.json b/public/locales/sv/authentication/login.json index 680e0f4e9..6dbc0fc23 100644 --- a/public/locales/sv/authentication/login.json +++ b/public/locales/sv/authentication/login.json @@ -1,7 +1,7 @@ { "metaTitle": "Logga in", "title": "Välkommen tillbaka!", - "text": "Ange dina autentiseringsuppgifter", + "text": "Ange dina inloggningsuppgifter", "form": { "fields": { "username": { @@ -16,9 +16,9 @@ }, "afterLoginRedirection": "Efter inloggningen kommer du att omdirigeras till {{url}}", "providersEmpty": { - "title": "Fel vid autentiseringsfel", + "title": "Fel vid inloggning", "message": "Leverantören/leverantörerna är inte inställda, kontrollera dina loggar för mer information." } }, - "alert": "Dina autentiseringsuppgifter är felaktiga eller så finns inte det här kontot. Vänligen försök igen." + "alert": "Dina uppgifter är felaktiga eller så saknas det här kontot. Vänligen försök igen." } \ No newline at end of file diff --git a/public/locales/sv/boards/customize.json b/public/locales/sv/boards/customize.json index 696a032f0..d88d4a038 100644 --- a/public/locales/sv/boards/customize.json +++ b/public/locales/sv/boards/customize.json @@ -1,7 +1,7 @@ { - "metaTitle": "Anpassa {{name}} Board", - "pageTitle": "Anpassning för {{name}} Board", - "backToBoard": "Tillbaka till tavla", + "metaTitle": "Anpassa tavlan {{name}}", + "pageTitle": "Anpassning för tavlan {{name}}", + "backToBoard": "Tillbaka till tavlan", "settings": { "appearance": { "primaryColor": "Primärfärg", @@ -9,21 +9,21 @@ } }, "save": { - "button": "Spara ändringar", - "note": "Var försiktig, du har osparade ändringar!" + "button": "Spara ändringarna", + "note": "Var försiktig, du har ändringar som ej sparats!" }, "notifications": { "pending": { - "title": "Sparar anpassning", - "message": "Vänligen vänta medan vi sparar din anpassning" + "title": "Sparar anpassningar", + "message": "Vänligen vänta medan vi sparar dina anpassningar" }, "success": { - "title": "Anpassning sparad", - "message": "Din anpassning har sparats" + "title": "Anpassningar sparade", + "message": "Dina anpassningar har sparats" }, "error": { "title": "Fel", - "message": "Det gick inte att spara ändringar" + "message": "Det gick inte att spara ändringarna" } } } \ No newline at end of file diff --git a/public/locales/sv/layout/element-selector/selector.json b/public/locales/sv/layout/element-selector/selector.json index fe0525167..d6ea99ee2 100644 --- a/public/locales/sv/layout/element-selector/selector.json +++ b/public/locales/sv/layout/element-selector/selector.json @@ -3,7 +3,7 @@ "title": "Lägg till en ny ruta", "text": "Rutor är det viktigaste elementet i Homarr. De används för att visa dina appar och annan information. Du kan lägga till så många rutor som du vill." }, - "widgetDescription": "Widgetar interagerar med dina appar, för att ge dig mer kontroll över dina applikationer. De kräver vanligtvis ytterligare konfiguration innan användning.", + "widgetDescription": "Widgetar interagerar med dina appar, för att ge dig mer kontroll över dina applikationer. De kräver vanligtvis ytterligare konfiguration innan de kan användas.", "goBack": "Gå tillbaka till föregående steg", "actionIcon": { "tooltip": "Lägg till en ruta" @@ -18,9 +18,9 @@ "newName": "Namn på ny kategori", "defaultName": "Ny kategori", "created": { - "title": "Kategori skapad", + "title": "Kategorin har skapats", "message": "Kategorin \"{{name}}\" har skapats" } }, - "importFromDocker": "Importera från docker" + "importFromDocker": "Importera från Docker" } diff --git a/public/locales/sv/layout/errors/access-denied.json b/public/locales/sv/layout/errors/access-denied.json index aa12a419b..9736e69f3 100644 --- a/public/locales/sv/layout/errors/access-denied.json +++ b/public/locales/sv/layout/errors/access-denied.json @@ -1,5 +1,5 @@ { - "title": "Åtkomst nekad", + "title": "Åtkomst nekas", "text": "Du har inte tillräckliga behörigheter för att komma åt denna sida. Om du tror att detta inte är avsiktligt, vänligen kontakta din administratör.", - "switchAccount": "Växla till ett annat konto" + "switchAccount": "Byt till ett annat konto" } \ No newline at end of file diff --git a/public/locales/sv/layout/header/actions/toggle-edit-mode.json b/public/locales/sv/layout/header/actions/toggle-edit-mode.json index 88cf2415c..fce8ede6f 100644 --- a/public/locales/sv/layout/header/actions/toggle-edit-mode.json +++ b/public/locales/sv/layout/header/actions/toggle-edit-mode.json @@ -1,11 +1,11 @@ { - "description": "I redigeringsläge kan du justera rutor och konfigurera appar. Ändringar sparas inte förrän du avslutar redigeringsläget.", + "description": "I redigeringsläget kan du justera rutor och konfigurera appar. Ändringar sparas inte förrän du avslutar redigeringsläget.", "button": { - "disabled": "Gå till redigeringsläge", + "disabled": "Gå till redigeringsläget", "enabled": "Avsluta och spara" }, "popover": { - "title": "Redigeringsläget är aktiverat för <1>{{size}}</1> storlek", + "title": "Redigeringsläget är aktiverat för storleken <1>{{size}}</1>", "text": "Du kan justera och konfigurera dina appar nu. Ändringarna <strong>sparas inte</strong> förrän du lämnar redigeringsläget" }, "unloadEvent": "Avsluta redigeringsläget för att spara dina ändringar" diff --git a/public/locales/sv/layout/modals/about.json b/public/locales/sv/layout/modals/about.json index 118e6d960..5d4306057 100644 --- a/public/locales/sv/layout/modals/about.json +++ b/public/locales/sv/layout/modals/about.json @@ -6,9 +6,9 @@ "action": "Åtgärd", "keybinds": "Knapptilldelning", "translators": "Översättare ({{count}})", - "translatorsDescription": "Tack vare dessa personer finns Homarr tillgängligt på {{languages}} språk! Vill du hjälpa till att översätta Homarr till ditt språk? Läs hur du gör <a>här</a>.", + "translatorsDescription": "Tack vare dessa personer finns Homarr tillgängligt på {{languages}} språk! Vill du hjälpa till att översätta Homarr till ditt språk? Läs hur du gör genom att klicka <a>här</a>.", "contributors": "Medverkande ({{count}})", - "contributorsDescription": "Dessa människor har byggt koden som får homarr att fungera! Vill du hjälpa till att bygga Homarr? Läs hur du gör <a>här</a>", + "contributorsDescription": "Dessa människor har utvecklat koden som får homarr att fungera! Vill du hjälpa till att utveckla Homarr? Läs hur du gör genom att klicka <a>här</a>", "actions": { "toggleTheme": "Växla mellan ljus- och mörkerläge", "focusSearchBar": "Fokusera på sökruta", diff --git a/public/locales/sv/layout/modals/add-app.json b/public/locales/sv/layout/modals/add-app.json index 092eb3b88..549bc2580 100644 --- a/public/locales/sv/layout/modals/add-app.json +++ b/public/locales/sv/layout/modals/add-app.json @@ -22,7 +22,7 @@ "protocolCheck": "Kontrollera alltid att webbadressen föregås av http eller https, och att du använder rätt URL.", "preferIP": "Vi rekommenderar att du använder det direkta ip-numret för den maskin eller container du försöker kommunicera med.", "enablePings": "Kontrollera att IP är rätt genom att aktivera pings. Anpassa tavla -> Layout -> Aktivera pings. En liten röd eller grön bubbla kommer att visas på din app och om du håller muspekaren över den får du svarskoden (en grön bubbla med kod 200 förväntas i de flesta fall).", - "wget": "För att se till att homarr kan kommunicera med de andra apparna, se till att wget/curl/ping appens IP:port.", + "wget": "För att se till att Homarr kan kommunicera med de andra apparna, se till att wget/curl/ping appens IP:port.", "iframe": "När det gäller iframes ska dessa alltid använda samma protokoll (http/s) som Homarr.", "clearCache": "Viss information registreras i cacheminnet, så en integration kanske inte fungerar om du inte rensar cacheminnet i Homarrs allmänna alternativ." }, diff --git a/public/locales/sv/modules/weather.json b/public/locales/sv/modules/weather.json index 4929a6ed0..a22143aa8 100644 --- a/public/locales/sv/modules/weather.json +++ b/public/locales/sv/modules/weather.json @@ -40,4 +40,4 @@ } }, "error": "Ett fel uppstod" -} \ 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 index df0b9c556..7c8f5fd1a 100644 --- a/public/locales/sv/settings/customization/page-appearance.json +++ b/public/locales/sv/settings/customization/page-appearance.json @@ -1,7 +1,7 @@ { "pageTitle": { - "label": "Sidotitel", - "description": "Titeln på instrumentpanelen längst upp till vänster" + "label": "Titel på sidan", + "description": "Titel på instrumentpanelen längst upp till vänster" }, "metaTitle": { "label": "Metatitel", diff --git a/public/locales/tr/layout/header.json b/public/locales/tr/layout/header.json index 48c9f5273..2d42c35f4 100644 --- a/public/locales/tr/layout/header.json +++ b/public/locales/tr/layout/header.json @@ -12,7 +12,7 @@ "avatar": { "switchTheme": "Temayı değiştir", "preferences": "Kullanıcı Tercihleri", - "defaultBoard": "Varsayılan Panel", + "defaultBoard": "Öntanımlı Panel", "manage": "Yönet", "logout": "{{username}} kullanıcısından çıkış yapın", "login": "Giriş" diff --git a/public/locales/tr/layout/manage.json b/public/locales/tr/layout/manage.json index 8df8d6529..fa11b5f6f 100644 --- a/public/locales/tr/layout/manage.json +++ b/public/locales/tr/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "1.0'a geçiş yapın" } }, "about": { diff --git a/public/locales/tr/layout/modals/add-app.json b/public/locales/tr/layout/modals/add-app.json index 5dd2145a5..93c529df5 100644 --- a/public/locales/tr/layout/modals/add-app.json +++ b/public/locales/tr/layout/modals/add-app.json @@ -62,7 +62,7 @@ "description": "İkon bulmak için yazmaya başlayın. Özel ikon kullanmak için URL de yapıştırabilirsiniz.", "autocomplete": { "title": "Sonuç bulunamadı", - "text": "Daha belirgin bir arama terimi kullanmayı deneyin. İstediğiniz simgeyi bulamıyorsanız, özel bir simge için resim URL'sini yukarıya yapıştıın" + "text": "Daha belirgin bir arama terimi kullanmayı deneyin. İstediğiniz simgeyi bulamıyorsanız, özel bir simge için görsel URL'sini yukarıya yapıştıın" }, "noItems": { "title": "Harici simgeler yükleniyor", diff --git a/public/locales/tr/manage/boards.json b/public/locales/tr/manage/boards.json index 7776e89a2..942d3e458 100644 --- a/public/locales/tr/manage/boards.json +++ b/public/locales/tr/manage/boards.json @@ -11,7 +11,7 @@ "view": "Panelleri görüntüle" }, "menu": { - "setAsDefault": "Varsayılan panel olarak ayarlayın", + "setAsDefault": "Öntanımlı panel olarak ayarlayın", "delete": { "label": "Kalıcı olarak sil", "disabled": "Silme devre dışı, çünkü eski Homarr bileşenleri varsayılan yapılandırmanın silinmesine izin vermiyor. Silme işlemi gelecekte mümkün olacaktır." @@ -32,7 +32,7 @@ }, "badges": { "fileSystem": "Dosya Sistemi", - "default": "Varsayılan" + "default": "Öntanımlı" } }, "buttons": { @@ -45,7 +45,7 @@ }, "create": { "title": "Panel oluştur", - "text": "Bir pano oluşturulduktan sonra isim değiştirilemez.", + "text": "Bir panel oluşturulduktan sonra isim değiştirilemez.", "form": { "name": { "label": "İsim" diff --git a/public/locales/tr/manage/migrate.json b/public/locales/tr/manage/migrate.json index 64030b6ba..70b9a549f 100644 --- a/public/locales/tr/manage/migrate.json +++ b/public/locales/tr/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "1.0'a geçiş yapın", + "pageTitle": "Panelleri, entegrasyonları ve kullanıcıları taşıyın", + "description": "Panolarınızı ve kullanıcılarınızı 1.0.0 sürümünden sonra Homarr'a taşımak için bir ZIP Arşivine aktarır", "securityNote": { - "title": "", - "text": "" + "title": "Güvenlik Notu", + "text": "Kullanıcıları ve entegrasyonları dışa aktarırken, bir şifreleme anahtarıyla bir modal da açacaktır. Bu anahtar, verileri Homarr'a içe aktarmak için gereklidir. Bunu güvende tutun ve kimseyle paylaşmayın." }, "form": { - "label": "", + "label": "Dışa aktarmak istediğinizlerini seçin", "option": { "boards": { - "label": "" + "label": "Panelleri Dışa Aktar" }, "integrations": { - "label": "", - "description": "" + "label": "Entegrasyonları Dışa aktar", + "description": "Buna entegrasyonlar için şifrelenmiş kimlik bilgileri de dahildir. Yalnızca panelleri dışa aktarırken kullanılabilir" }, "users": { - "label": "", - "description": "" + "label": "Kullanıcıları Dışa aktar", + "description": "Yalnızca kimlik bilgilerini dışa aktarır, karma ve tuzlama parolar şifrelenir" } } }, "action": { - "export": "" + "export": "Verileri dışa aktar" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "Şifreleme anahtarı", + "description": "Verileriniz dışarı aktarıldı. Anahtarı güvende tutun ve kimseyle paylaşmayın. Verileri Homarr'a aktarmak için bu anahtara ihtiyacınız olacak.", + "copyDismiss": "Kopyala & Kapat" } } \ No newline at end of file diff --git a/public/locales/tr/modules/bookmark.json b/public/locales/tr/modules/bookmark.json index 83ae01820..1e25b2c44 100644 --- a/public/locales/tr/modules/bookmark.json +++ b/public/locales/tr/modules/bookmark.json @@ -5,7 +5,7 @@ "settings": { "title": "Yer İşareti ayarları", "name": { - "label": "Widget başlığı", + "label": "Widget Başlığı", "info": "Başlığı gizlemek için boş bırakın." }, "items": { diff --git a/public/locales/tr/modules/date.json b/public/locales/tr/modules/date.json index 41cbc66f2..3e5e3c74a 100644 --- a/public/locales/tr/modules/date.json +++ b/public/locales/tr/modules/date.json @@ -21,7 +21,7 @@ } }, "titleState": { - "label": "Saat başlığı", + "label": "Saat Başlığı", "info": "Özel başlık ve saat dilimi kodu widget'ınızda gösterilebilir.<br/>Ayrıca şehri tek başına gösterebilir, hiçbirini göstermeyebilir,<br/>veya her ikisi de seçildiğinde ancak başlık sağlanmadığında saat dilimini tek başına gösterebilirsiniz.", "data": { "both": "Başlık ve Saat Dilimi", diff --git a/public/locales/tr/modules/dns-hole-controls.json b/public/locales/tr/modules/dns-hole-controls.json index 6cd5cfbda..c6e927f26 100644 --- a/public/locales/tr/modules/dns-hole-controls.json +++ b/public/locales/tr/modules/dns-hole-controls.json @@ -1,6 +1,6 @@ { "descriptor": { - "name": "DNS çözümleyici kontrolleri", + "name": "DNS Çözümleyici Kontrolleri", "description": "Kontrol panelinizden PiHole veya AdGuard'ı kontrol edin", "settings": { "title": "DNS çözümleyici kontrol ayarları", diff --git a/public/locales/tr/modules/iframe.json b/public/locales/tr/modules/iframe.json index 96ad869b8..46f22ecac 100644 --- a/public/locales/tr/modules/iframe.json +++ b/public/locales/tr/modules/iframe.json @@ -37,7 +37,7 @@ "errors": { "noUrl": { "title": "Geçersiz URL", - "text": "Widget'ınızın yapılandırmasında geçerli bir adres girdiğinizden emin olun" + "text": "Aracınızın yapılandırmasında geçerli bir adres girdiğinizden emin olun" }, "browserSupport": "Tarayıcınız iframe'leri desteklemiyor. Lütfen tarayıcınızı güncelleyin." } diff --git a/public/locales/tr/modules/indexer-manager.json b/public/locales/tr/modules/indexer-manager.json index af6c846fb..735691916 100644 --- a/public/locales/tr/modules/indexer-manager.json +++ b/public/locales/tr/modules/indexer-manager.json @@ -5,18 +5,18 @@ "settings": { "title": "Dizin oluşturucu yöneticisi statüsü", "openIndexerSiteInNewTab": { - "label": "Dizin Oluşturucu Sitesini Yeni Sekmede Aç" + "label": "İndeksleyici Sitesini Yeni Sekmede Aç" } } }, "indexersStatus": { - "title": "Dizin oluşturucu yöneticisi", + "title": "İndeksleyici Yöneticisi", "testAllButton": "Tümünü test et" }, "errors": { "general": { - "title": "Dizin oluşturucu yöneticisi bulunamıyor", - "text": "Dizin oluşturucu yöneticinize bağlanırken bir sorun oluştu. Lütfen yapılandırmanızı/entegrasyonlarınızı kontrol edin." + "title": "İndeksleyici yöneticisi bulunamıyor", + "text": "İndeksleyici yöneticinize bağlanırken bir sorun oluştu. Lütfen yapılandırmanızı/entegrasyonlarınızı kontrol edin." } } } \ No newline at end of file diff --git a/public/locales/tr/modules/media-transcoding.json b/public/locales/tr/modules/media-transcoding.json index 0969a497b..5295dccbf 100644 --- a/public/locales/tr/modules/media-transcoding.json +++ b/public/locales/tr/modules/media-transcoding.json @@ -8,7 +8,7 @@ "label": "Bir uygulama seçin" }, "defaultView": { - "label": "Varsayılan görünüm", + "label": "Öntanımlı görünüm", "data": { "workers": "İşçiler", "queue": "Kuyruk", diff --git a/public/locales/tr/modules/notebook.json b/public/locales/tr/modules/notebook.json index 11653414b..ef6291fdb 100644 --- a/public/locales/tr/modules/notebook.json +++ b/public/locales/tr/modules/notebook.json @@ -36,7 +36,7 @@ "decreaseIndent": "Girintiyi Azalt", "link": "Bağlantı", "unlink": "Bağlantıyı kaldır", - "image": "Resim Göm", + "image": "Resim Yerleştir", "addTable": "Tablo ekle", "deleteTable": "Tablo Sil", "colorCell": "Renk Hücresi", diff --git a/public/locales/tr/modules/torrents-status.json b/public/locales/tr/modules/torrents-status.json index 4a488e5af..76098e187 100644 --- a/public/locales/tr/modules/torrents-status.json +++ b/public/locales/tr/modules/torrents-status.json @@ -55,8 +55,8 @@ "footer": { "error": "Hata", "lastUpdated": "Son Güncelleme {{time}} önce ", - "ratioGlobal": "Genel Ratio", - "ratioWithFilter": "Filtrelenen ratio" + "ratioGlobal": "Genel Oran", + "ratioWithFilter": "Filtrelenen oran" }, "table": { "header": { @@ -70,7 +70,7 @@ "progress": "İlerleme", "totalUploaded": "Toplam Yüklenen", "totalDownloaded": "Toplam İndirilen", - "ratio": "Ratio", + "ratio": "Oran", "seeds": "Tohumlar (Bağlı)", "peers": "Eşler (Bağlı)", "label": "Etiket", @@ -110,7 +110,7 @@ "progress": "İlerleme - %{{progress}}", "totalSelectedSize": "Toplam - {{totalSize}}", "state": "Durum - {{state}}", - "ratio": "Ratio -", + "ratio": "Oran -", "completed": "Tamamlanan" } } diff --git a/public/locales/tr/settings/common.json b/public/locales/tr/settings/common.json index 5ec051b54..2ce9f6232 100644 --- a/public/locales/tr/settings/common.json +++ b/public/locales/tr/settings/common.json @@ -26,7 +26,7 @@ "main": "Ana", "sidebar": "Kenar Çubuğu", "cannotturnoff": "Kapatılamaz", - "dashboardlayout": "Pano Yerleşimi", + "dashboardlayout": "Panel Yerleşimi", "enablersidebar": "Sağ kenar çubuğunu etkinleştir", "enablelsidebar": "Sol kenar çubuğunu etkinleştir", "enablesearchbar": "Arama çubuğunu etkinleştir", diff --git a/public/locales/tr/settings/customization/access.json b/public/locales/tr/settings/customization/access.json index ce19e4d01..aa63d4682 100644 --- a/public/locales/tr/settings/customization/access.json +++ b/public/locales/tr/settings/customization/access.json @@ -1,6 +1,6 @@ { "allowGuests": { "label": "Anonimliğe izin ver", - "description": "Oturum açmamış kullanıcıların panonuzu görüntülemesine izin verin" + "description": "Oturum açmamış kullanıcıların panelinizi görüntülemesine izin verin" } } \ No newline at end of file diff --git a/public/locales/tr/settings/customization/gridstack.json b/public/locales/tr/settings/customization/gridstack.json index 0a14235fd..bd006bc15 100644 --- a/public/locales/tr/settings/customization/gridstack.json +++ b/public/locales/tr/settings/customization/gridstack.json @@ -2,9 +2,9 @@ "columnsCount": { "labelPreset": "{{size}} boyutta sütunlar", "descriptionPreset": "Ekran genişliği {{pixels}} pikselden az olduğunda sütun sayısı", - "descriptionExceedsPreset": "Ekran genişliği {{pixels}} pikselden az olduğunda sütun sayısı" + "descriptionExceedsPreset": "Ekran genişliği {{pixels}} pikselden yüksek olduğunda sütun sayısı" }, "unsavedChanges": "Kaydedilmemiş değişiklikleriniz var. Uygulamak ve kaydetmek için aşağıdaki <br>Değişiklikleri uygula</br> düğmesine tıklayın.", "applyChanges": "Değişiklikleri uygula", - "defaultValues": "Varsayılana dön" + "defaultValues": "Öntanımlı Değer" } \ No newline at end of file diff --git a/public/locales/tr/settings/customization/page-appearance.json b/public/locales/tr/settings/customization/page-appearance.json index da824cb33..67b443f5e 100644 --- a/public/locales/tr/settings/customization/page-appearance.json +++ b/public/locales/tr/settings/customization/page-appearance.json @@ -19,31 +19,31 @@ "label": "Arkaplan" }, "backgroundImageAttachment": { - "label": "Arkaplan resim ekle", + "label": "Arka Plan Yerleşimi", "options": { "fixed": "Sabit - Arka plan aynı konumda kalır (önerilir)", "scroll": "Kaydırma - Arka plan farenizle kaydırılır" } }, "backgroundImageSize": { - "label": "Arkaplan resim boyutu", + "label": "Arkaplan Resmi Boyutu", "options": { "cover": "Kapak - Fazla alanı kırparak tüm pencereyi kaplamak için görüntüyü mümkün olduğunca küçük ölçeklendirir. (tavsiye edilen)", "contain": "Kapsam - Görüntüyü kırpmadan veya genişletmeden, kapsayıcısı içinde mümkün olduğu kadar büyük ölçeklendirir." } }, "backgroundImageRepeat": { - "label": "Arkaplan resim ekle", + "label": "Arka Plan Yerleşimi", "options": { - "repeat": "Tekrarla - Resim, arka plan görüntü alanının tamamını kapsayacak şekilde gerektiği kadar tekrarlanır.", - "no-repeat": "Tekrarsız - Resim tekrarlanmaz ve tüm alanı doldurmayabilir (önerilir)", + "repeat": "Tekrarla - Görsel, arka plan görüntü alanının tamamını kapsayacak şekilde gerektiği kadar tekrarlanır.", + "no-repeat": "Tekrarsız - Görsel tekrarlanmaz ve tüm alanı doldurmayabilir (önerilir)", "repeat-x": "Tekrarla X - 'Tekrarla' ile aynıdır ancak yalnızca yatay eksende.", "repeat-y": "Tekrar Y - 'Tekrarla' ile aynıdır, ancak yalnızca dikey eksende." } }, "customCSS": { "label": "Özel CSS", - "description": "Ayrıca, yalnızca deneyimli kullanıcılar için önerilen CSS kullanarak kontrol panelinizi özelleştirin", + "description": "CSS kullanarak panelizi özelleştirin, sadece tecrübeli kullanıcılar için tavsiye edilir", "placeholder": "Özel CSS en son uygulanacaktır", "applying": "CSS uygulanıyor..." } diff --git a/public/locales/tr/user/preferences.json b/public/locales/tr/user/preferences.json index a1c21a69e..69f30971d 100644 --- a/public/locales/tr/user/preferences.json +++ b/public/locales/tr/user/preferences.json @@ -3,14 +3,14 @@ "pageTitle": "Tercihleriniz", "boards": { "defaultBoard": { - "label": "Varsayılan panel" + "label": "Öntanımlı panel" } }, "accessibility": { "title": "Erişilebilirlik", "disablePulse": { "label": "Ping animasyonunu devre dışı bırak", - "description": "Varsayılan olarak, Homarr'daki ping animasyonu aktiftir. Bu rahatsız edici olabilir. Bu animasyonu devre dışı bırakacaktır" + "description": "Öntanımlı olarak, Homarr'daki ping animasyonu aktiftir. Bu rahatsız edici olabilir. Bu animasyonu devre dışı bırakacaktır" }, "replaceIconsWithDots": { "label": "Ping noktalarını ikon ile değiştirin", @@ -31,7 +31,7 @@ } }, "searchEngine": { - "title": "Arama motoru", + "title": "Arama Motoru", "custom": "Kişisel", "newTab": { "label": "Arama sonuçlarını yeni sekmede aç" diff --git a/public/locales/tr/zod.json b/public/locales/tr/zod.json index fc3becbda..da6abcc87 100644 --- a/public/locales/tr/zod.json +++ b/public/locales/tr/zod.json @@ -5,7 +5,7 @@ "string": { "startsWith": "Bu alan {{startsWith}} ile başlamalıdır", "endsWith": "Bu alan {{endsWith}} ile bitmelidir", - "includes": "Bu alan {{includes}} adresini içermelidir" + "includes": "Bu alan {{includes}} içermelidir" }, "tooSmall": { "string": "Bu alan en az {{minimum}} karakter uzunluğunda olmalıdır", diff --git a/public/locales/tw/layout/manage.json b/public/locales/tw/layout/manage.json index 40b12ba73..605340e3b 100644 --- a/public/locales/tw/layout/manage.json +++ b/public/locales/tw/layout/manage.json @@ -27,7 +27,7 @@ "items": { "docker": "Docker", "api": "API", - "migrate": "" + "migrate": "遷移至 1.0" } }, "about": { diff --git a/public/locales/tw/manage/migrate.json b/public/locales/tw/manage/migrate.json index 64030b6ba..ad36ff723 100644 --- a/public/locales/tw/manage/migrate.json +++ b/public/locales/tw/manage/migrate.json @@ -1,33 +1,33 @@ { - "metaTitle": "", - "pageTitle": "", - "description": "", + "metaTitle": "遷移至 1.0", + "pageTitle": "遷移面板、組件和使用者", + "description": "將面板和使用者匯出至 ZIP 壓縮檔,以便在 1.0.0 版本之後將其匯入 Homarr", "securityNote": { - "title": "", - "text": "" + "title": "安全說明", + "text": "匯出使用者和組件時,將會開啟帶有加密密鑰的視窗,此密鑰將數據匯入 Homarr 所必需的,請妥善保存,不要與任何人分享" }, "form": { - "label": "", + "label": "選擇要匯出的所有內容", "option": { "boards": { - "label": "" + "label": "匯出面板" }, "integrations": { - "label": "", - "description": "" + "label": "匯出組件", + "description": "將包括用於組件的加密憑證,僅在匯出面板時可用" }, "users": { - "label": "", - "description": "" + "label": "匯出使用者", + "description": "只有匯出使用者憑證,密碼 Hash 和 Salt 皆加密" } } }, "action": { - "export": "" + "export": "匯出資料" }, "modal": { - "title": "", - "description": "", - "copyDismiss": "" + "title": "加密密鑰", + "description": "數據已匯出,請妥善保管,不要與任何人分享,需要此密鑰才能將數據匯入 Homarr", + "copyDismiss": "複製並關閉" } } \ No newline at end of file diff --git a/public/locales/tw/modules/weather.json b/public/locales/tw/modules/weather.json index a14c25360..a4995b69f 100644 --- a/public/locales/tw/modules/weather.json +++ b/public/locales/tw/modules/weather.json @@ -40,4 +40,4 @@ } }, "error": "出現錯誤" -} \ No newline at end of file +} diff --git a/public/locales/tw/widgets/error-boundary.json b/public/locales/tw/widgets/error-boundary.json index dde2f0df0..f8c74e8f8 100644 --- a/public/locales/tw/widgets/error-boundary.json +++ b/public/locales/tw/widgets/error-boundary.json @@ -7,8 +7,8 @@ } }, "modal": { - "text": "", - "label": "", - "reportButton": "" + "text": "組件意外崩潰,請閱讀文黨並修改錯誤的輸入", + "label": "發生錯誤", + "reportButton": "回報此錯誤至 Github" } } diff --git a/public/locales/uk/modules/media-requests-list.json b/public/locales/uk/modules/media-requests-list.json index b900b87f6..6189ceefe 100644 --- a/public/locales/uk/modules/media-requests-list.json +++ b/public/locales/uk/modules/media-requests-list.json @@ -17,7 +17,7 @@ "approved": "Схвалено", "pendingApproval": "Очікує схвалення", "declined": "Відхилено", - "available": "", + "available": "Доступно", "partial": "" }, "tooltips": { diff --git a/public/locales/uk/widgets/error-boundary.json b/public/locales/uk/widgets/error-boundary.json index 408ee83e2..a1de522dc 100644 --- a/public/locales/uk/widgets/error-boundary.json +++ b/public/locales/uk/widgets/error-boundary.json @@ -8,7 +8,7 @@ }, "modal": { "text": "", - "label": "", - "reportButton": "" + "label": "Виникла помилка", + "reportButton": "Повідомити про цю помилку на GitHub" } } diff --git a/src/components/UpgradeModal/CheckUpgradeModal.tsx b/src/components/UpgradeModal/CheckUpgradeModal.tsx new file mode 100644 index 000000000..c22de6c62 --- /dev/null +++ b/src/components/UpgradeModal/CheckUpgradeModal.tsx @@ -0,0 +1,81 @@ +import { Anchor, Button, Group, Image, List, Modal, Text, ThemeIcon, Title } from '@mantine/core'; +import { IconBrandAbstract, IconLock, IconPlug, IconTestPipe } from '@tabler/icons-react'; +import { getCookie, setCookie } from 'cookies-next'; +import localFont from 'next/font/local'; +import { useState } from 'react'; + +const poetsenOne = localFont({ src: '../../../public/PoetsenOne-Regular.ttf' }); + +export const CheckUpgradeModal = () => { + const [isDismissed, setIsDismissed] = useState(getCookie('dismissed-upgrade-modal')); + + const close = () => { + const sevenDays = 7 * 24 * 60 * 60; // 7 days in seconds + setCookie('dismissed-upgrade-modal', 'true', { + maxAge: sevenDays, + path: '/', + }); + setIsDismissed(true); + }; + + return ( + <Modal opened={!isDismissed} onClose={close} size={'xl'} radius={'xl'}> + <Image src={'/imgs/2340450-2.png'} alt={'Homarr illustration'} width={300} height={'auto'} ml={'auto'} + mr={'auto'} /> + <Title order={2} align={'center'} color={'red'} weight={'bolder'} mb={'lg'} className={poetsenOne.className}>Taking + dashboards to<br />the next + level 🚀 + + Homarr just got the biggest update ever. It is a complete rewrite. Here's a short summary + of it: + + + + + }> + Improved integrations system with asynchronous fetching + system + + + }> + Detailed permission system + + + }> + Automatic integration testing and centralized management of apps and integrations + + + }> + Reimagined widgets with better design, better UX and more options. + + + + Since 1.0 is a breaking + release, we require you to manually upgrade to 1.0 and migrate your data over. + Please read the migration guide carefully to avoid data loss. Depending in your installation method, you may + need to check the migration guides of them respectively. Please backup your data before attempting the + migration. This message will not be displayed for the next 7 days, if you acknowledge and close. + + + + + + + + You can permanently disable this message by setting the DISABLE_UPGRADE_MODAL environment variable to true. + + + ); +}; \ No newline at end of file diff --git a/src/components/layout/Templates/ManageLayout.tsx b/src/components/layout/Templates/ManageLayout.tsx index 9ed446e27..07cf897ea 100644 --- a/src/components/layout/Templates/ManageLayout.tsx +++ b/src/components/layout/Templates/ManageLayout.tsx @@ -9,7 +9,7 @@ import { NavLink, Navbar, Text, - ThemeIcon, + ThemeIcon, Alert, Anchor, } from '@mantine/core'; import { useDisclosure } from '@mantine/hooks'; import { @@ -44,6 +44,7 @@ import { ConditionalWrapper } from '~/utils/security'; import { REPO_URL } from '../../../../data/constants'; import { type navigation } from '../../../../public/locales/en/layout/manage.json'; import { MainHeader } from '../header/Header'; +import { deleteCookie } from "cookies-next"; interface ManageLayoutProps { children: ReactNode; @@ -61,6 +62,7 @@ export const ManageLayout = ({ children }: ManageLayoutProps) => { }).then((res) => res.json()), }); const { attributes } = usePackageAttributesStore(); + const router = useRouter(); const newVersionAvailable = newVersion?.tag_name > `v${attributes.packageVersion}` ? newVersion?.tag_name : undefined; @@ -247,6 +249,11 @@ export const ManageLayout = ({ children }: ManageLayoutProps) => { const burgerMenu = screenLargerThanMd ? undefined : ( ); + + const showUpgradeInfo = () => { + deleteCookie('dismissed-upgrade-modal'); + router.reload(); + } return ( <> @@ -256,6 +263,11 @@ export const ManageLayout = ({ children }: ManageLayoutProps) => { {navigationLinkComponents} + + + This old version of Homarr no longer receives updates. Migrate for updates. Click here for further details + + } header={} diff --git a/src/env.js b/src/env.js index 662856e5d..d85282e62 100644 --- a/src/env.js +++ b/src/env.js @@ -40,6 +40,7 @@ const env = createEnv({ DOCKER_HOST: z.string().optional(), DOCKER_PORT: portSchema, DEMO_MODE: z.string().optional(), + DISABLE_UPGRADE_MODAL: zodParsedBoolean().default('false'), HOSTNAME: z.string().optional(), //regex allows number with extra letter as time multiplier, applied with secondsFromTimeString @@ -165,6 +166,7 @@ const env = createEnv({ AUTH_LOGOUT_REDIRECT_URL: process.env.AUTH_LOGOUT_REDIRECT_URL, AUTH_SESSION_EXPIRY_TIME: process.env.AUTH_SESSION_EXPIRY_TIME, DEMO_MODE: process.env.DEMO_MODE, + DISABLE_UPGRADE_MODAL: process.env.DISABLE_UPGRADE_MODAL, }, skipValidation: !!process.env.SKIP_ENV_VALIDATION, }); diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index d3296d752..53442d51d 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -34,6 +34,7 @@ import { ConfigType } from '~/types/config'; import { api } from '~/utils/api'; import { colorSchemeParser } from '~/validations/user'; +import { CheckUpgradeModal } from '~/components/UpgradeModal/CheckUpgradeModal'; import { COOKIE_COLOR_SCHEME_KEY, COOKIE_LOCALE_KEY } from '../../data/constants'; import nextI18nextConfig from '../../next-i18next.config.js'; import '../styles/global.scss'; @@ -50,6 +51,7 @@ function App( editModeEnabled: boolean; logoutUrl?: string; analyticsEnabled: boolean; + disableUpgradeModal: boolean; config?: ConfigType; primaryColor?: MantineTheme['primaryColor']; secondaryColor?: MantineTheme['primaryColor']; @@ -103,6 +105,7 @@ function App( return ( <> + {!pageProps.disableUpgradeModal && } {pageProps.session && pageProps.session.user.language === 'cr' && ( <>