diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 374ceb72d..89285bc63 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,6 +6,32 @@ updates: schedule: interval: "weekly" open-pull-requests-limit: 10 + # HELD BACK DELIBERATELY, not out of caution. Each of these is blocked by a + # package we do not control, and dependabot cannot see that, so it proposes + # them on every run and each one takes `npm ci` or `npm run build` from + # green to red with no code change that can fix it. + # + # typescript 7: typescript-eslint hard-throws on TS >= 7 (a `versionMajor + # >= 7` guard in its dist/index.js) and every published + # version still peers `typescript: ">=4.8.4 <6.1.0"`. + # webpack-cli 7: @nextcloud/webpack-vue-config 7.0.4, the latest, peers + # `webpack-cli: ^6.0.1`. + # @babel/core 8: the same package peers `@babel/core: ^7.22.9`, and + # preset-env 8 requires core 8, so the pair moves together + # or not at all. + # + # Lift each the moment its blocker ships support. These are compatibility + # limits, not security ones: `npm audit` reports no advisory against any of + # the versions pinned here. + ignore: + - dependency-name: "typescript" + update-types: ["version-update:semver-major"] + - dependency-name: "webpack-cli" + update-types: ["version-update:semver-major"] + - dependency-name: "@babel/core" + update-types: ["version-update:semver-major"] + - dependency-name: "@babel/preset-env" + update-types: ["version-update:semver-major"] cooldown: default-days: 1 include: diff --git a/appinfo/info.xml b/appinfo/info.xml index 0caac38c6..b232b2c45 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -64,7 +64,7 @@ Gratis en open source onder de EUPL-1.2 licentie. which quoted the grep command in order to WARN about the problem — made it read ")[^". The warning reproduced the bug it described. --> - 1.1.3-unstable.20260830084017 + 1.1.7-unstable.20260830174749 EUPL-1.2 Conduction Thematiq diff --git a/docs/package-lock.json b/docs/package-lock.json index ba5e29ec3..62e8b9509 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -272,12 +272,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", + "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -334,13 +334,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz", + "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", + "@babel/parser": "^7.29.8", + "@babel/types": "^7.29.8", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -459,9 +459,9 @@ } }, "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -481,27 +481,27 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", "license": "MIT", "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -523,9 +523,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -579,18 +579,18 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -633,12 +633,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", + "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", "license": "MIT", "dependencies": { - "@babel/types": "^7.29.0" + "@babel/types": "^7.29.8" }, "bin": { "parser": "bin/babel-parser.js" @@ -1223,15 +1223,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", - "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.8.tgz", + "integrity": "sha512-6iSnEK0zlkLKU4heofK/AdmRD4e2SHVpJMtrwnTCzhnaM98ria4rTrOXBBi45BTTYnJtO8txnPsX4fChYXkmeA==", "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.29.0" + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.8" }, "engines": { "node": ">=6.9.0" @@ -1940,31 +1940,31 @@ } }, "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz", + "integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.8", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.8", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.8", "debug": "^4.3.1" }, "engines": { @@ -1972,13 +1972,13 @@ } }, "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -1990,43 +1990,10 @@ "integrity": "sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==", "license": "MIT" }, - "node_modules/@chevrotain/cst-dts-gen": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.1.1.tgz", - "integrity": "sha512-fRHyv6/f542qQqiRGalrfJl/evD39mAvbJLCekPazhiextEatq1Jx1K/i9gSd5NNO0ds03ek0Cbo/4uVKmOBcw==", - "license": "Apache-2.0", - "dependencies": { - "@chevrotain/gast": "11.1.1", - "@chevrotain/types": "11.1.1", - "lodash-es": "4.17.23" - } - }, - "node_modules/@chevrotain/gast": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.1.1.tgz", - "integrity": "sha512-Ko/5vPEYy1vn5CbCjjvnSO4U7GgxyGm+dfUZZJIWTlQFkXkyym0jFYrWEU10hyCjrA7rQtiHtBr0EaZqvHFZvg==", - "license": "Apache-2.0", - "dependencies": { - "@chevrotain/types": "11.1.1", - "lodash-es": "4.17.23" - } - }, - "node_modules/@chevrotain/regexp-to-ast": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.1.1.tgz", - "integrity": "sha512-ctRw1OKSXkOrR8VTvOxrQ5USEc4sNrfwXHa1NuTcR7wre4YbjPcKw+82C2uylg/TEwFRgwLmbhlln4qkmDyteg==", - "license": "Apache-2.0" - }, "node_modules/@chevrotain/types": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.1.1.tgz", - "integrity": "sha512-wb2ToxG8LkgPYnKe9FH8oGn3TMCBdnwiuNC5l5y+CtlaVRbCytU0kbVsk6CGrqTL4ZN4ksJa0TXOYbxpbthtqw==", - "license": "Apache-2.0" - }, - "node_modules/@chevrotain/utils": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.1.1.tgz", - "integrity": "sha512-71eTYMzYXYSFPrbg/ZwftSaSDld7UYlS8OQa3lNnn9jzNtpFbaReRRyghzqS7rI3CDaorqpPJJcXGHK+FE1TVQ==", + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.1.2.tgz", + "integrity": "sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==", "license": "Apache-2.0" }, "node_modules/@colors/colors": { @@ -4795,12 +4762,12 @@ } }, "node_modules/@mermaid-js/parser": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-1.0.0.tgz", - "integrity": "sha512-vvK0Hi/VWndxoh03Mmz6wa1KDriSPjS2XMZL/1l19HFwygiObEEoEwSDxOqyLzzAI6J2PU3261JjTMTO7x+BPw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-1.2.1.tgz", + "integrity": "sha512-n12NohV3mrUyUL2o93IgG/ifeW9FTyeJn3zDxkhwa8MJ9Fxg3HQMlA3RiGmD/3UnJvheztkjjQAjA2T4LmUcpw==", "license": "MIT", "dependencies": { - "langium": "^4.0.0" + "@chevrotain/types": "~11.1.2" } }, "node_modules/@noble/hashes": { @@ -5364,15 +5331,6 @@ "node": ">=14.16" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/@types/body-parser": { "version": "1.19.6", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", @@ -6017,6 +5975,16 @@ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "license": "ISC" }, + "node_modules/@upsetjs/venn.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@upsetjs/venn.js/-/venn.js-2.0.0.tgz", + "integrity": "sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==", + "license": "MIT", + "optionalDependencies": { + "d3-selection": "^3.0.0", + "d3-transition": "^3.0.1" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -6688,9 +6656,9 @@ } }, "node_modules/body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "version": "1.20.6", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz", + "integrity": "sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==", "license": "MIT", "dependencies": { "bytes": "~3.1.2", @@ -6701,7 +6669,7 @@ "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "on-finished": "~2.4.1", - "qs": "~6.14.0", + "qs": "~6.15.1", "raw-body": "~2.5.3", "type-is": "~1.6.18", "unpipe": "~1.0.0" @@ -6786,9 +6754,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", + "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -7129,32 +7097,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/chevrotain": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.1.1.tgz", - "integrity": "sha512-f0yv5CPKaFxfsPTBzX7vGuim4oIC1/gcS7LUGdBSwl2dU6+FON6LVUksdOo1qJjoUvXNn45urgh8C+0a24pACQ==", - "license": "Apache-2.0", - "dependencies": { - "@chevrotain/cst-dts-gen": "11.1.1", - "@chevrotain/gast": "11.1.1", - "@chevrotain/regexp-to-ast": "11.1.1", - "@chevrotain/types": "11.1.1", - "@chevrotain/utils": "11.1.1", - "lodash-es": "4.17.23" - } - }, - "node_modules/chevrotain-allstar": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", - "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", - "license": "MIT", - "dependencies": { - "lodash-es": "^4.17.21" - }, - "peerDependencies": { - "chevrotain": "^11.0.0" - } - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -8125,9 +8067,9 @@ "license": "MIT" }, "node_modules/cytoscape": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz", - "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", + "version": "3.34.2", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.34.2.tgz", + "integrity": "sha512-Cm2jaj1X/PBNlzV9yH8zcfGOxO7U+CJ/+mxSBVPSchLaugdp4jtlGx5qaHtPRZ6tgiZ5P+o1XoRfJA+ba6KM3g==", "license": "MIT", "engines": { "node": ">=0.10" @@ -8623,9 +8565,9 @@ } }, "node_modules/dagre-d3-es": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.13.tgz", - "integrity": "sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==", + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.14.tgz", + "integrity": "sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==", "license": "MIT", "dependencies": { "d3": "^7.9.0", @@ -8633,9 +8575,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.19", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", - "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "version": "1.11.23", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.23.tgz", + "integrity": "sha512-QDTCU0M0MxR3hQfnlDJfwekQiaanm1ubOD231u73WBckQ/fsamwRLiE2GBz6D3a/xF1NgfiDLJjXBa1hYOYTtQ==", "license": "MIT" }, "node_modules/debounce": { @@ -8800,9 +8742,9 @@ } }, "node_modules/delaunator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", - "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.1.0.tgz", + "integrity": "sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==", "license": "ISC", "dependencies": { "robust-predicates": "^3.0.2" @@ -8947,9 +8889,9 @@ } }, "node_modules/dompurify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", - "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "version": "3.4.14", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.14.tgz", + "integrity": "sha512-dVoH9z+MY+C9IilgGCk3YfFqjLi3fChm2OiKJMzh6axrJ5qwxqWaZamgmHrpv22CN/KdbZJuGEGgfQoL00LTdg==", "license": "(MPL-2.0 OR Apache-2.0)", "optionalDependencies": { "@types/trusted-types": "^2.0.7" @@ -9151,6 +9093,18 @@ "node": ">= 0.4" } }, + "node_modules/es-toolkit": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.52.0.tgz", + "integrity": "sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks", + "tests/types", + "tests/browser-compat" + ] + }, "node_modules/esast-util-from-estree": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", @@ -9462,14 +9416,14 @@ } }, "node_modules/express": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", - "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "~1.20.3", + "body-parser": "~1.20.5", "content-disposition": "~0.5.4", "content-type": "~1.0.4", "cookie": "~0.7.1", @@ -9488,7 +9442,7 @@ "parseurl": "~1.3.3", "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "~6.14.0", + "qs": "~6.15.1", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "~0.19.0", @@ -9596,9 +9550,9 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.6.tgz", + "integrity": "sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==", "funding": [ { "type": "github", @@ -9611,6 +9565,15 @@ ], "license": "BSD-3-Clause" }, + "node_modules/fastdom": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastdom/-/fastdom-1.0.12.tgz", + "integrity": "sha512-LB+xjSTEbjHE1cWsxu+tN2Xqr1kpi+V9aADI7sVM5ZMaXyYGPHULQMzpJMYqOTULK/73pUkWVzzObFRBkPr+hg==", + "license": "MIT", + "dependencies": { + "strictdom": "^1.0.1" + } + }, "node_modules/fastq": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", @@ -9837,9 +9800,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "funding": [ { "type": "individual", @@ -10160,9 +10123,9 @@ } }, "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz", + "integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==", "license": "MIT", "dependencies": { "argparse": "^1.0.7", @@ -11313,9 +11276,19 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -11379,9 +11352,9 @@ } }, "node_modules/katex": { - "version": "0.16.33", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.33.tgz", - "integrity": "sha512-q3N5u+1sY9Bu7T4nlXoiRBXWfwSefNGoKeOwekV+gw0cAXQlz2Ww6BLcmBxVDeXBMUDQv6fK5bcNaJLxob3ZQA==", + "version": "0.16.47", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.47.tgz", + "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==", "funding": [ "https://opencollective.com/katex", "https://github.com/sponsors/katex" @@ -11435,23 +11408,6 @@ "node": ">=6" } }, - "node_modules/langium": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/langium/-/langium-4.2.1.tgz", - "integrity": "sha512-zu9QWmjpzJcomzdJQAHgDVhLGq5bLosVak1KVa40NzQHXfqr4eAHupvnPOVXEoLkg6Ocefvf/93d//SB7du4YQ==", - "license": "MIT", - "dependencies": { - "chevrotain": "~11.1.1", - "chevrotain-allstar": "~0.3.1", - "vscode-languageserver": "~9.0.1", - "vscode-languageserver-textdocument": "~1.0.11", - "vscode-uri": "~3.1.0" - }, - "engines": { - "node": ">=20.10.0", - "npm": ">=10.2.3" - } - }, "node_modules/latest-version": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", @@ -11468,13 +11424,13 @@ } }, "node_modules/launch-editor": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.1.tgz", - "integrity": "sha512-lPSddlAAluRKJ7/cjRFoXUFzaX7q/YKI7yPHuEvSJVqoXvFnJov1/Ud87Aa4zULIbA9Nja4mSPK8l0z/7eV2wA==", + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.14.1.tgz", + "integrity": "sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==", "license": "MIT", "dependencies": { "picocolors": "^1.1.1", - "shell-quote": "^1.8.3" + "shell-quote": "^1.8.4" } }, "node_modules/layout-base": { @@ -11553,15 +11509,15 @@ } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", - "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", "license": "MIT" }, "node_modules/lodash.debounce": { @@ -12148,31 +12104,33 @@ } }, "node_modules/mermaid": { - "version": "11.12.3", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.3.tgz", - "integrity": "sha512-wN5ZSgJQIC+CHJut9xaKWsknLxaFBwCPwPkGTSUYrTiHORWvpT8RxGk849HPnpUAQ+/9BPRqYb80jTpearrHzQ==", + "version": "11.17.2", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.17.2.tgz", + "integrity": "sha512-V6K3C8EBdEsPFZXSKMJe6ppQOENxuHARr9GvHX4hh47lAbhMRD9qf4oEK7LoaRQxULMa80/qt5gHO73aCleBBg==", "license": "MIT", "dependencies": { - "@braintree/sanitize-url": "^7.1.1", - "@iconify/utils": "^3.0.1", - "@mermaid-js/parser": "^1.0.0", + "@braintree/sanitize-url": "^7.1.2", + "@iconify/utils": "^3.0.2", + "@mermaid-js/parser": "^1.2.1", "@types/d3": "^7.4.3", - "cytoscape": "^3.29.3", + "@upsetjs/venn.js": "^2.0.0", + "cytoscape": "^3.34.0", "cytoscape-cose-bilkent": "^4.1.0", "cytoscape-fcose": "^2.2.0", "d3": "^7.9.0", "d3-sankey": "^0.12.3", - "dagre-d3-es": "7.0.13", - "dayjs": "^1.11.18", - "dompurify": "^3.2.5", - "katex": "^0.16.22", + "dagre-d3-es": "7.0.14", + "dayjs": "^1.11.21", + "dompurify": "^3.3.3", + "es-toolkit": "^1.45.1", + "fastdom": "1.0.12", + "katex": "^0.16.47", "khroma": "^2.1.0", - "lodash-es": "^4.17.23", - "marked": "^16.2.1", + "marked": "^16.3.0", "roughjs": "^4.6.6", "stylis": "^4.3.6", "ts-dedent": "^2.2.0", - "uuid": "^11.1.0" + "uuid": "^11.1.0 || ^12 || ^13 || ^14.0.0" } }, "node_modules/methods": { @@ -14123,9 +14081,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", "funding": [ { "type": "github", @@ -14821,9 +14779,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz", + "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==", "funding": [ { "type": "opencollective", @@ -14840,7 +14798,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", + "nanoid": "^3.3.17", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -16387,12 +16345,13 @@ } }, "node_modules/qs": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", - "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "version": "6.15.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.1.0" + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" }, "engines": { "node": ">=0.6" @@ -17218,9 +17177,9 @@ } }, "node_modules/robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", + "integrity": "sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==", "license": "Unlicense" }, "node_modules/roughjs": { @@ -17321,9 +17280,9 @@ "license": "MIT" }, "node_modules/sax": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", - "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz", + "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", "license": "BlueOak-1.0.0", "engines": { "node": ">=11.0.0" @@ -17670,9 +17629,9 @@ } }, "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.10.0.tgz", + "integrity": "sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -17682,14 +17641,14 @@ } }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -17701,13 +17660,13 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -17974,6 +17933,12 @@ "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", "license": "MIT" }, + "node_modules/strictdom": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strictdom/-/strictdom-1.0.1.tgz", + "integrity": "sha512-cEmp9QeXXRmjj/rVp9oyiqcvyocWab/HaoN4+bwFeZ7QzykJD6L3yD4v12K1x0tHpqRqVpJevN3gW7kyM39Bqg==", + "license": "MIT" + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -18168,18 +18133,18 @@ "license": "MIT" }, "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.5.tgz", + "integrity": "sha512-8SQMzdrvWaD8deUmrnYB+ASyxBVgWUOilg+A75nE/76WdLpj6LopCwiAVvkzkcqy/9b7t2Mg7faFLjg0ZRcZ3w==", "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^5.1.0", "css-tree": "^2.3.1", "css-what": "^6.1.0", "csso": "^5.0.5", - "picocolors": "^1.0.0" + "picocolors": "^1.0.0", + "sax": "^1.5.0" }, "bin": { "svgo": "bin/svgo" @@ -19011,55 +18976,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/vscode-jsonrpc": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", - "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/vscode-languageserver": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", - "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", - "license": "MIT", - "dependencies": { - "vscode-languageserver-protocol": "3.17.5" - }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" - } - }, - "node_modules/vscode-languageserver-protocol": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", - "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", - "license": "MIT", - "dependencies": { - "vscode-jsonrpc": "8.2.0", - "vscode-languageserver-types": "3.17.5" - } - }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", - "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", - "license": "MIT" - }, - "node_modules/vscode-languageserver-types": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", - "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", - "license": "MIT" - }, - "node_modules/vscode-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", - "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", - "license": "MIT" - }, "node_modules/watchpack": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", @@ -19239,9 +19155,9 @@ } }, "node_modules/webpack-dev-server": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz", - "integrity": "sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==", + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.6.tgz", + "integrity": "sha512-HNLRmamRvVavZQ+avceZifmv8hmdUjg43t6MI4SqJDwFdW7RPQwH5vzGhDRZSX59SgfbeHhLnq3g+uooWo7pVw==", "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.13", @@ -19262,7 +19178,7 @@ "graceful-fs": "^4.2.6", "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", - "launch-editor": "^2.6.1", + "launch-editor": "^2.14.1", "open": "^10.0.3", "p-retry": "^6.2.0", "schema-utils": "^4.2.0", @@ -19326,9 +19242,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz", + "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -19463,9 +19379,9 @@ } }, "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.5.tgz", + "integrity": "sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==", "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", @@ -19590,9 +19506,9 @@ } }, "node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.13.tgz", + "integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==", "license": "MIT", "engines": { "node": ">=8.3.0" diff --git a/l10n/be.js b/l10n/be.js new file mode 100644 index 000000000..2b01601fc --- /dev/null +++ b/l10n/be.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Выбар колеру для {label}", + "NL design system theme": "Тэма NL Design System", + "Documentation": "Дакументацыя", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Выберыце набор дызайн-токенаў урада Нідэрландаў у якасці асновы або наладзьце асобныя CSS-токены Nextcloud ніжэй.", + "Design token set": "Набор дызайн-токенаў", + "Hide Nextcloud slogan/payoff on login page": "Схаваць слоган Nextcloud на старонцы ўваходу", + "Show text labels in app menu (hide icons)": "Паказваць тэкставыя подпісы ў меню праграм (схаваць значкі)", + "Preview": "Папярэдні прагляд", + "Primary button": "Асноўная кнопка", + "Secondary button": "Дадатковая кнопка", + "Loading token editor…": "Загрузка рэдактара токенаў …", + "Learn more about NL design system": "Даведацца больш пра NL Design System", + "Theme updated successfully. reload the page to see changes.": "Тэма паспяхова абноўлена. Перазагрузіце старонку, каб убачыць змены.", + "Failed to update theme.": "Не ўдалося абнавіць тэму.", + "Primary color": "Асноўны колер", + "Background color": "Колер фону", + "Logo": "Лагатып", + "(custom logo)": "(уласны лагатып)", + "(default)": "(прадвызначана)", + "Background image": "Выява фону", + "(custom)": "(уласнае)", + "Update Nextcloud theming to match {name}?": "Абнавіць аздабленне Nextcloud у адпаведнасці з {name}?", + "Current": "Бягучае", + "Proposed": "Прапанаванае", + "Setting": "Налада", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Паказаны толькі значэнні, якія адрозніваюцца. Элементы без прапанаванага значэння застаюцца без змен.", + "Cancel": "Скасаваць", + "Update theming": "Абнавіць аздабленне", + "Updating...": "Абнаўленне ...", + "Nextcloud theming updated successfully. reloading page...": "Аздабленне Nextcloud паспяхова абноўлена. Перазагрузка старонкі ...", + "Failed to update Nextcloud theming:": "Не ўдалося абнавіць аздабленне Nextcloud: ", + "Failed to update Nextcloud theming.": "Не ўдалося абнавіць аздабленне Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Налада паспяхова захавана. Перазагрузіце старонку ўваходу, каб убачыць змены.", + "Failed to save setting.": "Не ўдалося захаваць наладу.", + "Setting saved successfully. reload the page to see changes.": "Налада паспяхова захавана. Перазагрузіце старонку, каб убачыць змены.", + "Could not load token editor.": "Не ўдалося загрузіць рэдактар токенаў.", + "Custom token overrides": "Уласныя пераазначэнні токенаў", + "Download": "Спампаваць", + "Upload": "Запампаваць", + "Save overrides": "Захаваць пераазначэнні", + "Custom value": "Уласнае значэнне", + "Reset to default": "Скінуць да прадвызначанага", + "Unsaved changes": "Незахаваныя змены", + "Token overrides saved.": "Пераазначэнні токенаў захаваны.", + "Failed to save overrides:": "Не ўдалося захаваць пераазначэнні: ", + "Failed to save overrides.": "Не ўдалося захаваць пераазначэнні.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} токенаў імпартавана, {skipped} токенаў прапушчана (не распазнана)", + "Import failed:": "Не ўдалося імпартаваць: ", + "Import failed.": "Не ўдалося імпартаваць.", + "Apply token set: {name}": "Прымяніць набор токенаў: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Гэтыя значэнні зменяцца. Адзначце, якія з іх прымяніць да вашых уласных пераазначэнняў.", + "Select all": "Выбраць усё", + "Deselect all": "Зняць усё вылучэнне", + "Token": "Токен", + "New": "Новы", + "Apply selected": "Прымяніць выбранае", + "Applying…": "Прымяненне …", + "Token overrides applied.": "Пераазначэнні токенаў прыменены.", + "Failed to apply token set.": "Не ўдалося прымяніць набор токенаў.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/bg.js b/l10n/bg.js new file mode 100644 index 000000000..37c936ea8 --- /dev/null +++ b/l10n/bg.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Избор на цвят за {label}", + "NL design system theme": "Тема NL Design System", + "Documentation": "Документация", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Изберете набор от дизайнерски токени на нидерландското правителство като основа или персонализирайте отделните CSS токени на Nextcloud по-долу.", + "Design token set": "Набор от дизайнерски токени", + "Hide Nextcloud slogan/payoff on login page": "Скриване на слогана на Nextcloud на страницата за вход", + "Show text labels in app menu (hide icons)": "Показване на текстови етикети в менюто на приложенията (скриване на иконите)", + "Preview": "Преглед", + "Primary button": "Основен бутон", + "Secondary button": "Второстепенен бутон", + "Loading token editor…": "Зареждане на редактора на токени…", + "Learn more about NL design system": "Научете повече за NL Design System", + "Theme updated successfully. reload the page to see changes.": "Темата е обновена успешно. Презаредете страницата, за да видите промените.", + "Failed to update theme.": "Неуспешно обновяване на темата.", + "Primary color": "Основен цвят", + "Background color": "Цвят на фона", + "Logo": "Лого", + "(custom logo)": "(персонализирано лого)", + "(default)": "(по подразбиране)", + "Background image": "Фоново изображение", + "(custom)": "(персонализирано)", + "Update Nextcloud theming to match {name}?": "Да се обнови темата на Nextcloud, за да съответства на {name}?", + "Current": "Текущо", + "Proposed": "Предложено", + "Setting": "Настройка", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Показват се само стойностите, които се различават. Елементите без предложена стойност остават непроменени.", + "Cancel": "Отказ", + "Update theming": "Обновяване на темата", + "Updating...": "Обновяване...", + "Nextcloud theming updated successfully. reloading page...": "Темата на Nextcloud е обновена успешно. Презареждане на страницата...", + "Failed to update Nextcloud theming:": "Неуспешно обновяване на темата на Nextcloud: ", + "Failed to update Nextcloud theming.": "Неуспешно обновяване на темата на Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Настройката е запазена успешно. Презаредете страницата за вход, за да видите промените.", + "Failed to save setting.": "Неуспешно запазване на настройката.", + "Setting saved successfully. reload the page to see changes.": "Настройката е запазена успешно. Презаредете страницата, за да видите промените.", + "Could not load token editor.": "Редакторът на токени не можа да се зареди.", + "Custom token overrides": "Персонализирани замествания на токени", + "Download": "Изтегляне", + "Upload": "Качване", + "Save overrides": "Запазване на заместванията", + "Custom value": "Персонализирана стойност", + "Reset to default": "Връщане към стойностите по подразбиране", + "Unsaved changes": "Незапазени промени", + "Token overrides saved.": "Заместванията на токени са запазени.", + "Failed to save overrides:": "Неуспешно запазване на заместванията: ", + "Failed to save overrides.": "Неуспешно запазване на заместванията.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} токена импортирани, {skipped} токена пропуснати (неразпознати)", + "Import failed:": "Импортирането е неуспешно: ", + "Import failed.": "Импортирането е неуспешно.", + "Apply token set: {name}": "Прилагане на набор от токени: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Тези стойности ще се променят. Отметнете кои да приложите към вашите персонализирани замествания.", + "Select all": "Избиране на всички", + "Deselect all": "Премахване на избора от всички", + "Token": "Токен", + "New": "Нов", + "Apply selected": "Прилагане на избраните", + "Applying…": "Прилагане…", + "Token overrides applied.": "Заместванията на токени са приложени.", + "Failed to apply token set.": "Неуспешно прилагане на набора от токени.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/bs.js b/l10n/bs.js new file mode 100644 index 000000000..9b6160fb2 --- /dev/null +++ b/l10n/bs.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Birač boja za {label}", + "NL design system theme": "Tema NL Design System", + "Documentation": "Dokumentacija", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Odaberite skup dizajnerskih tokena holandske vlade kao osnovu, ili prilagodite pojedinačne Nextcloud CSS tokene ispod.", + "Design token set": "Skup dizajnerskih tokena", + "Hide Nextcloud slogan/payoff on login page": "Sakrij Nextcloud slogan na stranici za prijavu", + "Show text labels in app menu (hide icons)": "Prikaži tekstualne oznake u meniju aplikacija (sakrij ikone)", + "Preview": "Pregled", + "Primary button": "Primarno dugme", + "Secondary button": "Sekundarno dugme", + "Loading token editor…": "Učitavanje uređivača tokena …", + "Learn more about NL design system": "Saznajte više o NL Design System", + "Theme updated successfully. reload the page to see changes.": "Tema je uspješno ažurirana. Ponovo učitajte stranicu da biste vidjeli izmjene.", + "Failed to update theme.": "Ažuriranje teme nije uspjelo.", + "Primary color": "Primarna boja", + "Background color": "Boja pozadine", + "Logo": "Logo", + "(custom logo)": "(prilagođeni logo)", + "(default)": "(zadano)", + "Background image": "Slika pozadine", + "(custom)": "(prilagođeno)", + "Update Nextcloud theming to match {name}?": "Ažurirati Nextcloud temu da odgovara {name}?", + "Current": "Trenutno", + "Proposed": "Predloženo", + "Setting": "Postavka", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Prikazane su samo vrijednosti koje se razlikuju. Stavke bez predložene vrijednosti ostaju nepromijenjene.", + "Cancel": "Otkaži", + "Update theming": "Ažuriraj temu", + "Updating...": "Ažuriranje ...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud tema je uspješno ažurirana. Ponovno učitavanje stranice ...", + "Failed to update Nextcloud theming:": "Ažuriranje Nextcloud teme nije uspjelo: ", + "Failed to update Nextcloud theming.": "Ažuriranje Nextcloud teme nije uspjelo.", + "Setting saved successfully. reload the login page to see changes.": "Postavka je uspješno sačuvana. Ponovo učitajte stranicu za prijavu da biste vidjeli izmjene.", + "Failed to save setting.": "Čuvanje postavke nije uspjelo.", + "Setting saved successfully. reload the page to see changes.": "Postavka je uspješno sačuvana. Ponovo učitajte stranicu da biste vidjeli izmjene.", + "Could not load token editor.": "Nije moguće učitati uređivač tokena.", + "Custom token overrides": "Prilagođena premošćivanja tokena", + "Download": "Preuzmi", + "Upload": "Otpremi", + "Save overrides": "Sačuvaj premošćivanja", + "Custom value": "Prilagođena vrijednost", + "Reset to default": "Vrati na zadano", + "Unsaved changes": "Nesačuvane izmjene", + "Token overrides saved.": "Premošćivanja tokena su sačuvana.", + "Failed to save overrides:": "Čuvanje premošćivanja nije uspjelo: ", + "Failed to save overrides.": "Čuvanje premošćivanja nije uspjelo.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokena uvezeno, {skipped} tokena preskočeno (nisu prepoznati)", + "Import failed:": "Uvoz nije uspio: ", + "Import failed.": "Uvoz nije uspio.", + "Apply token set: {name}": "Primijeni skup tokena: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Ove vrijednosti bi se promijenile. Označite koje želite primijeniti na vaša prilagođena premošćivanja.", + "Select all": "Odaberi sve", + "Deselect all": "Poništi odabir svega", + "Token": "Token", + "New": "Novo", + "Apply selected": "Primijeni odabrano", + "Applying…": "Primjenjivanje …", + "Token overrides applied.": "Premošćivanja tokena su primijenjena.", + "Failed to apply token set.": "Primjena skupa tokena nije uspjela.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/ca.js b/l10n/ca.js new file mode 100644 index 000000000..de70098f9 --- /dev/null +++ b/l10n/ca.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Selector de color per a {label}", + "NL design system theme": "Tema NL Design System", + "Documentation": "Documentació", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Seleccioneu un conjunt de tokens de disseny del govern neerlandès com a base o personalitzeu tokens CSS individuals de Nextcloud a continuació.", + "Design token set": "Conjunt de tokens de disseny", + "Hide Nextcloud slogan/payoff on login page": "Amaga l'eslògan de Nextcloud a la pàgina d'inici de sessió", + "Show text labels in app menu (hide icons)": "Mostra les etiquetes de text al menú d'aplicacions (amaga les icones)", + "Preview": "Previsualització", + "Primary button": "Botó primari", + "Secondary button": "Botó secundari", + "Loading token editor…": "S'està carregant l'editor de tokens …", + "Learn more about NL design system": "Més informació sobre NL Design System", + "Theme updated successfully. reload the page to see changes.": "El tema s'ha actualitzat correctament. Torneu a carregar la pàgina per veure els canvis.", + "Failed to update theme.": "No s'ha pogut actualitzar el tema.", + "Primary color": "Color primari", + "Background color": "Color de fons", + "Logo": "Logotip", + "(custom logo)": "(logotip personalitzat)", + "(default)": "(per defecte)", + "Background image": "Imatge de fons", + "(custom)": "(personalitzat)", + "Update Nextcloud theming to match {name}?": "Voleu actualitzar el tema de Nextcloud perquè coincideixi amb {name}?", + "Current": "Actual", + "Proposed": "Proposat", + "Setting": "Paràmetre", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Només es mostren els valors que difereixen. Els elements sense un valor proposat es deixen sense canvis.", + "Cancel": "Cancel·la", + "Update theming": "Actualitza el tema", + "Updating...": "S'està actualitzant ...", + "Nextcloud theming updated successfully. reloading page...": "El tema de Nextcloud s'ha actualitzat correctament. S'està tornant a carregar la pàgina ...", + "Failed to update Nextcloud theming:": "No s'ha pogut actualitzar el tema de Nextcloud: ", + "Failed to update Nextcloud theming.": "No s'ha pogut actualitzar el tema de Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "El paràmetre s'ha desat correctament. Torneu a carregar la pàgina d'inici de sessió per veure els canvis.", + "Failed to save setting.": "No s'ha pogut desar el paràmetre.", + "Setting saved successfully. reload the page to see changes.": "El paràmetre s'ha desat correctament. Torneu a carregar la pàgina per veure els canvis.", + "Could not load token editor.": "No s'ha pogut carregar l'editor de tokens.", + "Custom token overrides": "Substitucions de tokens personalitzades", + "Download": "Baixa", + "Upload": "Puja", + "Save overrides": "Desa les substitucions", + "Custom value": "Valor personalitzat", + "Reset to default": "Restableix als valors per defecte", + "Unsaved changes": "Canvis sense desar", + "Token overrides saved.": "S'han desat les substitucions de tokens.", + "Failed to save overrides:": "No s'han pogut desar les substitucions: ", + "Failed to save overrides.": "No s'han pogut desar les substitucions.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokens importats, {skipped} tokens omesos (no reconeguts)", + "Import failed:": "La importació ha fallat: ", + "Import failed.": "La importació ha fallat.", + "Apply token set: {name}": "Aplica el conjunt de tokens: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Aquests valors canviarien. Marqueu quins voleu aplicar a les vostres substitucions personalitzades.", + "Select all": "Selecciona-ho tot", + "Deselect all": "Desselecciona-ho tot", + "Token": "Token", + "New": "Nou", + "Apply selected": "Aplica la selecció", + "Applying…": "S'està aplicant …", + "Token overrides applied.": "S'han aplicat les substitucions de tokens.", + "Failed to apply token set.": "No s'ha pogut aplicar el conjunt de tokens.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/cs.js b/l10n/cs.js new file mode 100644 index 000000000..09b972276 --- /dev/null +++ b/l10n/cs.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Výběr barvy pro {label}", + "NL design system theme": "Motiv NL Design System", + "Documentation": "Dokumentace", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Vyberte sadu návrhových tokenů nizozemské vlády jako základ nebo níže přizpůsobte jednotlivé CSS tokeny Nextcloud.", + "Design token set": "Sada návrhových tokenů", + "Hide Nextcloud slogan/payoff on login page": "Skrýt slogan Nextcloud na přihlašovací stránce", + "Show text labels in app menu (hide icons)": "Zobrazit textové popisky v nabídce aplikací (skrýt ikony)", + "Preview": "Náhled", + "Primary button": "Primární tlačítko", + "Secondary button": "Sekundární tlačítko", + "Loading token editor…": "Načítání editoru tokenů…", + "Learn more about NL design system": "Zjistěte více o NL Design System", + "Theme updated successfully. reload the page to see changes.": "Motiv byl úspěšně aktualizován. Znovu načtěte stránku, abyste viděli změny.", + "Failed to update theme.": "Aktualizace motivu se nezdařila.", + "Primary color": "Primární barva", + "Background color": "Barva pozadí", + "Logo": "Logo", + "(custom logo)": "(vlastní logo)", + "(default)": "(výchozí)", + "Background image": "Obrázek pozadí", + "(custom)": "(vlastní)", + "Update Nextcloud theming to match {name}?": "Aktualizovat motiv Nextcloud tak, aby odpovídal {name}?", + "Current": "Aktuální", + "Proposed": "Navrhované", + "Setting": "Nastavení", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Zobrazeny jsou pouze hodnoty, které se liší. Položky bez navrhované hodnoty zůstávají beze změny.", + "Cancel": "Zrušit", + "Update theming": "Aktualizovat motiv", + "Updating...": "Aktualizace...", + "Nextcloud theming updated successfully. reloading page...": "Motiv Nextcloud byl úspěšně aktualizován. Znovu se načítá stránka...", + "Failed to update Nextcloud theming:": "Aktualizace motivu Nextcloud se nezdařila: ", + "Failed to update Nextcloud theming.": "Aktualizace motivu Nextcloud se nezdařila.", + "Setting saved successfully. reload the login page to see changes.": "Nastavení bylo úspěšně uloženo. Znovu načtěte přihlašovací stránku, abyste viděli změny.", + "Failed to save setting.": "Uložení nastavení se nezdařilo.", + "Setting saved successfully. reload the page to see changes.": "Nastavení bylo úspěšně uloženo. Znovu načtěte stránku, abyste viděli změny.", + "Could not load token editor.": "Editor tokenů se nepodařilo načíst.", + "Custom token overrides": "Vlastní přepsání tokenů", + "Download": "Stáhnout", + "Upload": "Nahrát", + "Save overrides": "Uložit přepsání", + "Custom value": "Vlastní hodnota", + "Reset to default": "Obnovit výchozí", + "Unsaved changes": "Neuložené změny", + "Token overrides saved.": "Přepsání tokenů byla uložena.", + "Failed to save overrides:": "Uložení přepsání se nezdařilo: ", + "Failed to save overrides.": "Uložení přepsání se nezdařilo.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokenů importováno, {skipped} tokenů přeskočeno (nerozpoznáno)", + "Import failed:": "Import se nezdařil: ", + "Import failed.": "Import se nezdařil.", + "Apply token set: {name}": "Použít sadu tokenů: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Tyto hodnoty by se změnily. Zaškrtněte, které z nich použít na vaše vlastní přepsání.", + "Select all": "Vybrat vše", + "Deselect all": "Zrušit výběr všech", + "Token": "Token", + "New": "Nové", + "Apply selected": "Použít vybrané", + "Applying…": "Probíhá použití…", + "Token overrides applied.": "Přepsání tokenů byla použita.", + "Failed to apply token set.": "Použití sady tokenů se nezdařilo.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/da.js b/l10n/da.js new file mode 100644 index 000000000..9a9db5d86 --- /dev/null +++ b/l10n/da.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Farvevælger til {label}", + "NL design system theme": "NL Design System-tema", + "Documentation": "Dokumentation", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Vælg et hollandsk regerings-designtokensæt som grundlag, eller tilpas individuelle Nextcloud CSS-tokens nedenfor.", + "Design token set": "Designtokensæt", + "Hide Nextcloud slogan/payoff on login page": "Skjul Nextcloud-slogan på loginsiden", + "Show text labels in app menu (hide icons)": "Vis tekstetiketter i appmenuen (skjul ikoner)", + "Preview": "Forhåndsvisning", + "Primary button": "Primær knap", + "Secondary button": "Sekundær knap", + "Loading token editor…": "Indlæser tokeneditor…", + "Learn more about NL design system": "Få mere at vide om NL Design System", + "Theme updated successfully. reload the page to see changes.": "Temaet blev opdateret. Genindlæs siden for at se ændringerne.", + "Failed to update theme.": "Kunne ikke opdatere temaet.", + "Primary color": "Primær farve", + "Background color": "Baggrundsfarve", + "Logo": "Logo", + "(custom logo)": "(brugerdefineret logo)", + "(default)": "(standard)", + "Background image": "Baggrundsbillede", + "(custom)": "(brugerdefineret)", + "Update Nextcloud theming to match {name}?": "Opdater Nextcloud-tema, så det matcher {name}?", + "Current": "Nuværende", + "Proposed": "Foreslået", + "Setting": "Indstilling", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Kun værdier, der adskiller sig, vises. Elementer uden en foreslået værdi forbliver uændrede.", + "Cancel": "Annuller", + "Update theming": "Opdater tema", + "Updating...": "Opdaterer...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud-temaet blev opdateret. Genindlæser siden...", + "Failed to update Nextcloud theming:": "Kunne ikke opdatere Nextcloud-tema: ", + "Failed to update Nextcloud theming.": "Kunne ikke opdatere Nextcloud-tema.", + "Setting saved successfully. reload the login page to see changes.": "Indstillingen blev gemt. Genindlæs loginsiden for at se ændringerne.", + "Failed to save setting.": "Kunne ikke gemme indstillingen.", + "Setting saved successfully. reload the page to see changes.": "Indstillingen blev gemt. Genindlæs siden for at se ændringerne.", + "Could not load token editor.": "Kunne ikke indlæse tokeneditoren.", + "Custom token overrides": "Brugerdefinerede tokentilsidesættelser", + "Download": "Download", + "Upload": "Upload", + "Save overrides": "Gem tilsidesættelser", + "Custom value": "Brugerdefineret værdi", + "Reset to default": "Nulstil til standard", + "Unsaved changes": "Ikke-gemte ændringer", + "Token overrides saved.": "Tokentilsidesættelser gemt.", + "Failed to save overrides:": "Kunne ikke gemme tilsidesættelser: ", + "Failed to save overrides.": "Kunne ikke gemme tilsidesættelser.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokens importeret, {skipped} tokens sprunget over (ikke genkendt)", + "Import failed:": "Import mislykkedes: ", + "Import failed.": "Import mislykkedes.", + "Apply token set: {name}": "Anvend tokensæt: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Disse værdier ville ændre sig. Markér hvilke, der skal anvendes på dine brugerdefinerede tilsidesættelser.", + "Select all": "Vælg alle", + "Deselect all": "Fravælg alle", + "Token": "Token", + "New": "Ny", + "Apply selected": "Anvend valgte", + "Applying…": "Anvender…", + "Token overrides applied.": "Tokentilsidesættelser anvendt.", + "Failed to apply token set.": "Kunne ikke anvende tokensættet.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/de.js b/l10n/de.js new file mode 100644 index 000000000..2ec23c4c6 --- /dev/null +++ b/l10n/de.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Farbauswahl für {label}", + "NL design system theme": "NL-Design-System-Theme", + "Documentation": "Dokumentation", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Wählen Sie ein niederländisches Design-Token-Set der Verwaltung als Basis oder passen Sie unten einzelne Nextcloud-CSS-Tokens an.", + "Design token set": "Design-Token-Set", + "Hide Nextcloud slogan/payoff on login page": "Nextcloud-Slogan/Payoff auf der Anmeldeseite ausblenden", + "Show text labels in app menu (hide icons)": "Textbeschriftungen im App-Menü anzeigen (Symbole ausblenden)", + "Preview": "Vorschau", + "Primary button": "Primäre Schaltfläche", + "Secondary button": "Sekundäre Schaltfläche", + "Loading token editor…": "Token-Editor wird geladen…", + "Learn more about NL design system": "Mehr über das NL Design System erfahren", + "Theme updated successfully. reload the page to see changes.": "Theme erfolgreich aktualisiert. Laden Sie die Seite neu, um die Änderungen zu sehen.", + "Failed to update theme.": "Aktualisieren des Themes fehlgeschlagen.", + "Primary color": "Primärfarbe", + "Background color": "Hintergrundfarbe", + "Logo": "Logo", + "(custom logo)": "(benutzerdefiniertes Logo)", + "(default)": "(Standard)", + "Background image": "Hintergrundbild", + "(custom)": "(benutzerdefiniert)", + "Update Nextcloud theming to match {name}?": "Nextcloud-Theming aktualisieren, damit es zu {name} passt?", + "Current": "Aktuell", + "Proposed": "Vorgeschlagen", + "Setting": "Einstellung", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Es werden nur abweichende Werte angezeigt. Einträge ohne vorgeschlagenen Wert bleiben unverändert.", + "Cancel": "Abbrechen", + "Update theming": "Theming aktualisieren", + "Updating...": "Wird aktualisiert…", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud-Theming erfolgreich aktualisiert. Seite wird neu geladen…", + "Failed to update Nextcloud theming:": "Aktualisieren des Nextcloud-Themings fehlgeschlagen: ", + "Failed to update Nextcloud theming.": "Aktualisieren des Nextcloud-Themings fehlgeschlagen.", + "Setting saved successfully. reload the login page to see changes.": "Einstellung erfolgreich gespeichert. Laden Sie die Anmeldeseite neu, um die Änderungen zu sehen.", + "Failed to save setting.": "Speichern der Einstellung fehlgeschlagen.", + "Setting saved successfully. reload the page to see changes.": "Einstellung erfolgreich gespeichert. Laden Sie die Seite neu, um die Änderungen zu sehen.", + "Could not load token editor.": "Token-Editor konnte nicht geladen werden.", + "Custom token overrides": "Benutzerdefinierte Token-Überschreibungen", + "Download": "Herunterladen", + "Upload": "Hochladen", + "Save overrides": "Überschreibungen speichern", + "Custom value": "Benutzerdefinierter Wert", + "Reset to default": "Auf Standard zurücksetzen", + "Unsaved changes": "Nicht gespeicherte Änderungen", + "Token overrides saved.": "Token-Überschreibungen gespeichert.", + "Failed to save overrides:": "Speichern der Überschreibungen fehlgeschlagen: ", + "Failed to save overrides.": "Speichern der Überschreibungen fehlgeschlagen.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} Tokens importiert, {skipped} Tokens übersprungen (nicht erkannt)", + "Import failed:": "Import fehlgeschlagen: ", + "Import failed.": "Import fehlgeschlagen.", + "Apply token set: {name}": "Token-Set anwenden: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Diese Werte würden sich ändern. Wählen Sie aus, welche auf Ihre benutzerdefinierten Überschreibungen angewendet werden sollen.", + "Select all": "Alle auswählen", + "Deselect all": "Alle abwählen", + "Token": "Token", + "New": "Neu", + "Apply selected": "Auswahl anwenden", + "Applying…": "Wird angewendet…", + "Token overrides applied.": "Token-Überschreibungen angewendet.", + "Failed to apply token set.": "Anwenden des Token-Sets fehlgeschlagen.", + "Theming per app": "Theming pro App", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Wählen Sie, für welche Apps das NL-Design-Theme gilt. Wird eine App abgewählt, werden ihre Seiten im Standard-Nextcloud-Stil dargestellt, einschließlich der Kopfzeile auf diesen Seiten.", + "Loading apps…": "Apps werden geladen…", + "Save app theming": "App-Theming speichern", + "Failed to load apps.": "Apps konnten nicht geladen werden.", + "No apps available.": "Keine Apps verfügbar.", + "App theming saved. Reload an affected app to see changes.": "App-Theming gespeichert. Laden Sie eine betroffene App neu, um die Änderungen zu sehen.", + "Failed to save app theming.": "App-Theming konnte nicht gespeichert werden.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/el.js b/l10n/el.js new file mode 100644 index 000000000..c766ee250 --- /dev/null +++ b/l10n/el.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Επιλογέας χρώματος για {label}", + "NL design system theme": "Θέμα NL Design System", + "Documentation": "Τεκμηρίωση", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Επιλέξτε ένα σύνολο διακριτικών σχεδίασης της ολλανδικής κυβέρνησης ως βάση ή προσαρμόστε μεμονωμένα διακριτικά CSS του Nextcloud παρακάτω.", + "Design token set": "Σύνολο διακριτικών σχεδίασης", + "Hide Nextcloud slogan/payoff on login page": "Απόκρυψη του σλόγκαν του Nextcloud στη σελίδα σύνδεσης", + "Show text labels in app menu (hide icons)": "Εμφάνιση ετικετών κειμένου στο μενού εφαρμογών (απόκρυψη εικονιδίων)", + "Preview": "Προεπισκόπηση", + "Primary button": "Κύριο κουμπί", + "Secondary button": "Δευτερεύον κουμπί", + "Loading token editor…": "Φόρτωση επεξεργαστή διακριτικών…", + "Learn more about NL design system": "Μάθετε περισσότερα για το NL Design System", + "Theme updated successfully. reload the page to see changes.": "Το θέμα ενημερώθηκε με επιτυχία. Επαναφορτώστε τη σελίδα για να δείτε τις αλλαγές.", + "Failed to update theme.": "Αποτυχία ενημέρωσης του θέματος.", + "Primary color": "Κύριο χρώμα", + "Background color": "Χρώμα φόντου", + "Logo": "Λογότυπο", + "(custom logo)": "(προσαρμοσμένο λογότυπο)", + "(default)": "(προεπιλογή)", + "Background image": "Εικόνα φόντου", + "(custom)": "(προσαρμοσμένο)", + "Update Nextcloud theming to match {name}?": "Ενημέρωση του θέματος του Nextcloud ώστε να ταιριάζει με το {name};", + "Current": "Τρέχον", + "Proposed": "Προτεινόμενο", + "Setting": "Ρύθμιση", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Εμφανίζονται μόνο οι τιμές που διαφέρουν. Τα στοιχεία χωρίς προτεινόμενη τιμή παραμένουν αμετάβλητα.", + "Cancel": "Ακύρωση", + "Update theming": "Ενημέρωση θέματος", + "Updating...": "Ενημέρωση...", + "Nextcloud theming updated successfully. reloading page...": "Το θέμα του Nextcloud ενημερώθηκε με επιτυχία. Επαναφόρτωση σελίδας...", + "Failed to update Nextcloud theming:": "Αποτυχία ενημέρωσης του θέματος του Nextcloud: ", + "Failed to update Nextcloud theming.": "Αποτυχία ενημέρωσης του θέματος του Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Η ρύθμιση αποθηκεύτηκε με επιτυχία. Επαναφορτώστε τη σελίδα σύνδεσης για να δείτε τις αλλαγές.", + "Failed to save setting.": "Αποτυχία αποθήκευσης της ρύθμισης.", + "Setting saved successfully. reload the page to see changes.": "Η ρύθμιση αποθηκεύτηκε με επιτυχία. Επαναφορτώστε τη σελίδα για να δείτε τις αλλαγές.", + "Could not load token editor.": "Δεν ήταν δυνατή η φόρτωση του επεξεργαστή διακριτικών.", + "Custom token overrides": "Προσαρμοσμένες παρακάμψεις διακριτικών", + "Download": "Λήψη", + "Upload": "Μεταφόρτωση", + "Save overrides": "Αποθήκευση παρακάμψεων", + "Custom value": "Προσαρμοσμένη τιμή", + "Reset to default": "Επαναφορά στην προεπιλογή", + "Unsaved changes": "Μη αποθηκευμένες αλλαγές", + "Token overrides saved.": "Οι παρακάμψεις διακριτικών αποθηκεύτηκαν.", + "Failed to save overrides:": "Αποτυχία αποθήκευσης παρακάμψεων: ", + "Failed to save overrides.": "Αποτυχία αποθήκευσης παρακάμψεων.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} διακριτικά εισήχθησαν, {skipped} διακριτικά παραλείφθηκαν (δεν αναγνωρίστηκαν)", + "Import failed:": "Η εισαγωγή απέτυχε: ", + "Import failed.": "Η εισαγωγή απέτυχε.", + "Apply token set: {name}": "Εφαρμογή συνόλου διακριτικών: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Αυτές οι τιμές θα άλλαζαν. Επιλέξτε ποιες θα εφαρμοστούν στις προσαρμοσμένες παρακάμψεις σας.", + "Select all": "Επιλογή όλων", + "Deselect all": "Αποεπιλογή όλων", + "Token": "Διακριτικό", + "New": "Νέο", + "Apply selected": "Εφαρμογή επιλεγμένων", + "Applying…": "Εφαρμογή…", + "Token overrides applied.": "Οι παρακάμψεις διακριτικών εφαρμόστηκαν.", + "Failed to apply token set.": "Αποτυχία εφαρμογής του συνόλου διακριτικών.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/en.js b/l10n/en.js new file mode 100644 index 000000000..b378add03 --- /dev/null +++ b/l10n/en.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Colour picker for {label}", + "NL design system theme": "NL Design System Theme", + "Documentation": "Documentation", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Select a Dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.", + "Design token set": "Design token set", + "Hide Nextcloud slogan/payoff on login page": "Hide Nextcloud slogan/payoff on login page", + "Show text labels in app menu (hide icons)": "Show text labels in app menu (hide icons)", + "Preview": "Preview", + "Primary button": "Primary button", + "Secondary button": "Secondary button", + "Loading token editor…": "Loading token editor…", + "Learn more about NL design system": "Learn more about NL Design System", + "Theme updated successfully. reload the page to see changes.": "Theme updated successfully. Reload the page to see changes.", + "Failed to update theme.": "Failed to update theme.", + "Primary color": "Primary color", + "Background color": "Background color", + "Logo": "Logo", + "(custom logo)": "(custom logo)", + "(default)": "(default)", + "Background image": "Background image", + "(custom)": "(custom)", + "Update Nextcloud theming to match {name}?": "Update Nextcloud theming to match {name}?", + "Current": "Current", + "Proposed": "Proposed", + "Setting": "Setting", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Only values that differ are shown. Items without a proposed value are left unchanged.", + "Cancel": "Cancel", + "Update theming": "Update theming", + "Updating...": "Updating...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud theming updated successfully. Reloading page...", + "Failed to update Nextcloud theming:": "Failed to update Nextcloud theming: ", + "Failed to update Nextcloud theming.": "Failed to update Nextcloud theming.", + "Setting saved successfully. reload the login page to see changes.": "Setting saved successfully. Reload the login page to see changes.", + "Failed to save setting.": "Failed to save setting.", + "Setting saved successfully. reload the page to see changes.": "Setting saved successfully. Reload the page to see changes.", + "Could not load token editor.": "Could not load token editor.", + "Custom token overrides": "Custom token overrides", + "Download": "Download", + "Upload": "Upload", + "Save overrides": "Save overrides", + "Custom value": "Custom value", + "Reset to default": "Reset to default", + "Unsaved changes": "Unsaved changes", + "Token overrides saved.": "Token overrides saved.", + "Failed to save overrides:": "Failed to save overrides: ", + "Failed to save overrides.": "Failed to save overrides.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokens imported, {skipped} tokens skipped (not recognized)", + "Import failed:": "Import failed: ", + "Import failed.": "Import failed.", + "Apply token set: {name}": "Apply token set: {name}", + "These values would change. check which ones to apply to your custom overrides.": "These values would change. Check which ones to apply to your custom overrides.", + "Select all": "Select all", + "Deselect all": "Deselect all", + "Token": "Token", + "New": "New", + "Apply selected": "Apply selected", + "Applying…": "Applying…", + "Token overrides applied.": "Token overrides applied.", + "Failed to apply token set.": "Failed to apply token set.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/es.js b/l10n/es.js new file mode 100644 index 000000000..a8041795c --- /dev/null +++ b/l10n/es.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Selector de color para {label}", + "NL design system theme": "Tema NL Design System", + "Documentation": "Documentación", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Seleccione un conjunto de tokens de diseño del gobierno neerlandés como base, o personalice a continuación tokens CSS individuales de Nextcloud.", + "Design token set": "Conjunto de tokens de diseño", + "Hide Nextcloud slogan/payoff on login page": "Ocultar el eslogan/lema de Nextcloud en la página de inicio de sesión", + "Show text labels in app menu (hide icons)": "Mostrar etiquetas de texto en el menú de aplicaciones (ocultar iconos)", + "Preview": "Vista previa", + "Primary button": "Botón principal", + "Secondary button": "Botón secundario", + "Loading token editor…": "Cargando el editor de tokens…", + "Learn more about NL design system": "Más información sobre NL Design System", + "Theme updated successfully. reload the page to see changes.": "Tema actualizado correctamente. Vuelva a cargar la página para ver los cambios.", + "Failed to update theme.": "No se pudo actualizar el tema.", + "Primary color": "Color principal", + "Background color": "Color de fondo", + "Logo": "Logotipo", + "(custom logo)": "(logotipo personalizado)", + "(default)": "(predeterminado)", + "Background image": "Imagen de fondo", + "(custom)": "(personalizado)", + "Update Nextcloud theming to match {name}?": "¿Actualizar el tema de Nextcloud para que coincida con {name}?", + "Current": "Actual", + "Proposed": "Propuesto", + "Setting": "Ajuste", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Solo se muestran los valores que difieren. Los elementos sin valor propuesto permanecen sin cambios.", + "Cancel": "Cancelar", + "Update theming": "Actualizar tema", + "Updating...": "Actualizando…", + "Nextcloud theming updated successfully. reloading page...": "Tema de Nextcloud actualizado correctamente. Recargando la página…", + "Failed to update Nextcloud theming:": "No se pudo actualizar el tema de Nextcloud: ", + "Failed to update Nextcloud theming.": "No se pudo actualizar el tema de Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Ajuste guardado correctamente. Vuelva a cargar la página de inicio de sesión para ver los cambios.", + "Failed to save setting.": "No se pudo guardar el ajuste.", + "Setting saved successfully. reload the page to see changes.": "Ajuste guardado correctamente. Vuelva a cargar la página para ver los cambios.", + "Could not load token editor.": "No se pudo cargar el editor de tokens.", + "Custom token overrides": "Anulaciones de tokens personalizadas", + "Download": "Descargar", + "Upload": "Subir", + "Save overrides": "Guardar anulaciones", + "Custom value": "Valor personalizado", + "Reset to default": "Restablecer al valor predeterminado", + "Unsaved changes": "Cambios sin guardar", + "Token overrides saved.": "Anulaciones de tokens guardadas.", + "Failed to save overrides:": "No se pudieron guardar las anulaciones: ", + "Failed to save overrides.": "No se pudieron guardar las anulaciones.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokens importados, {skipped} tokens omitidos (no reconocidos)", + "Import failed:": "Error en la importación: ", + "Import failed.": "Error en la importación.", + "Apply token set: {name}": "Aplicar conjunto de tokens: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Estos valores cambiarían. Seleccione cuáles aplicar a sus anulaciones personalizadas.", + "Select all": "Seleccionar todo", + "Deselect all": "Deseleccionar todo", + "Token": "Token", + "New": "Nuevo", + "Apply selected": "Aplicar selección", + "Applying…": "Aplicando…", + "Token overrides applied.": "Anulaciones de tokens aplicadas.", + "Failed to apply token set.": "No se pudo aplicar el conjunto de tokens.", + "Theming per app": "Tematización por aplicación", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Elija a qué aplicaciones se aplica el tema NL Design. Al desmarcar una aplicación, sus páginas se muestran con el estilo estándar de Nextcloud, incluida la cabecera en esas páginas.", + "Loading apps…": "Cargando aplicaciones…", + "Save app theming": "Guardar tematización por aplicación", + "Failed to load apps.": "Error al cargar las aplicaciones.", + "No apps available.": "No hay aplicaciones disponibles.", + "App theming saved. Reload an affected app to see changes.": "Tematización por aplicación guardada. Vuelva a cargar una aplicación afectada para ver los cambios.", + "Failed to save app theming.": "Error al guardar la tematización por aplicación.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/et.js b/l10n/et.js new file mode 100644 index 000000000..8554b5e29 --- /dev/null +++ b/l10n/et.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Värvivalija sildile {label}", + "NL design system theme": "NL Design System teema", + "Documentation": "Dokumentatsioon", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Vali aluseks Hollandi valitsuse disainižetoonide komplekt või kohanda allpool üksikuid Nextcloudi CSS-žetoone.", + "Design token set": "Disainižetoonide komplekt", + "Hide Nextcloud slogan/payoff on login page": "Peida Nextcloudi loosung sisselogimislehel", + "Show text labels in app menu (hide icons)": "Näita rakenduste menüüs tekstisilte (peida ikoonid)", + "Preview": "Eelvaade", + "Primary button": "Esmane nupp", + "Secondary button": "Teisene nupp", + "Loading token editor…": "Žetooniredaktori laadimine…", + "Learn more about NL design system": "Loe lähemalt NL Design Systemi kohta", + "Theme updated successfully. reload the page to see changes.": "Teema uuendati edukalt. Muudatuste nägemiseks laadi leht uuesti.", + "Failed to update theme.": "Teema uuendamine ebaõnnestus.", + "Primary color": "Esmane värv", + "Background color": "Taustavärv", + "Logo": "Logo", + "(custom logo)": "(kohandatud logo)", + "(default)": "(vaikimisi)", + "Background image": "Taustapilt", + "(custom)": "(kohandatud)", + "Update Nextcloud theming to match {name}?": "Kas uuendada Nextcloudi teema vastavaks teemaga {name}?", + "Current": "Praegune", + "Proposed": "Pakutud", + "Setting": "Säte", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Kuvatakse ainult väärtused, mis erinevad. Üksused ilma pakutud väärtuseta jäävad muutmata.", + "Cancel": "Tühista", + "Update theming": "Uuenda teemat", + "Updating...": "Uuendamine...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloudi teema uuendati edukalt. Lehe uuesti laadimine...", + "Failed to update Nextcloud theming:": "Nextcloudi teema uuendamine ebaõnnestus: ", + "Failed to update Nextcloud theming.": "Nextcloudi teema uuendamine ebaõnnestus.", + "Setting saved successfully. reload the login page to see changes.": "Säte salvestati edukalt. Muudatuste nägemiseks laadi sisselogimisleht uuesti.", + "Failed to save setting.": "Sätte salvestamine ebaõnnestus.", + "Setting saved successfully. reload the page to see changes.": "Säte salvestati edukalt. Muudatuste nägemiseks laadi leht uuesti.", + "Could not load token editor.": "Žetooniredaktori laadimine ebaõnnestus.", + "Custom token overrides": "Kohandatud žetooni alistamised", + "Download": "Laadi alla", + "Upload": "Laadi üles", + "Save overrides": "Salvesta alistamised", + "Custom value": "Kohandatud väärtus", + "Reset to default": "Lähtesta vaikeväärtusele", + "Unsaved changes": "Salvestamata muudatused", + "Token overrides saved.": "Žetooni alistamised salvestati.", + "Failed to save overrides:": "Alistamiste salvestamine ebaõnnestus: ", + "Failed to save overrides.": "Alistamiste salvestamine ebaõnnestus.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} žetooni imporditud, {skipped} žetooni vahele jäetud (ei tuvastatud)", + "Import failed:": "Import ebaõnnestus: ", + "Import failed.": "Import ebaõnnestus.", + "Apply token set: {name}": "Rakenda žetoonikomplekt: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Need väärtused muutuksid. Märgi, millised neist oma kohandatud alistamistele rakendada.", + "Select all": "Vali kõik", + "Deselect all": "Tühista kõigi valik", + "Token": "Žetoon", + "New": "Uus", + "Apply selected": "Rakenda valitud", + "Applying…": "Rakendamine…", + "Token overrides applied.": "Žetooni alistamised rakendati.", + "Failed to apply token set.": "Žetoonikomplekti rakendamine ebaõnnestus.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/fi.js b/l10n/fi.js new file mode 100644 index 000000000..26ce9de4d --- /dev/null +++ b/l10n/fi.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Värivalitsin kohteelle {label}", + "NL design system theme": "NL Design System -teema", + "Documentation": "Dokumentaatio", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Valitse Alankomaiden hallinnon suunnittelutunnussarja pohjaksi tai mukauta yksittäisiä Nextcloudin CSS-tunnuksia alla.", + "Design token set": "Suunnittelutunnussarja", + "Hide Nextcloud slogan/payoff on login page": "Piilota Nextcloudin iskulause kirjautumissivulla", + "Show text labels in app menu (hide icons)": "Näytä tekstinimikkeet sovellusvalikossa (piilota kuvakkeet)", + "Preview": "Esikatselu", + "Primary button": "Ensisijainen painike", + "Secondary button": "Toissijainen painike", + "Loading token editor…": "Ladataan tunnuseditoria…", + "Learn more about NL design system": "Lue lisää NL Design Systemistä", + "Theme updated successfully. reload the page to see changes.": "Teema päivitettiin onnistuneesti. Lataa sivu uudelleen nähdäksesi muutokset.", + "Failed to update theme.": "Teeman päivittäminen epäonnistui.", + "Primary color": "Ensisijainen väri", + "Background color": "Taustaväri", + "Logo": "Logo", + "(custom logo)": "(mukautettu logo)", + "(default)": "(oletus)", + "Background image": "Taustakuva", + "(custom)": "(mukautettu)", + "Update Nextcloud theming to match {name}?": "Päivitetäänkö Nextcloudin teema vastaamaan kohdetta {name}?", + "Current": "Nykyinen", + "Proposed": "Ehdotettu", + "Setting": "Asetus", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Vain eroavat arvot näytetään. Kohteet, joilla ei ole ehdotettua arvoa, jätetään ennalleen.", + "Cancel": "Peruuta", + "Update theming": "Päivitä teema", + "Updating...": "Päivitetään...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloudin teema päivitettiin onnistuneesti. Ladataan sivua uudelleen...", + "Failed to update Nextcloud theming:": "Nextcloudin teeman päivittäminen epäonnistui: ", + "Failed to update Nextcloud theming.": "Nextcloudin teeman päivittäminen epäonnistui.", + "Setting saved successfully. reload the login page to see changes.": "Asetus tallennettiin onnistuneesti. Lataa kirjautumissivu uudelleen nähdäksesi muutokset.", + "Failed to save setting.": "Asetuksen tallentaminen epäonnistui.", + "Setting saved successfully. reload the page to see changes.": "Asetus tallennettiin onnistuneesti. Lataa sivu uudelleen nähdäksesi muutokset.", + "Could not load token editor.": "Tunnuseditoria ei voitu ladata.", + "Custom token overrides": "Mukautetut tunnusohitukset", + "Download": "Lataa", + "Upload": "Lähetä", + "Save overrides": "Tallenna ohitukset", + "Custom value": "Mukautettu arvo", + "Reset to default": "Palauta oletukseksi", + "Unsaved changes": "Tallentamattomat muutokset", + "Token overrides saved.": "Tunnusohitukset tallennettiin.", + "Failed to save overrides:": "Ohitusten tallentaminen epäonnistui: ", + "Failed to save overrides.": "Ohitusten tallentaminen epäonnistui.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tunnusta tuotu, {skipped} tunnusta ohitettu (ei tunnistettu)", + "Import failed:": "Tuonti epäonnistui: ", + "Import failed.": "Tuonti epäonnistui.", + "Apply token set: {name}": "Ota käyttöön tunnussarja: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Nämä arvot muuttuisivat. Valitse, mitkä otetaan käyttöön mukautetuissa ohituksissasi.", + "Select all": "Valitse kaikki", + "Deselect all": "Poista kaikkien valinta", + "Token": "Tunnus", + "New": "Uusi", + "Apply selected": "Ota valitut käyttöön", + "Applying…": "Otetaan käyttöön…", + "Token overrides applied.": "Tunnusohitukset otettiin käyttöön.", + "Failed to apply token set.": "Tunnussarjan käyttöönotto epäonnistui.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/fr.js b/l10n/fr.js new file mode 100644 index 000000000..fc7ad8158 --- /dev/null +++ b/l10n/fr.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Sélecteur de couleur pour {label}", + "NL design system theme": "Thème NL Design System", + "Documentation": "Documentation", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Sélectionnez un jeu de jetons de conception du gouvernement néerlandais comme base, ou personnalisez ci-dessous les jetons CSS Nextcloud individuels.", + "Design token set": "Jeu de jetons de conception", + "Hide Nextcloud slogan/payoff on login page": "Masquer le slogan/la signature Nextcloud sur la page de connexion", + "Show text labels in app menu (hide icons)": "Afficher les libellés textuels dans le menu des applications (masquer les icônes)", + "Preview": "Aperçu", + "Primary button": "Bouton principal", + "Secondary button": "Bouton secondaire", + "Loading token editor…": "Chargement de l’éditeur de jetons…", + "Learn more about NL design system": "En savoir plus sur NL Design System", + "Theme updated successfully. reload the page to see changes.": "Thème mis à jour avec succès. Rechargez la page pour voir les changements.", + "Failed to update theme.": "Échec de la mise à jour du thème.", + "Primary color": "Couleur principale", + "Background color": "Couleur d’arrière-plan", + "Logo": "Logo", + "(custom logo)": "(logo personnalisé)", + "(default)": "(par défaut)", + "Background image": "Image d’arrière-plan", + "(custom)": "(personnalisé)", + "Update Nextcloud theming to match {name}?": "Mettre à jour le thème Nextcloud pour correspondre à {name} ?", + "Current": "Actuel", + "Proposed": "Proposé", + "Setting": "Paramètre", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Seules les valeurs différentes sont affichées. Les éléments sans valeur proposée restent inchangés.", + "Cancel": "Annuler", + "Update theming": "Mettre à jour le thème", + "Updating...": "Mise à jour…", + "Nextcloud theming updated successfully. reloading page...": "Thème Nextcloud mis à jour avec succès. Rechargement de la page…", + "Failed to update Nextcloud theming:": "Échec de la mise à jour du thème Nextcloud : ", + "Failed to update Nextcloud theming.": "Échec de la mise à jour du thème Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Paramètre enregistré avec succès. Rechargez la page de connexion pour voir les changements.", + "Failed to save setting.": "Échec de l’enregistrement du paramètre.", + "Setting saved successfully. reload the page to see changes.": "Paramètre enregistré avec succès. Rechargez la page pour voir les changements.", + "Could not load token editor.": "Impossible de charger l’éditeur de jetons.", + "Custom token overrides": "Remplacements de jetons personnalisés", + "Download": "Télécharger", + "Upload": "Téléverser", + "Save overrides": "Enregistrer les remplacements", + "Custom value": "Valeur personnalisée", + "Reset to default": "Réinitialiser par défaut", + "Unsaved changes": "Modifications non enregistrées", + "Token overrides saved.": "Remplacements de jetons enregistrés.", + "Failed to save overrides:": "Échec de l’enregistrement des remplacements : ", + "Failed to save overrides.": "Échec de l’enregistrement des remplacements.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} jetons importés, {skipped} jetons ignorés (non reconnus)", + "Import failed:": "Échec de l’importation : ", + "Import failed.": "Échec de l’importation.", + "Apply token set: {name}": "Appliquer le jeu de jetons : {name}", + "These values would change. check which ones to apply to your custom overrides.": "Ces valeurs seraient modifiées. Sélectionnez celles à appliquer à vos remplacements personnalisés.", + "Select all": "Tout sélectionner", + "Deselect all": "Tout désélectionner", + "Token": "Jeton", + "New": "Nouveau", + "Apply selected": "Appliquer la sélection", + "Applying…": "Application…", + "Token overrides applied.": "Remplacements de jetons appliqués.", + "Failed to apply token set.": "Échec de l’application du jeu de jetons.", + "Theming per app": "Thème par application", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choisissez les applications auxquelles le thème NL Design s’applique. Décocher une application affiche ses pages avec le style Nextcloud par défaut, y compris l’en-tête sur ces pages.", + "Loading apps…": "Chargement des applications…", + "Save app theming": "Enregistrer le thème par application", + "Failed to load apps.": "Échec du chargement des applications.", + "No apps available.": "Aucune application disponible.", + "App theming saved. Reload an affected app to see changes.": "Thème par application enregistré. Rechargez une application concernée pour voir les changements.", + "Failed to save app theming.": "Échec de l’enregistrement du thème par application.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne est la police officielle de l'État français et est réservée aux administrations de l'État. Ne l'activez que si votre organisation est une administration de l'État. Sinon, Inter est utilisé.", + "Our organisation is a French State agency (administration de l'État)": "Notre organisation est une administration de l'État français", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/ga.js b/l10n/ga.js new file mode 100644 index 000000000..4e335cda0 --- /dev/null +++ b/l10n/ga.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Roghnóir dathanna do {label}", + "NL design system theme": "Téama NL Design System", + "Documentation": "Doiciméadú", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Roghnaigh tacar comharthaí dearaidh rialtas na hÍsiltíre mar bhonn, nó saincheap comharthaí CSS aonair Nextcloud thíos.", + "Design token set": "Tacar comharthaí dearaidh", + "Hide Nextcloud slogan/payoff on login page": "Folaigh mana Nextcloud ar an leathanach logála isteach", + "Show text labels in app menu (hide icons)": "Taispeáin lipéid téacs sa roghchlár feidhmchlár (folaigh ícóin)", + "Preview": "Réamhamharc", + "Primary button": "Cnaipe príomhúil", + "Secondary button": "Cnaipe tánaisteach", + "Loading token editor…": "Eagarthóir comharthaí á luchtú…", + "Learn more about NL design system": "Foghlaim tuilleadh faoi NL Design System", + "Theme updated successfully. reload the page to see changes.": "Nuashonraíodh an téama go rathúil. Athluchtaigh an leathanach chun na hathruithe a fheiceáil.", + "Failed to update theme.": "Theip ar nuashonrú an téama.", + "Primary color": "Príomhdhath", + "Background color": "Dath an chúlra", + "Logo": "Lógó", + "(custom logo)": "(lógó saincheaptha)", + "(default)": "(réamhshocrú)", + "Background image": "Íomhá chúlra", + "(custom)": "(saincheaptha)", + "Update Nextcloud theming to match {name}?": "Nuashonraigh téamú Nextcloud chun {name} a mheaitseáil?", + "Current": "Reatha", + "Proposed": "Molta", + "Setting": "Socrú", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Ní thaispeántar ach na luachanna a bhfuil difríocht eatarthu. Fágtar míreanna gan luach molta gan athrú.", + "Cancel": "Cealaigh", + "Update theming": "Nuashonraigh an téamú", + "Updating...": "Á nuashonrú...", + "Nextcloud theming updated successfully. reloading page...": "Nuashonraíodh téamú Nextcloud go rathúil. An leathanach á athluchtú...", + "Failed to update Nextcloud theming:": "Theip ar nuashonrú téamú Nextcloud: ", + "Failed to update Nextcloud theming.": "Theip ar nuashonrú téamú Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Sábháladh an socrú go rathúil. Athluchtaigh an leathanach logála isteach chun na hathruithe a fheiceáil.", + "Failed to save setting.": "Theip ar shábháil an socrú.", + "Setting saved successfully. reload the page to see changes.": "Sábháladh an socrú go rathúil. Athluchtaigh an leathanach chun na hathruithe a fheiceáil.", + "Could not load token editor.": "Níorbh fhéidir an t-eagarthóir comharthaí a luchtú.", + "Custom token overrides": "Sáruithe comharthaí saincheaptha", + "Download": "Íoslódáil", + "Upload": "Uaslódáil", + "Save overrides": "Sábháil na sáruithe", + "Custom value": "Luach saincheaptha", + "Reset to default": "Athshocraigh go dtí an réamhshocrú", + "Unsaved changes": "Athruithe gan sábháil", + "Token overrides saved.": "Sábháladh na sáruithe comharthaí.", + "Failed to save overrides:": "Theip ar shábháil na sáruithe: ", + "Failed to save overrides.": "Theip ar shábháil na sáruithe.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} comhartha iompórtáilte, {skipped} comhartha ar lár (gan aithint)", + "Import failed:": "Theip ar an iompórtáil: ", + "Import failed.": "Theip ar an iompórtáil.", + "Apply token set: {name}": "Cuir tacar comharthaí i bhfeidhm: {name}", + "These values would change. check which ones to apply to your custom overrides.": "D'athródh na luachanna seo. Roghnaigh cé acu a chuirfear i bhfeidhm ar do sháruithe saincheaptha.", + "Select all": "Roghnaigh uile", + "Deselect all": "Díroghnaigh uile", + "Token": "Comhartha", + "New": "Nua", + "Apply selected": "Cuir na cinn roghnaithe i bhfeidhm", + "Applying…": "Á chur i bhfeidhm…", + "Token overrides applied.": "Cuireadh na sáruithe comharthaí i bhfeidhm.", + "Failed to apply token set.": "Theip ar an tacar comharthaí a chur i bhfeidhm.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/hr.js b/l10n/hr.js new file mode 100644 index 000000000..1aa469e03 --- /dev/null +++ b/l10n/hr.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Birač boje za {label}", + "NL design system theme": "Tema NL Design System", + "Documentation": "Dokumentacija", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Odaberite skup dizajnerskih tokena nizozemske vlade kao osnovu ili prilagodite pojedinačne Nextcloud CSS tokene u nastavku.", + "Design token set": "Skup dizajnerskih tokena", + "Hide Nextcloud slogan/payoff on login page": "Sakrij Nextcloud slogan na stranici za prijavu", + "Show text labels in app menu (hide icons)": "Prikaži tekstualne oznake u izborniku aplikacija (sakrij ikone)", + "Preview": "Pregled", + "Primary button": "Primarni gumb", + "Secondary button": "Sekundarni gumb", + "Loading token editor…": "Učitavanje uređivača tokena…", + "Learn more about NL design system": "Saznajte više o NL Design System", + "Theme updated successfully. reload the page to see changes.": "Tema je uspješno ažurirana. Ponovno učitajte stranicu kako biste vidjeli promjene.", + "Failed to update theme.": "Ažuriranje teme nije uspjelo.", + "Primary color": "Primarna boja", + "Background color": "Boja pozadine", + "Logo": "Logotip", + "(custom logo)": "(prilagođeni logotip)", + "(default)": "(zadano)", + "Background image": "Pozadinska slika", + "(custom)": "(prilagođeno)", + "Update Nextcloud theming to match {name}?": "Ažurirati Nextcloud temu kako bi odgovarala {name}?", + "Current": "Trenutno", + "Proposed": "Predloženo", + "Setting": "Postavka", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Prikazane su samo vrijednosti koje se razlikuju. Stavke bez predložene vrijednosti ostaju nepromijenjene.", + "Cancel": "Odustani", + "Update theming": "Ažuriraj temu", + "Updating...": "Ažuriranje...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud tema je uspješno ažurirana. Ponovno učitavanje stranice...", + "Failed to update Nextcloud theming:": "Ažuriranje Nextcloud teme nije uspjelo: ", + "Failed to update Nextcloud theming.": "Ažuriranje Nextcloud teme nije uspjelo.", + "Setting saved successfully. reload the login page to see changes.": "Postavka je uspješno spremljena. Ponovno učitajte stranicu za prijavu kako biste vidjeli promjene.", + "Failed to save setting.": "Spremanje postavke nije uspjelo.", + "Setting saved successfully. reload the page to see changes.": "Postavka je uspješno spremljena. Ponovno učitajte stranicu kako biste vidjeli promjene.", + "Could not load token editor.": "Nije moguće učitati uređivač tokena.", + "Custom token overrides": "Prilagođena nadjačavanja tokena", + "Download": "Preuzmi", + "Upload": "Učitaj", + "Save overrides": "Spremi nadjačavanja", + "Custom value": "Prilagođena vrijednost", + "Reset to default": "Vrati na zadano", + "Unsaved changes": "Nespremljene promjene", + "Token overrides saved.": "Nadjačavanja tokena su spremljena.", + "Failed to save overrides:": "Spremanje nadjačavanja nije uspjelo: ", + "Failed to save overrides.": "Spremanje nadjačavanja nije uspjelo.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokena uvezeno, {skipped} tokena preskočeno (nije prepoznato)", + "Import failed:": "Uvoz nije uspio: ", + "Import failed.": "Uvoz nije uspio.", + "Apply token set: {name}": "Primijeni skup tokena: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Ove bi se vrijednosti promijenile. Označite koje primijeniti na vaša prilagođena nadjačavanja.", + "Select all": "Odaberi sve", + "Deselect all": "Poništi odabir svih", + "Token": "Token", + "New": "Novo", + "Apply selected": "Primijeni odabrano", + "Applying…": "Primjena…", + "Token overrides applied.": "Nadjačavanja tokena su primijenjena.", + "Failed to apply token set.": "Primjena skupa tokena nije uspjela.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/hu.js b/l10n/hu.js new file mode 100644 index 000000000..2c5114628 --- /dev/null +++ b/l10n/hu.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Színválasztó a következőhöz: {label}", + "NL design system theme": "NL Design System téma", + "Documentation": "Dokumentáció", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Válasszon egy holland kormányzati tervezési tokenkészletet alapként, vagy testreszabhatja az egyes Nextcloud CSS-tokeneket alább.", + "Design token set": "Tervezési tokenkészlet", + "Hide Nextcloud slogan/payoff on login page": "A Nextcloud szlogen elrejtése a bejelentkezési oldalon", + "Show text labels in app menu (hide icons)": "Szöveges címkék megjelenítése az alkalmazásmenüben (ikonok elrejtése)", + "Preview": "Előnézet", + "Primary button": "Elsődleges gomb", + "Secondary button": "Másodlagos gomb", + "Loading token editor…": "Tokenszerkesztő betöltése…", + "Learn more about NL design system": "Tudjon meg többet az NL Design System rendszerről", + "Theme updated successfully. reload the page to see changes.": "A téma sikeresen frissült. A változások megtekintéséhez töltse újra az oldalt.", + "Failed to update theme.": "A téma frissítése nem sikerült.", + "Primary color": "Elsődleges szín", + "Background color": "Háttérszín", + "Logo": "Logó", + "(custom logo)": "(egyéni logó)", + "(default)": "(alapértelmezett)", + "Background image": "Háttérkép", + "(custom)": "(egyéni)", + "Update Nextcloud theming to match {name}?": "Frissíti a Nextcloud témáját, hogy megegyezzen ezzel: {name}?", + "Current": "Jelenlegi", + "Proposed": "Javasolt", + "Setting": "Beállítás", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Csak az eltérő értékek jelennek meg. A javasolt érték nélküli elemek változatlanok maradnak.", + "Cancel": "Mégse", + "Update theming": "Téma frissítése", + "Updating...": "Frissítés...", + "Nextcloud theming updated successfully. reloading page...": "A Nextcloud témája sikeresen frissült. Az oldal újratöltése...", + "Failed to update Nextcloud theming:": "A Nextcloud témájának frissítése nem sikerült: ", + "Failed to update Nextcloud theming.": "A Nextcloud témájának frissítése nem sikerült.", + "Setting saved successfully. reload the login page to see changes.": "A beállítás sikeresen mentve. A változások megtekintéséhez töltse újra a bejelentkezési oldalt.", + "Failed to save setting.": "A beállítás mentése nem sikerült.", + "Setting saved successfully. reload the page to see changes.": "A beállítás sikeresen mentve. A változások megtekintéséhez töltse újra az oldalt.", + "Could not load token editor.": "A tokenszerkesztő nem tölthető be.", + "Custom token overrides": "Egyéni tokenfelülbírálatok", + "Download": "Letöltés", + "Upload": "Feltöltés", + "Save overrides": "Felülbírálatok mentése", + "Custom value": "Egyéni érték", + "Reset to default": "Visszaállítás alapértelmezettre", + "Unsaved changes": "Nem mentett változtatások", + "Token overrides saved.": "A tokenfelülbírálatok mentve.", + "Failed to save overrides:": "A felülbírálatok mentése nem sikerült: ", + "Failed to save overrides.": "A felülbírálatok mentése nem sikerült.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} token importálva, {skipped} token kihagyva (nem felismert)", + "Import failed:": "Az importálás nem sikerült: ", + "Import failed.": "Az importálás nem sikerült.", + "Apply token set: {name}": "Tokenkészlet alkalmazása: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Ezek az értékek megváltoznának. Jelölje be, melyeket alkalmazza az egyéni felülbírálataira.", + "Select all": "Összes kijelölése", + "Deselect all": "Kijelölés megszüntetése", + "Token": "Token", + "New": "Új", + "Apply selected": "Kijelöltek alkalmazása", + "Applying…": "Alkalmazás…", + "Token overrides applied.": "A tokenfelülbírálatok alkalmazva.", + "Failed to apply token set.": "A tokenkészlet alkalmazása nem sikerült.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/is.js b/l10n/is.js new file mode 100644 index 000000000..830c7f40c --- /dev/null +++ b/l10n/is.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Litaval fyrir {label}", + "NL design system theme": "NL Design System-þema", + "Documentation": "Skjölun", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Veldu sett af hönnunartáknum hollenskra stjórnvalda sem grunn, eða sérsníddu einstök Nextcloud-CSS-tákn hér að neðan.", + "Design token set": "Sett af hönnunartáknum", + "Hide Nextcloud slogan/payoff on login page": "Fela slagorð Nextcloud á innskráningarsíðu", + "Show text labels in app menu (hide icons)": "Sýna textamerki í forritavalmynd (fela táknmyndir)", + "Preview": "Forskoðun", + "Primary button": "Aðalhnappur", + "Secondary button": "Aukahnappur", + "Loading token editor…": "Hleð inn táknaritli …", + "Learn more about NL design system": "Fræðast meira um NL Design System", + "Theme updated successfully. reload the page to see changes.": "Þema uppfært. Endurhladdu síðuna til að sjá breytingarnar.", + "Failed to update theme.": "Mistókst að uppfæra þema.", + "Primary color": "Aðallitur", + "Background color": "Bakgrunnslitur", + "Logo": "Táknmerki", + "(custom logo)": "(sérsniðið táknmerki)", + "(default)": "(sjálfgefið)", + "Background image": "Bakgrunnsmynd", + "(custom)": "(sérsniðið)", + "Update Nextcloud theming to match {name}?": "Uppfæra þemu Nextcloud svo það samsvari {name}?", + "Current": "Núverandi", + "Proposed": "Tillaga", + "Setting": "Stilling", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Aðeins gildi sem eru ólík eru sýnd. Atriði án tillögugildis eru óbreytt.", + "Cancel": "Hætta við", + "Update theming": "Uppfæra þemu", + "Updating...": "Uppfæri ...", + "Nextcloud theming updated successfully. reloading page...": "Þemu Nextcloud uppfært. Endurhleð síðuna ...", + "Failed to update Nextcloud theming:": "Mistókst að uppfæra þemu Nextcloud: ", + "Failed to update Nextcloud theming.": "Mistókst að uppfæra þemu Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Stilling vistuð. Endurhladdu innskráningarsíðuna til að sjá breytingarnar.", + "Failed to save setting.": "Mistókst að vista stillingu.", + "Setting saved successfully. reload the page to see changes.": "Stilling vistuð. Endurhladdu síðuna til að sjá breytingarnar.", + "Could not load token editor.": "Tókst ekki að hlaða táknaritli.", + "Custom token overrides": "Sérsniðnar yfirskriftir tákna", + "Download": "Sækja", + "Upload": "Hlaða upp", + "Save overrides": "Vista yfirskriftir", + "Custom value": "Sérsniðið gildi", + "Reset to default": "Endurstilla á sjálfgefið", + "Unsaved changes": "Óvistaðar breytingar", + "Token overrides saved.": "Yfirskriftir tákna vistaðar.", + "Failed to save overrides:": "Mistókst að vista yfirskriftir: ", + "Failed to save overrides.": "Mistókst að vista yfirskriftir.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tákn flutt inn, {skipped} tákn sleppt (ekki þekkt)", + "Import failed:": "Innflutningur mistókst: ", + "Import failed.": "Innflutningur mistókst.", + "Apply token set: {name}": "Beita táknasetti: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Þessi gildi myndu breytast. Hakaðu við hver á að beita á sérsniðnu yfirskriftirnar þínar.", + "Select all": "Velja allt", + "Deselect all": "Afvelja allt", + "Token": "Tákn", + "New": "Nýtt", + "Apply selected": "Beita völdu", + "Applying…": "Beiti …", + "Token overrides applied.": "Yfirskriftum tákna beitt.", + "Failed to apply token set.": "Mistókst að beita táknasetti.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/it.js b/l10n/it.js new file mode 100644 index 000000000..14dcfff5b --- /dev/null +++ b/l10n/it.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Selettore colore per {label}", + "NL design system theme": "Tema NL Design System", + "Documentation": "Documentazione", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Selezioni un set di token di progettazione del governo dei Paesi Bassi come base, oppure personalizzi i singoli token CSS di Nextcloud qui sotto.", + "Design token set": "Set di token di progettazione", + "Hide Nextcloud slogan/payoff on login page": "Nascondi lo slogan/payoff di Nextcloud nella pagina di accesso", + "Show text labels in app menu (hide icons)": "Mostra le etichette di testo nel menu delle applicazioni (nascondi le icone)", + "Preview": "Anteprima", + "Primary button": "Pulsante principale", + "Secondary button": "Pulsante secondario", + "Loading token editor…": "Caricamento dell’editor dei token…", + "Learn more about NL design system": "Scopri di più su NL Design System", + "Theme updated successfully. reload the page to see changes.": "Tema aggiornato correttamente. Ricarichi la pagina per vedere le modifiche.", + "Failed to update theme.": "Aggiornamento del tema non riuscito.", + "Primary color": "Colore principale", + "Background color": "Colore di sfondo", + "Logo": "Logo", + "(custom logo)": "(logo personalizzato)", + "(default)": "(predefinito)", + "Background image": "Immagine di sfondo", + "(custom)": "(personalizzato)", + "Update Nextcloud theming to match {name}?": "Aggiornare il tema di Nextcloud affinché corrisponda a {name}?", + "Current": "Attuale", + "Proposed": "Proposto", + "Setting": "Impostazione", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Vengono mostrati solo i valori che differiscono. Gli elementi senza un valore proposto rimangono invariati.", + "Cancel": "Annulla", + "Update theming": "Aggiorna tema", + "Updating...": "Aggiornamento in corso…", + "Nextcloud theming updated successfully. reloading page...": "Tema di Nextcloud aggiornato correttamente. Ricaricamento della pagina…", + "Failed to update Nextcloud theming:": "Aggiornamento del tema di Nextcloud non riuscito: ", + "Failed to update Nextcloud theming.": "Aggiornamento del tema di Nextcloud non riuscito.", + "Setting saved successfully. reload the login page to see changes.": "Impostazione salvata correttamente. Ricarichi la pagina di accesso per vedere le modifiche.", + "Failed to save setting.": "Salvataggio dell’impostazione non riuscito.", + "Setting saved successfully. reload the page to see changes.": "Impostazione salvata correttamente. Ricarichi la pagina per vedere le modifiche.", + "Could not load token editor.": "Impossibile caricare l’editor dei token.", + "Custom token overrides": "Sostituzioni di token personalizzate", + "Download": "Scarica", + "Upload": "Carica", + "Save overrides": "Salva sostituzioni", + "Custom value": "Valore personalizzato", + "Reset to default": "Ripristina il valore predefinito", + "Unsaved changes": "Modifiche non salvate", + "Token overrides saved.": "Sostituzioni di token salvate.", + "Failed to save overrides:": "Salvataggio delle sostituzioni non riuscito: ", + "Failed to save overrides.": "Salvataggio delle sostituzioni non riuscito.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} token importati, {skipped} token ignorati (non riconosciuti)", + "Import failed:": "Importazione non riuscita: ", + "Import failed.": "Importazione non riuscita.", + "Apply token set: {name}": "Applica set di token: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Questi valori verrebbero modificati. Selezioni quali applicare alle sue sostituzioni personalizzate.", + "Select all": "Seleziona tutto", + "Deselect all": "Deseleziona tutto", + "Token": "Token", + "New": "Nuovo", + "Apply selected": "Applica selezionati", + "Applying…": "Applicazione in corso…", + "Token overrides applied.": "Sostituzioni di token applicate.", + "Failed to apply token set.": "Applicazione del set di token non riuscita.", + "Theming per app": "Tematizzazione per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Scegli a quali app si applica il tema NL Design. Deselezionando un’app le sue pagine vengono visualizzate con lo stile standard di Nextcloud, inclusa l’intestazione su quelle pagine.", + "Loading apps…": "Caricamento app…", + "Save app theming": "Salva tematizzazione per app", + "Failed to load apps.": "Caricamento delle app non riuscito.", + "No apps available.": "Nessuna app disponibile.", + "App theming saved. Reload an affected app to see changes.": "Tematizzazione per app salvata. Ricarica un’app interessata per vedere le modifiche.", + "Failed to save app theming.": "Salvataggio della tematizzazione per app non riuscito.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/lb.js b/l10n/lb.js new file mode 100644 index 000000000..2e543406d --- /dev/null +++ b/l10n/lb.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Faarfwieler fir {label}", + "NL design system theme": "NL Design System Theema", + "Documentation": "Dokumentatioun", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Wielt en Design-Token-Set vun der hollännescher Regierung als Basis, oder personaliséiert eenzel Nextcloud-CSS-Tokens hei ënnen.", + "Design token set": "Design-Token-Set", + "Hide Nextcloud slogan/payoff on login page": "Nextcloud-Slogan op der Umeldungssäit verstoppen", + "Show text labels in app menu (hide icons)": "Textetiketten am App-Menü uweisen (Iconen verstoppen)", + "Preview": "Virschau", + "Primary button": "Primäre Knäppchen", + "Secondary button": "Sekundäre Knäppchen", + "Loading token editor…": "Token-Editor gëtt gelueden …", + "Learn more about NL design system": "Méi iwwer NL Design System léieren", + "Theme updated successfully. reload the page to see changes.": "Theema erfollegräich aktualiséiert. Lued d'Säit nei fir d'Ännerungen ze gesinn.", + "Failed to update theme.": "Theema konnt net aktualiséiert ginn.", + "Primary color": "Primärfaarf", + "Background color": "Hannergrondfaarf", + "Logo": "Logo", + "(custom logo)": "(personaliséierte Logo)", + "(default)": "(Standard)", + "Background image": "Hannergrondbild", + "(custom)": "(personaliséiert)", + "Update Nextcloud theming to match {name}?": "Nextcloud-Theema aktualiséieren fir mat {name} ze passen?", + "Current": "Aktuell", + "Proposed": "Proposéiert", + "Setting": "Astellung", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Et ginn nëmmen d'Wäerter gewisen, déi sech ënnerscheeden. Elementer ouni e proposéierte Wäert bleiwen onverännert.", + "Cancel": "Ofbriechen", + "Update theming": "Theema aktualiséieren", + "Updating...": "Gëtt aktualiséiert ...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud-Theema erfollegräich aktualiséiert. D'Säit gëtt nei gelueden ...", + "Failed to update Nextcloud theming:": "Nextcloud-Theema konnt net aktualiséiert ginn: ", + "Failed to update Nextcloud theming.": "Nextcloud-Theema konnt net aktualiséiert ginn.", + "Setting saved successfully. reload the login page to see changes.": "Astellung erfollegräich gespäichert. Lued d'Umeldungssäit nei fir d'Ännerungen ze gesinn.", + "Failed to save setting.": "Astellung konnt net gespäichert ginn.", + "Setting saved successfully. reload the page to see changes.": "Astellung erfollegräich gespäichert. Lued d'Säit nei fir d'Ännerungen ze gesinn.", + "Could not load token editor.": "Token-Editor konnt net gelueden ginn.", + "Custom token overrides": "Personaliséiert Token-Iwwerschreiwungen", + "Download": "Eroflueden", + "Upload": "Eroplueden", + "Save overrides": "Iwwerschreiwunge späicheren", + "Custom value": "Personaliséierte Wäert", + "Reset to default": "Op Standard zerécksetzen", + "Unsaved changes": "Net gespäichert Ännerungen", + "Token overrides saved.": "Token-Iwwerschreiwunge gespäichert.", + "Failed to save overrides:": "Iwwerschreiwunge konnten net gespäichert ginn: ", + "Failed to save overrides.": "Iwwerschreiwunge konnten net gespäichert ginn.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} Tokens importéiert, {skipped} Tokens iwwersprongen (net erkannt)", + "Import failed:": "Import feelgeschloen: ", + "Import failed.": "Import feelgeschloen.", + "Apply token set: {name}": "Token-Set uwenden: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Dës Wäerter géifen änneren. Markéiert, déi Dir op Är personaliséiert Iwwerschreiwunge uwenne wëllt.", + "Select all": "Alles auswielen", + "Deselect all": "Auswiel ophiewen", + "Token": "Token", + "New": "Nei", + "Apply selected": "Ausgewielt uwenden", + "Applying…": "Gëtt ugewannt …", + "Token overrides applied.": "Token-Iwwerschreiwungen ugewannt.", + "Failed to apply token set.": "Token-Set konnt net ugewannt ginn.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/lt.js b/l10n/lt.js new file mode 100644 index 000000000..10fbccb4a --- /dev/null +++ b/l10n/lt.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Spalvų parinkiklis elementui {label}", + "NL design system theme": "NL Design System tema", + "Documentation": "Dokumentacija", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Pasirinkite Nyderlandų vyriausybės dizaino prieigos raktų rinkinį kaip pagrindą arba tinkinkite atskirus Nextcloud CSS prieigos raktus žemiau.", + "Design token set": "Dizaino prieigos raktų rinkinys", + "Hide Nextcloud slogan/payoff on login page": "Slėpti Nextcloud šūkį prisijungimo puslapyje", + "Show text labels in app menu (hide icons)": "Rodyti teksto etiketes programų meniu (slėpti piktogramas)", + "Preview": "Peržiūra", + "Primary button": "Pagrindinis mygtukas", + "Secondary button": "Antrinis mygtukas", + "Loading token editor…": "Įkeliamas prieigos raktų redaktorius…", + "Learn more about NL design system": "Sužinokite daugiau apie NL Design System", + "Theme updated successfully. reload the page to see changes.": "Tema sėkmingai atnaujinta. Iš naujo įkelkite puslapį, kad pamatytumėte pakeitimus.", + "Failed to update theme.": "Nepavyko atnaujinti temos.", + "Primary color": "Pagrindinė spalva", + "Background color": "Fono spalva", + "Logo": "Logotipas", + "(custom logo)": "(pasirinktinis logotipas)", + "(default)": "(numatytasis)", + "Background image": "Fono vaizdas", + "(custom)": "(pasirinktinis)", + "Update Nextcloud theming to match {name}?": "Atnaujinti Nextcloud apipavidalinimą, kad atitiktų {name}?", + "Current": "Dabartinis", + "Proposed": "Siūlomas", + "Setting": "Nustatymas", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Rodomos tik besiskiriančios reikšmės. Elementai be siūlomos reikšmės lieka nepakeisti.", + "Cancel": "Atšaukti", + "Update theming": "Atnaujinti apipavidalinimą", + "Updating...": "Atnaujinama...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud apipavidalinimas sėkmingai atnaujintas. Iš naujo įkeliamas puslapis...", + "Failed to update Nextcloud theming:": "Nepavyko atnaujinti Nextcloud apipavidalinimo: ", + "Failed to update Nextcloud theming.": "Nepavyko atnaujinti Nextcloud apipavidalinimo.", + "Setting saved successfully. reload the login page to see changes.": "Nustatymas sėkmingai įrašytas. Iš naujo įkelkite prisijungimo puslapį, kad pamatytumėte pakeitimus.", + "Failed to save setting.": "Nepavyko įrašyti nustatymo.", + "Setting saved successfully. reload the page to see changes.": "Nustatymas sėkmingai įrašytas. Iš naujo įkelkite puslapį, kad pamatytumėte pakeitimus.", + "Could not load token editor.": "Nepavyko įkelti prieigos raktų redaktoriaus.", + "Custom token overrides": "Pasirinktiniai prieigos raktų perrašymai", + "Download": "Atsisiųsti", + "Upload": "Įkelti", + "Save overrides": "Įrašyti perrašymus", + "Custom value": "Pasirinktinė reikšmė", + "Reset to default": "Atstatyti į numatytąją", + "Unsaved changes": "Neįrašyti pakeitimai", + "Token overrides saved.": "Prieigos raktų perrašymai įrašyti.", + "Failed to save overrides:": "Nepavyko įrašyti perrašymų: ", + "Failed to save overrides.": "Nepavyko įrašyti perrašymų.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} prieigos raktai importuoti, {skipped} prieigos raktai praleisti (neatpažinti)", + "Import failed:": "Importavimas nepavyko: ", + "Import failed.": "Importavimas nepavyko.", + "Apply token set: {name}": "Taikyti prieigos raktų rinkinį: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Šios reikšmės pasikeistų. Pažymėkite, kurias taikyti jūsų pasirinktiniams perrašymams.", + "Select all": "Pažymėti viską", + "Deselect all": "Atžymėti viską", + "Token": "Prieigos raktas", + "New": "Naujas", + "Apply selected": "Taikyti pažymėtus", + "Applying…": "Taikoma…", + "Token overrides applied.": "Prieigos raktų perrašymai pritaikyti.", + "Failed to apply token set.": "Nepavyko pritaikyti prieigos raktų rinkinio.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/lv.js b/l10n/lv.js new file mode 100644 index 000000000..50eccc08b --- /dev/null +++ b/l10n/lv.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Krāsu atlasītājs vienumam {label}", + "NL design system theme": "NL Design System tēma", + "Documentation": "Dokumentācija", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Atlasiet Nīderlandes valdības dizaina marķieru kopu kā pamatu vai pielāgojiet atsevišķus Nextcloud CSS marķierus zemāk.", + "Design token set": "Dizaina marķieru kopa", + "Hide Nextcloud slogan/payoff on login page": "Slēpt Nextcloud saukli pieteikšanās lapā", + "Show text labels in app menu (hide icons)": "Rādīt teksta etiķetes lietotņu izvēlnē (slēpt ikonas)", + "Preview": "Priekšskatījums", + "Primary button": "Primārā poga", + "Secondary button": "Sekundārā poga", + "Loading token editor…": "Notiek marķieru redaktora ielāde…", + "Learn more about NL design system": "Uzziniet vairāk par NL Design System", + "Theme updated successfully. reload the page to see changes.": "Tēma veiksmīgi atjaunināta. Pārlādējiet lapu, lai redzētu izmaiņas.", + "Failed to update theme.": "Neizdevās atjaunināt tēmu.", + "Primary color": "Primārā krāsa", + "Background color": "Fona krāsa", + "Logo": "Logotips", + "(custom logo)": "(pielāgots logotips)", + "(default)": "(noklusējums)", + "Background image": "Fona attēls", + "(custom)": "(pielāgots)", + "Update Nextcloud theming to match {name}?": "Atjaunināt Nextcloud noformējumu, lai tas atbilstu {name}?", + "Current": "Pašreizējais", + "Proposed": "Piedāvātais", + "Setting": "Iestatījums", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Tiek rādītas tikai vērtības, kas atšķiras. Vienumi bez piedāvātās vērtības paliek nemainīgi.", + "Cancel": "Atcelt", + "Update theming": "Atjaunināt noformējumu", + "Updating...": "Notiek atjaunināšana...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud noformējums veiksmīgi atjaunināts. Notiek lapas pārlāde...", + "Failed to update Nextcloud theming:": "Neizdevās atjaunināt Nextcloud noformējumu: ", + "Failed to update Nextcloud theming.": "Neizdevās atjaunināt Nextcloud noformējumu.", + "Setting saved successfully. reload the login page to see changes.": "Iestatījums veiksmīgi saglabāts. Pārlādējiet pieteikšanās lapu, lai redzētu izmaiņas.", + "Failed to save setting.": "Neizdevās saglabāt iestatījumu.", + "Setting saved successfully. reload the page to see changes.": "Iestatījums veiksmīgi saglabāts. Pārlādējiet lapu, lai redzētu izmaiņas.", + "Could not load token editor.": "Neizdevās ielādēt marķieru redaktoru.", + "Custom token overrides": "Pielāgotie marķieru pārrakstījumi", + "Download": "Lejupielādēt", + "Upload": "Augšupielādēt", + "Save overrides": "Saglabāt pārrakstījumus", + "Custom value": "Pielāgota vērtība", + "Reset to default": "Atiestatīt uz noklusējumu", + "Unsaved changes": "Nesaglabātas izmaiņas", + "Token overrides saved.": "Marķieru pārrakstījumi saglabāti.", + "Failed to save overrides:": "Neizdevās saglabāt pārrakstījumus: ", + "Failed to save overrides.": "Neizdevās saglabāt pārrakstījumus.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} marķieri importēti, {skipped} marķieri izlaisti (nav atpazīti)", + "Import failed:": "Importēšana neizdevās: ", + "Import failed.": "Importēšana neizdevās.", + "Apply token set: {name}": "Lietot marķieru kopu: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Šīs vērtības mainītos. Atzīmējiet, kuras no tām lietot jūsu pielāgotajiem pārrakstījumiem.", + "Select all": "Atlasīt visu", + "Deselect all": "Noņemt visu atlasi", + "Token": "Marķieris", + "New": "Jauns", + "Apply selected": "Lietot atlasītos", + "Applying…": "Notiek lietošana…", + "Token overrides applied.": "Marķieru pārrakstījumi lietoti.", + "Failed to apply token set.": "Neizdevās lietot marķieru kopu.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/mk.js b/l10n/mk.js new file mode 100644 index 000000000..560ffbf22 --- /dev/null +++ b/l10n/mk.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Избирач на бои за {label}", + "NL design system theme": "Тема NL Design System", + "Documentation": "Документација", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Изберете збир на дизајн-токени на холандската влада како основа, или прилагодете поединечни Nextcloud CSS токени подолу.", + "Design token set": "Збир на дизајн-токени", + "Hide Nextcloud slogan/payoff on login page": "Скриј го слоганот на Nextcloud на страницата за најава", + "Show text labels in app menu (hide icons)": "Прикажи текстуални ознаки во менито на апликации (скриј икони)", + "Preview": "Преглед", + "Primary button": "Примарно копче", + "Secondary button": "Секундарно копче", + "Loading token editor…": "Се вчитува уредувачот на токени …", + "Learn more about NL design system": "Дознајте повеќе за NL Design System", + "Theme updated successfully. reload the page to see changes.": "Темата е успешно ажурирана. Превчитајте ја страницата за да ги видите промените.", + "Failed to update theme.": "Ажурирањето на темата не успеа.", + "Primary color": "Примарна боја", + "Background color": "Боја на позадина", + "Logo": "Лого", + "(custom logo)": "(прилагодено лого)", + "(default)": "(стандардно)", + "Background image": "Слика на позадина", + "(custom)": "(прилагодено)", + "Update Nextcloud theming to match {name}?": "Да се ажурира темата на Nextcloud за да одговара на {name}?", + "Current": "Тековно", + "Proposed": "Предложено", + "Setting": "Поставка", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Прикажани се само вредностите што се разликуваат. Ставките без предложена вредност остануваат непроменети.", + "Cancel": "Откажи", + "Update theming": "Ажурирај тема", + "Updating...": "Се ажурира ...", + "Nextcloud theming updated successfully. reloading page...": "Темата на Nextcloud е успешно ажурирана. Се превчитува страницата ...", + "Failed to update Nextcloud theming:": "Ажурирањето на темата на Nextcloud не успеа: ", + "Failed to update Nextcloud theming.": "Ажурирањето на темата на Nextcloud не успеа.", + "Setting saved successfully. reload the login page to see changes.": "Поставката е успешно зачувана. Превчитајте ја страницата за најава за да ги видите промените.", + "Failed to save setting.": "Зачувувањето на поставката не успеа.", + "Setting saved successfully. reload the page to see changes.": "Поставката е успешно зачувана. Превчитајте ја страницата за да ги видите промените.", + "Could not load token editor.": "Не може да се вчита уредувачот на токени.", + "Custom token overrides": "Прилагодени пребришувања на токени", + "Download": "Преземи", + "Upload": "Подигни", + "Save overrides": "Зачувај пребришувања", + "Custom value": "Прилагодена вредност", + "Reset to default": "Врати на стандардно", + "Unsaved changes": "Незачувани промени", + "Token overrides saved.": "Пребришувањата на токени се зачувани.", + "Failed to save overrides:": "Зачувувањето на пребришувањата не успеа: ", + "Failed to save overrides.": "Зачувувањето на пребришувањата не успеа.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} токени се увезени, {skipped} токени се прескокнати (не се препознаени)", + "Import failed:": "Увозот не успеа: ", + "Import failed.": "Увозот не успеа.", + "Apply token set: {name}": "Примени збир на токени: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Овие вредности би се промениле. Означете кои сакате да ги примените на вашите прилагодени пребришувања.", + "Select all": "Избери ги сите", + "Deselect all": "Поништи го изборот на сите", + "Token": "Токен", + "New": "Ново", + "Apply selected": "Примени ги избраните", + "Applying…": "Се применува …", + "Token overrides applied.": "Пребришувањата на токени се применети.", + "Failed to apply token set.": "Примената на збирот на токени не успеа.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/mt.js b/l10n/mt.js new file mode 100644 index 000000000..29698e876 --- /dev/null +++ b/l10n/mt.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Għażla tal-kuluri għal {label}", + "NL design system theme": "Tema NL Design System", + "Documentation": "Dokumentazzjoni", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Agħżel sett ta' tokens tad-disinn tal-gvern Olandiż bħala bażi, jew ippersonalizza tokens individwali tas-CSS ta' Nextcloud hawn taħt.", + "Design token set": "Sett ta' tokens tad-disinn", + "Hide Nextcloud slogan/payoff on login page": "Aħbi s-slogan ta' Nextcloud fil-paġna tal-login", + "Show text labels in app menu (hide icons)": "Uri tikketti tat-test fil-menu tal-apps (aħbi l-ikoni)", + "Preview": "Anteprima", + "Primary button": "Buttuna primarja", + "Secondary button": "Buttuna sekondarja", + "Loading token editor…": "Qed jitgħabba l-editur tat-tokens…", + "Learn more about NL design system": "Tgħallem aktar dwar NL Design System", + "Theme updated successfully. reload the page to see changes.": "It-tema ġiet aġġornata b'suċċess. Erġa' għabbi l-paġna biex tara l-bidliet.", + "Failed to update theme.": "L-aġġornament tat-tema falla.", + "Primary color": "Kulur primarju", + "Background color": "Kulur tal-isfond", + "Logo": "Logo", + "(custom logo)": "(logo personalizzat)", + "(default)": "(awtomatiku)", + "Background image": "Immaġni tal-isfond", + "(custom)": "(personalizzat)", + "Update Nextcloud theming to match {name}?": "Taġġorna t-tema ta' Nextcloud biex taqbel ma' {name}?", + "Current": "Attwali", + "Proposed": "Propost", + "Setting": "Issettjar", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Jintwerew biss il-valuri li jvarjaw. L-elementi mingħajr valur propost jitħallew mhux mibdula.", + "Cancel": "Ikkanċella", + "Update theming": "Aġġorna t-tema", + "Updating...": "Qed jaġġorna...", + "Nextcloud theming updated successfully. reloading page...": "It-tema ta' Nextcloud ġiet aġġornata b'suċċess. Qed terġa' titgħabba l-paġna...", + "Failed to update Nextcloud theming:": "L-aġġornament tat-tema ta' Nextcloud falla: ", + "Failed to update Nextcloud theming.": "L-aġġornament tat-tema ta' Nextcloud falla.", + "Setting saved successfully. reload the login page to see changes.": "L-issettjar ġie salvat b'suċċess. Erġa' għabbi l-paġna tal-login biex tara l-bidliet.", + "Failed to save setting.": "Is-salvataġġ tal-issettjar falla.", + "Setting saved successfully. reload the page to see changes.": "L-issettjar ġie salvat b'suċċess. Erġa' għabbi l-paġna biex tara l-bidliet.", + "Could not load token editor.": "Ma setax jitgħabba l-editur tat-tokens.", + "Custom token overrides": "Sostituzzjonijiet ta' tokens personalizzati", + "Download": "Niżżel", + "Upload": "Tella'", + "Save overrides": "Salva s-sostituzzjonijiet", + "Custom value": "Valur personalizzat", + "Reset to default": "Erġa' lura għall-awtomatiku", + "Unsaved changes": "Bidliet mhux salvati", + "Token overrides saved.": "Is-sostituzzjonijiet tat-tokens ġew salvati.", + "Failed to save overrides:": "Is-salvataġġ tas-sostituzzjonijiet falla: ", + "Failed to save overrides.": "Is-salvataġġ tas-sostituzzjonijiet falla.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokens importati, {skipped} tokens maqbuża (mhux rikonoxxuti)", + "Import failed:": "L-importazzjoni falliet: ", + "Import failed.": "L-importazzjoni falliet.", + "Apply token set: {name}": "Applika s-sett tat-tokens: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Dawn il-valuri jinbidlu. Immarka liema minnhom tapplika għas-sostituzzjonijiet personalizzati tiegħek.", + "Select all": "Agħżel kollox", + "Deselect all": "Neħħi l-għażla ta' kollox", + "Token": "Token", + "New": "Ġdid", + "Apply selected": "Applika dawk magħżula", + "Applying…": "Qed tiġi applikata…", + "Token overrides applied.": "Is-sostituzzjonijiet tat-tokens ġew applikati.", + "Failed to apply token set.": "L-applikazzjoni tas-sett tat-tokens falliet.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/nb.js b/l10n/nb.js new file mode 100644 index 000000000..f929c7856 --- /dev/null +++ b/l10n/nb.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Fargevelger for {label}", + "NL design system theme": "NL Design System-tema", + "Documentation": "Dokumentasjon", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Velg et sett med designtokens fra den nederlandske regjeringen som grunnlag, eller tilpass enkelte Nextcloud-CSS-tokens nedenfor.", + "Design token set": "Sett med designtokens", + "Hide Nextcloud slogan/payoff on login page": "Skjul Nextclouds slagord på påloggingssiden", + "Show text labels in app menu (hide icons)": "Vis tekstetiketter i appmenyen (skjul ikoner)", + "Preview": "Forhåndsvisning", + "Primary button": "Primærknapp", + "Secondary button": "Sekundærknapp", + "Loading token editor…": "Laster tokenredigerer …", + "Learn more about NL design system": "Lær mer om NL Design System", + "Theme updated successfully. reload the page to see changes.": "Temaet ble oppdatert. Last inn siden på nytt for å se endringene.", + "Failed to update theme.": "Kunne ikke oppdatere temaet.", + "Primary color": "Primærfarge", + "Background color": "Bakgrunnsfarge", + "Logo": "Logo", + "(custom logo)": "(egendefinert logo)", + "(default)": "(standard)", + "Background image": "Bakgrunnsbilde", + "(custom)": "(egendefinert)", + "Update Nextcloud theming to match {name}?": "Oppdatere Nextclouds tema slik at det samsvarer med {name}?", + "Current": "Gjeldende", + "Proposed": "Foreslått", + "Setting": "Innstilling", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Bare verdier som er forskjellige vises. Elementer uten en foreslått verdi forblir uendret.", + "Cancel": "Avbryt", + "Update theming": "Oppdater tema", + "Updating...": "Oppdaterer ...", + "Nextcloud theming updated successfully. reloading page...": "Nextclouds tema ble oppdatert. Laster inn siden på nytt ...", + "Failed to update Nextcloud theming:": "Kunne ikke oppdatere Nextclouds tema: ", + "Failed to update Nextcloud theming.": "Kunne ikke oppdatere Nextclouds tema.", + "Setting saved successfully. reload the login page to see changes.": "Innstillingen ble lagret. Last inn påloggingssiden på nytt for å se endringene.", + "Failed to save setting.": "Kunne ikke lagre innstillingen.", + "Setting saved successfully. reload the page to see changes.": "Innstillingen ble lagret. Last inn siden på nytt for å se endringene.", + "Could not load token editor.": "Kunne ikke laste tokenredigereren.", + "Custom token overrides": "Egendefinerte tokenoverstyringer", + "Download": "Last ned", + "Upload": "Last opp", + "Save overrides": "Lagre overstyringer", + "Custom value": "Egendefinert verdi", + "Reset to default": "Tilbakestill til standard", + "Unsaved changes": "Ulagrede endringer", + "Token overrides saved.": "Tokenoverstyringene ble lagret.", + "Failed to save overrides:": "Kunne ikke lagre overstyringene: ", + "Failed to save overrides.": "Kunne ikke lagre overstyringene.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokens importert, {skipped} tokens hoppet over (ikke gjenkjent)", + "Import failed:": "Importen mislyktes: ", + "Import failed.": "Importen mislyktes.", + "Apply token set: {name}": "Bruk tokensett: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Disse verdiene ville endres. Merk av hvilke du vil bruke på dine egendefinerte overstyringer.", + "Select all": "Velg alle", + "Deselect all": "Fjern alle valg", + "Token": "Token", + "New": "Ny", + "Apply selected": "Bruk valgte", + "Applying…": "Bruker …", + "Token overrides applied.": "Tokenoverstyringene ble brukt.", + "Failed to apply token set.": "Kunne ikke bruke tokensettet.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/nl.js b/l10n/nl.js new file mode 100644 index 000000000..94a0ac401 --- /dev/null +++ b/l10n/nl.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Kleurkiezer voor {label}", + "NL design system theme": "NL Design System-thema", + "Documentation": "Documentatie", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Selecteer een Nederlandse overheidsontwerp-tokenset als basis, of pas hieronder individuele Nextcloud CSS-tokens aan.", + "Design token set": "Ontwerp-tokenset", + "Hide Nextcloud slogan/payoff on login page": "Verberg Nextcloud-slogan/payoff op de inlogpagina", + "Show text labels in app menu (hide icons)": "Toon tekstlabels in het app-menu (verberg pictogrammen)", + "Preview": "Voorbeeld", + "Primary button": "Primaire knop", + "Secondary button": "Secundaire knop", + "Loading token editor…": "Token-editor laden…", + "Learn more about NL design system": "Meer informatie over NL Design System", + "Theme updated successfully. reload the page to see changes.": "Thema succesvol bijgewerkt. Laad de pagina opnieuw om de wijzigingen te zien.", + "Failed to update theme.": "Bijwerken van het thema mislukt.", + "Primary color": "Primaire kleur", + "Background color": "Achtergrondkleur", + "Logo": "Logo", + "(custom logo)": "(aangepast logo)", + "(default)": "(standaard)", + "Background image": "Achtergrondafbeelding", + "(custom)": "(aangepast)", + "Update Nextcloud theming to match {name}?": "Nextcloud-thema bijwerken zodat het overeenkomt met {name}?", + "Current": "Huidig", + "Proposed": "Voorgesteld", + "Setting": "Instelling", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Alleen afwijkende waarden worden getoond. Items zonder voorgestelde waarde blijven ongewijzigd.", + "Cancel": "Annuleren", + "Update theming": "Thema bijwerken", + "Updating...": "Bijwerken…", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud-thema succesvol bijgewerkt. Pagina wordt opnieuw geladen…", + "Failed to update Nextcloud theming:": "Bijwerken van Nextcloud-thema mislukt: ", + "Failed to update Nextcloud theming.": "Bijwerken van Nextcloud-thema mislukt.", + "Setting saved successfully. reload the login page to see changes.": "Instelling succesvol opgeslagen. Laad de inlogpagina opnieuw om de wijzigingen te zien.", + "Failed to save setting.": "Opslaan van instelling mislukt.", + "Setting saved successfully. reload the page to see changes.": "Instelling succesvol opgeslagen. Laad de pagina opnieuw om de wijzigingen te zien.", + "Could not load token editor.": "Token-editor kon niet worden geladen.", + "Custom token overrides": "Aangepaste token-overschrijvingen", + "Download": "Downloaden", + "Upload": "Uploaden", + "Save overrides": "Overschrijvingen opslaan", + "Custom value": "Aangepaste waarde", + "Reset to default": "Terugzetten naar standaard", + "Unsaved changes": "Niet-opgeslagen wijzigingen", + "Token overrides saved.": "Token-overschrijvingen opgeslagen.", + "Failed to save overrides:": "Opslaan van overschrijvingen mislukt: ", + "Failed to save overrides.": "Opslaan van overschrijvingen mislukt.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokens geïmporteerd, {skipped} tokens overgeslagen (niet herkend)", + "Import failed:": "Importeren mislukt: ", + "Import failed.": "Importeren mislukt.", + "Apply token set: {name}": "Tokenset toepassen: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Deze waarden zouden wijzigen. Selecteer welke u op uw aangepaste overschrijvingen wilt toepassen.", + "Select all": "Alles selecteren", + "Deselect all": "Alles deselecteren", + "Token": "Token", + "New": "Nieuw", + "Apply selected": "Geselecteerde toepassen", + "Applying…": "Toepassen…", + "Token overrides applied.": "Token-overschrijvingen toegepast.", + "Failed to apply token set.": "Toepassen van tokenset mislukt.", + "Theming per app": "Thema per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Kies op welke apps het NL Design-thema van toepassing is. Door een app uit te vinken worden de pagina's van die app weergegeven met de standaard Nextcloud-stijl, inclusief de koptekst op die pagina's.", + "Loading apps…": "Apps laden…", + "Save app theming": "App-thema opslaan", + "Failed to load apps.": "Laden van apps mislukt.", + "No apps available.": "Geen apps beschikbaar.", + "App theming saved. Reload an affected app to see changes.": "App-thema opgeslagen. Herlaad een betreffende app om de wijzigingen te zien.", + "Failed to save app theming.": "Opslaan van app-thema mislukt.", + "Group theming": "Thema per groep", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Koppel Nextcloud-groepen aan tokensets, zodat verschillende gemeenten op één gedeelde omgeving elk hun eigen huisstijl zien. De volgorde van de rijen is de prioriteitsvolgorde: voor een gebruiker in meerdere gekoppelde groepen wint de eerst passende rij.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, e-mailsjablonen en andere Nextcloud-kernhuisstijl volgen altijd de standaard tokenset van de omgeving hierboven — deze zijn niet per groep. Alleen deze tokenset-stijllaag verschilt per groep.", + "Loading group mappings…": "Groepskoppelingen laden…", + "Add mapping": "Koppeling toevoegen", + "Save group theming": "Thema per groep opslaan", + "Failed to load group mappings.": "Laden van groepskoppelingen mislukt.", + "Group": "Groep", + "Token set": "Tokenset", + "Move mapping up": "Koppeling omhoog verplaatsen", + "Move mapping down": "Koppeling omlaag verplaatsen", + "Remove mapping": "Koppeling verwijderen", + "No group mappings configured.": "Geen groepskoppelingen geconfigureerd.", + "Group theming saved.": "Thema per groep opgeslagen.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Kon koppeling voor groep \"{group}\" → \"{tokenSet}\" niet opslaan: {reason}", + "Failed to save group theming.": "Opslaan van thema per groep mislukt.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA-contrastwaarschuwing(en) — zie het toepasvenster.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens geïmporteerd, {skipped} overgeslagen.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 ligt onder de WCAG 2.1 AA-drempel van {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast kon niet worden berekend (geen letterlijke kleurwaarde).", + "Contrast warning": "Contrastwaarschuwing", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Aangepaste token set verwijderd. Herlaad de pagina om de keuzelijst te vernieuwen.", + "Delete": "Verwijderen", + "Delete custom token set": "Aangepaste token set verwijderen", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "De aangepaste token set \"{name}\" verwijderen? Als deze actief is, valt het thema terug op Nextcloud.", + "Enter a token set name first.": "Voer eerst een naam voor de token set in.", + "Failed to delete custom token set.": "Verwijderen van aangepaste token set mislukt.", + "Failed to load custom token sets.": "Laden van aangepaste token sets mislukt.", + "No custom token sets uploaded yet.": "Nog geen aangepaste token sets geüpload.", + "Token set uploaded. Reload the page to apply it.": "Token set geüpload. Herlaad de pagina om deze toe te passen.", + "Upload failed:": "Uploaden mislukt:", + "Upload failed.": "Uploaden mislukt.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA-contrastwaarschuwing", + "WCAG AA OK": "WCAG AA in orde", + "Custom token sets": "Aangepaste token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload uw eigen huisstijl als token set, als NL Design CSS-bestand (--nldesign-*-variabelen) of als W3C Design Tokens JSON-bestand. Geüploade sets verschijnen in de keuzelijst hierboven.", + "Token set name": "Naam token set", + "e.g. Gemeente Voorbeeld": "bijv. Gemeente Voorbeeld", + "Choose file and upload": "Bestand kiezen en uploaden", + "Loading custom token sets…": "Aangepaste token sets laden…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Laden van het auditlog mislukt.", + "from {value}": "van {value}", + "No theming changes have been recorded yet.": "Er zijn nog geen thema-wijzigingen vastgelegd.", + "to {value}": "naar {value}", + "Theming audit log": "Thema-auditlog", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "Een overzicht van thema-configuratiewijzigingen: wie wat wijzigde, van wat, naar wat, en wanneer. Nuttig bewijs voor toegankelijkheidsaudits.", + "Timestamp": "Tijdstip", + "User": "Gebruiker", + "Action": "Actie", + "Details": "Details", + "Loading audit log…": "Auditlog laden…", + "Download full log": "Volledig log downloaden", + "Email template": "E-mailsjabloon", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Voorzie wachtwoord-reset, deelmeldingen en andere systeem-e-mails van de kleur en het logo van de actieve tokenset. Als nldesign later wordt uitgeschakeld, valt Nextcloud automatisch terug op het standaard e-mailsjabloon — e-mail wordt door deze instelling nooit geblokkeerd.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "Er is al een andere e-mailsjabloonklasse geconfigureerd ({class}); nldesign overschrijft deze niet.", + "Use NL Design email template": "NL Design e-mailsjabloon gebruiken", + "Organization name": "Organisatienaam", + "Accessibility statement URL": "URL toegankelijkheidsverklaring", + "Privacy statement URL": "URL privacyverklaring", + "Save email template settings": "E-mailsjabloon-instellingen opslaan", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is alleen-lezen. Voer een van de volgende commando's handmatig uit om het e-mailsjabloon in of uit te schakelen:", + "Email template settings saved.": "E-mailsjabloon-instellingen opgeslagen.", + "config.php is read-only; run the shown occ command manually.": "config.php is alleen-lezen; voer het getoonde occ-commando handmatig uit.", + "A different mail template class is already configured.": "Er is al een andere e-mailsjabloonklasse geconfigureerd.", + "Invalid footer URL — use an http:// or https:// address.": "Ongeldige URL in de voettekst — gebruik een http:// of https://-adres.", + "Failed to save email template settings.": "Opslaan van e-mailsjabloon-instellingen mislukt.", + "Accessibility statement": "Toegankelijkheidsverklaring", + "Privacy statement": "Privacyverklaring", + "Alias chain too deep (more than 10 hops)": "Alias-keten te diep (meer dan 10 stappen)", + "Alias cycle detected": "Alias-cyclus gedetecteerd", + "Alias target does not exist": "Alias-doel bestaat niet", + "Another token already maps to this target": "Een ander token verwijst al naar dit doel", + "No $type could be resolved (never guessed)": "Geen $type kon worden bepaald (nooit geraden)", + "Not part of the --nldesign-* vocabulary": "Geen onderdeel van de --nldesign-* woordenschat", + "Package version: {version}": "Pakketversie: {version}", + "Unsupported color space": "Niet-ondersteunde kleurruimte", + "Unsupported value shape": "Niet-ondersteunde waardevorm", + "v{version}": "v{version}", + "No font file uploaded.": "Geen lettertypebestand geüpload.", + "Font file exceeds the 2 MB size limit.": "Lettertypebestand overschrijdt de limiet van 2 MB.", + "Could not read the uploaded file.": "Kon het geüploade bestand niet lezen.", + "Font not found.": "Lettertype niet gevonden.", + "Custom fonts": "Aangepaste lettertypen", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Upload alleen lettertypen waarvoor uw organisatie een licentie heeft om ze zelf te hosten. De verantwoordelijkheid voor de licentie ligt bij degene die uploadt.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload een WOFF2-lettertypebestand (max. 2 MB, max. 20 lettertypen) en wijs het toe aan de rol hoofdtekst of kop. Geüploade lettertypen worden zelf gehost — geen externe verzoeken.", + "Font display name": "Weergavenaam lettertype", + "e.g. Rijks Sans": "bijv. Rijks Sans", + "Font role": "Rol lettertype", + "Body text": "Hoofdtekst", + "Heading": "Kop", + "Choose font and upload": "Lettertype kiezen en uploaden", + "Loading fonts…": "Lettertypen laden…", + "Enter a font display name first.": "Voer eerst een weergavenaam voor het lettertype in.", + "Font uploaded. Reload the page to apply it.": "Lettertype geüpload. Herlaad de pagina om het toe te passen.", + "Failed to load fonts.": "Laden van lettertypen mislukt.", + "No fonts uploaded yet.": "Nog geen lettertypen geüpload.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Het lettertype \"{name}\" verwijderen? Pagina's die het gebruiken vallen terug op Fira Sans.", + "Delete font": "Lettertype verwijderen", + "Font deleted. Reload the page to refresh the styling.": "Lettertype verwijderd. Herlaad de pagina om de opmaak te vernieuwen.", + "Failed to delete font.": "Verwijderen van lettertype mislukt.", + "Upstream token updates": "Upstream token-updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Controleer optioneel eenmaal per dag of de upstream NL Design System-thema's nieuwe tokens hebben. Dit is het enige uitgaande netwerkverzoek van deze app; het contacteert api.github.com en past nooit automatisch iets toe — u beoordeelt en past updates altijd zelf toe.", + "Check daily for upstream token updates (contacts api.github.com)": "Dagelijks controleren op upstream token-updates (contacteert api.github.com)", + "Last checked: {when}": "Laatst gecontroleerd: {when}", + "Not checked yet.": "Nog niet gecontroleerd.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} heeft upstream update {version} — beoordelen & toepassen", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets hebben updates ({version}) — beoordelen & toepassen", + "Dismiss": "Negeren", + "Upstream token update checks enabled.": "Controle op upstream token-updates ingeschakeld.", + "Upstream token update checks disabled.": "Controle op upstream token-updates uitgeschakeld.", + "Configuration bundle (OTAP promotion)": "Configuratiebundel (OTAP-promotie)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download of upload de volledige NL Design-configuratie als één JSON-bestand — de actieve tokenset, schakelaars, per-app uitsluitingen, token-overrides, aangepaste tokensets, e-mailvoettekst en de upstream-updateschakelaar. Gebruik dit om configuratie identiek te promoveren tussen ontwikkel-, test-, acceptatie- en productieomgevingen (OTAP). Dit is anders dan de overrides-only download hierboven.", + "Download configuration": "Configuratie downloaden", + "Upload configuration": "Configuratie uploaden", + "Configuration imported successfully. Reloading…": "Configuratie succesvol geïmporteerd. Pagina wordt herladen…", + "Configuration imported successfully.": "Configuratie succesvol geïmporteerd.", + "Import failed — nothing was applied:": "Import mislukt — er is niets toegepast:", + "Configuration import failed.": "Importeren van configuratie mislukt.", + "Discard": "Verwerpen", + "Failed to discard theme preview.": "Verwerpen van thema-voorbeeld mislukt.", + "Failed to start theme preview.": "Starten van thema-voorbeeld mislukt.", + "Preview: {name} — this is only visible to you": "Voorbeeld: {name} — alleen zichtbaar voor u", + "Publish": "Publiceren", + "Theme published instance-wide. Reload the page to see changes.": "Thema instantiebreed gepubliceerd. Herlaad de pagina om de wijzigingen te zien.", + "Preview in my session": "Voorbeeld bekijken in mijn sessie", + "Previewing \"{name}\" in your session only.": "U bekijkt een voorbeeld van \"{name}\", alleen zichtbaar voor u.", + "Dark logo": "Donker logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "Deze tokenset bevat ook een logo voor een donkere ondergrond. Nextcloud zelf heeft geen apart logo-slot voor donkere modus, dus dit logo wordt toegepast via nldesign's eigen donkeremodus-stylesheet, niet gesynchroniseerd naar Nextcloud-theming.", + "Enable dark mode variants for the active token set": "Donkeremodusvarianten inschakelen voor de actieve tokenset", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "Indien ingeschakeld volgt een gegenereerd donkeremodus-stylesheet het licht-, donker- of systeemthema dat Nextcloud al gebruikt — het wijzigt nooit uw Nextcloud-themakeuze zelf.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is het officiële lettertype van de Franse staat en is voorbehouden aan Franse staatsinstellingen. Schakel dit alleen in als uw organisatie een Franse staatsinstelling is. Anders wordt Inter gebruikt.", + "Our organisation is a French State agency (administration de l'État)": "Onze organisatie is een Franse staatsinstelling (administration de l'État)", + "Active icon pack": "Actieve iconenset", + "Nextcloud stock icons (no custom pack)": "Standaard Nextcloud-iconen (geen aangepaste set)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Bron: beheerdersoverschrijving (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Bron: het actieve designsysteem", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "Dit wijzigt alleen de iconenassets die nldesign zelf levert via imagePath. Het vervangt niet de ingebouwde kern-iconen van Nextcloud, afgezien van wat de CSS van het actieve thema al herstylet.", + "Saved. Reload to see the change.": "Opgeslagen. Herlaad de pagina om de wijziging te zien." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/pl.js b/l10n/pl.js new file mode 100644 index 000000000..c2cb2834c --- /dev/null +++ b/l10n/pl.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Wybór koloru dla {label}", + "NL design system theme": "Motyw NL Design System", + "Documentation": "Dokumentacja", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Wybierz zestaw tokenów projektowych holenderskiego rządu jako podstawę lub dostosuj poniżej poszczególne tokeny CSS Nextcloud.", + "Design token set": "Zestaw tokenów projektowych", + "Hide Nextcloud slogan/payoff on login page": "Ukryj slogan Nextcloud na stronie logowania", + "Show text labels in app menu (hide icons)": "Pokaż etykiety tekstowe w menu aplikacji (ukryj ikony)", + "Preview": "Podgląd", + "Primary button": "Przycisk główny", + "Secondary button": "Przycisk dodatkowy", + "Loading token editor…": "Ładowanie edytora tokenów…", + "Learn more about NL design system": "Dowiedz się więcej o NL Design System", + "Theme updated successfully. reload the page to see changes.": "Motyw został pomyślnie zaktualizowany. Odśwież stronę, aby zobaczyć zmiany.", + "Failed to update theme.": "Nie udało się zaktualizować motywu.", + "Primary color": "Kolor główny", + "Background color": "Kolor tła", + "Logo": "Logo", + "(custom logo)": "(niestandardowe logo)", + "(default)": "(domyślny)", + "Background image": "Obraz tła", + "(custom)": "(niestandardowy)", + "Update Nextcloud theming to match {name}?": "Zaktualizować motyw Nextcloud, aby pasował do {name}?", + "Current": "Bieżący", + "Proposed": "Proponowany", + "Setting": "Ustawienie", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Wyświetlane są tylko wartości, które się różnią. Elementy bez proponowanej wartości pozostają niezmienione.", + "Cancel": "Anuluj", + "Update theming": "Zaktualizuj motyw", + "Updating...": "Aktualizowanie...", + "Nextcloud theming updated successfully. reloading page...": "Motyw Nextcloud został pomyślnie zaktualizowany. Ponowne ładowanie strony...", + "Failed to update Nextcloud theming:": "Nie udało się zaktualizować motywu Nextcloud: ", + "Failed to update Nextcloud theming.": "Nie udało się zaktualizować motywu Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Ustawienie zostało pomyślnie zapisane. Odśwież stronę logowania, aby zobaczyć zmiany.", + "Failed to save setting.": "Nie udało się zapisać ustawienia.", + "Setting saved successfully. reload the page to see changes.": "Ustawienie zostało pomyślnie zapisane. Odśwież stronę, aby zobaczyć zmiany.", + "Could not load token editor.": "Nie można załadować edytora tokenów.", + "Custom token overrides": "Niestandardowe nadpisania tokenów", + "Download": "Pobierz", + "Upload": "Prześlij", + "Save overrides": "Zapisz nadpisania", + "Custom value": "Wartość niestandardowa", + "Reset to default": "Przywróć domyślne", + "Unsaved changes": "Niezapisane zmiany", + "Token overrides saved.": "Nadpisania tokenów zostały zapisane.", + "Failed to save overrides:": "Nie udało się zapisać nadpisań: ", + "Failed to save overrides.": "Nie udało się zapisać nadpisań.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokenów zaimportowano, {skipped} tokenów pominięto (nierozpoznane)", + "Import failed:": "Import nie powiódł się: ", + "Import failed.": "Import nie powiódł się.", + "Apply token set: {name}": "Zastosuj zestaw tokenów: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Te wartości uległyby zmianie. Zaznacz, które zastosować do swoich niestandardowych nadpisań.", + "Select all": "Zaznacz wszystko", + "Deselect all": "Odznacz wszystko", + "Token": "Token", + "New": "Nowy", + "Apply selected": "Zastosuj zaznaczone", + "Applying…": "Stosowanie…", + "Token overrides applied.": "Nadpisania tokenów zostały zastosowane.", + "Failed to apply token set.": "Nie udało się zastosować zestawu tokenów.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/pt.js b/l10n/pt.js new file mode 100644 index 000000000..2ec92ff17 --- /dev/null +++ b/l10n/pt.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Seletor de cor para {label}", + "NL design system theme": "Tema NL Design System", + "Documentation": "Documentação", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Selecione um conjunto de tokens de design do governo neerlandês como base ou personalize tokens CSS individuais do Nextcloud abaixo.", + "Design token set": "Conjunto de tokens de design", + "Hide Nextcloud slogan/payoff on login page": "Ocultar o slogan do Nextcloud na página de início de sessão", + "Show text labels in app menu (hide icons)": "Mostrar rótulos de texto no menu de aplicações (ocultar ícones)", + "Preview": "Pré-visualização", + "Primary button": "Botão principal", + "Secondary button": "Botão secundário", + "Loading token editor…": "A carregar o editor de tokens…", + "Learn more about NL design system": "Saiba mais sobre o NL Design System", + "Theme updated successfully. reload the page to see changes.": "Tema atualizado com sucesso. Recarregue a página para ver as alterações.", + "Failed to update theme.": "Falha ao atualizar o tema.", + "Primary color": "Cor principal", + "Background color": "Cor de fundo", + "Logo": "Logótipo", + "(custom logo)": "(logótipo personalizado)", + "(default)": "(predefinição)", + "Background image": "Imagem de fundo", + "(custom)": "(personalizado)", + "Update Nextcloud theming to match {name}?": "Atualizar o tema do Nextcloud para corresponder a {name}?", + "Current": "Atual", + "Proposed": "Proposto", + "Setting": "Definição", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Apenas são mostrados os valores que diferem. Os itens sem um valor proposto permanecem inalterados.", + "Cancel": "Cancelar", + "Update theming": "Atualizar tema", + "Updating...": "A atualizar...", + "Nextcloud theming updated successfully. reloading page...": "Tema do Nextcloud atualizado com sucesso. A recarregar a página...", + "Failed to update Nextcloud theming:": "Falha ao atualizar o tema do Nextcloud: ", + "Failed to update Nextcloud theming.": "Falha ao atualizar o tema do Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Definição guardada com sucesso. Recarregue a página de início de sessão para ver as alterações.", + "Failed to save setting.": "Falha ao guardar a definição.", + "Setting saved successfully. reload the page to see changes.": "Definição guardada com sucesso. Recarregue a página para ver as alterações.", + "Could not load token editor.": "Não foi possível carregar o editor de tokens.", + "Custom token overrides": "Substituições de tokens personalizadas", + "Download": "Transferir", + "Upload": "Carregar", + "Save overrides": "Guardar substituições", + "Custom value": "Valor personalizado", + "Reset to default": "Repor predefinição", + "Unsaved changes": "Alterações não guardadas", + "Token overrides saved.": "Substituições de tokens guardadas.", + "Failed to save overrides:": "Falha ao guardar as substituições: ", + "Failed to save overrides.": "Falha ao guardar as substituições.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokens importados, {skipped} tokens ignorados (não reconhecidos)", + "Import failed:": "Falha na importação: ", + "Import failed.": "Falha na importação.", + "Apply token set: {name}": "Aplicar conjunto de tokens: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Estes valores seriam alterados. Selecione quais aplicar às suas substituições personalizadas.", + "Select all": "Selecionar tudo", + "Deselect all": "Desmarcar tudo", + "Token": "Token", + "New": "Novo", + "Apply selected": "Aplicar selecionados", + "Applying…": "A aplicar…", + "Token overrides applied.": "Substituições de tokens aplicadas.", + "Failed to apply token set.": "Falha ao aplicar o conjunto de tokens.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/rm.js b/l10n/rm.js new file mode 100644 index 000000000..4d1af1301 --- /dev/null +++ b/l10n/rm.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Selecziunader da colurs per {label}", + "NL design system theme": "Tema NL Design System", + "Documentation": "Documentaziun", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Tscherna in set da tokens da design dal guvern ollandais sco basa u persunalisescha tokens CSS singuls da Nextcloud sutvart.", + "Design token set": "Set da tokens da design", + "Hide Nextcloud slogan/payoff on login page": "Zuppentar il slogan da Nextcloud sin la pagina d'annunzia", + "Show text labels in app menu (hide icons)": "Mussar etichettas da text en il menu d'applicaziuns (zuppentar ils simbols)", + "Preview": "Prevista", + "Primary button": "Buttun primar", + "Secondary button": "Buttun secundar", + "Loading token editor…": "Chargiar l'editur da tokens …", + "Learn more about NL design system": "Ulteriuras infurmaziuns davart NL Design System", + "Theme updated successfully. reload the page to see changes.": "Il tema è vegnì actualisà cun success. Rechargia la pagina per vesair las midadas.", + "Failed to update theme.": "Betg reussì d'actualisar il tema.", + "Primary color": "Colur primara", + "Background color": "Colur dal fund", + "Logo": "Logo", + "(custom logo)": "(logo persunalisà)", + "(default)": "(standard)", + "Background image": "Maletg dal fund", + "(custom)": "(persunalisà)", + "Update Nextcloud theming to match {name}?": "Actualisar il design da Nextcloud per correspunder a {name}?", + "Current": "Actual", + "Proposed": "Proponì", + "Setting": "Configuraziun", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Mo las valurs che sa differenzieschan vegnan mussadas. Elements senza ina valur proponida restan immïdads.", + "Cancel": "Interrumper", + "Update theming": "Actualisar il design", + "Updating...": "Actualisar ...", + "Nextcloud theming updated successfully. reloading page...": "Il design da Nextcloud è vegnì actualisà cun success. Rechargiar la pagina ...", + "Failed to update Nextcloud theming:": "Betg reussì d'actualisar il design da Nextcloud: ", + "Failed to update Nextcloud theming.": "Betg reussì d'actualisar il design da Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "La configuraziun è vegnida memorisada cun success. Rechargia la pagina d'annunzia per vesair las midadas.", + "Failed to save setting.": "Betg reussì da memorisar la configuraziun.", + "Setting saved successfully. reload the page to see changes.": "La configuraziun è vegnida memorisada cun success. Rechargia la pagina per vesair las midadas.", + "Could not load token editor.": "Impussibel da chargiar l'editur da tokens.", + "Custom token overrides": "Surscrividas da tokens persunalisadas", + "Download": "Telechargiar", + "Upload": "Transferir", + "Save overrides": "Memorisar las surscrividas", + "Custom value": "Valur persunalisada", + "Reset to default": "Reampuntar als standards", + "Unsaved changes": "Midadas betg memorisadas", + "Token overrides saved.": "Las surscrividas da tokens èn vegnidas memorisadas.", + "Failed to save overrides:": "Betg reussì da memorisar las surscrividas: ", + "Failed to save overrides.": "Betg reussì da memorisar las surscrividas.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokens importads, {skipped} tokens sursavlads (betg renconuschids)", + "Import failed:": "L'import è fallì: ", + "Import failed.": "L'import è fallì.", + "Apply token set: {name}": "Applitgar il set da tokens: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Questas valurs midassan. Marchescha tge ch'ti vuls applitgar a tias surscrividas persunalisadas.", + "Select all": "Tscherner tut", + "Deselect all": "Deselecziunar tut", + "Token": "Token", + "New": "Nov", + "Apply selected": "Applitgar la selecziun", + "Applying…": "Applitgar …", + "Token overrides applied.": "Las surscrividas da tokens èn vegnidas applitgadas.", + "Failed to apply token set.": "Betg reussì d'applitgar il set da tokens.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/ro.js b/l10n/ro.js new file mode 100644 index 000000000..b4249cd18 --- /dev/null +++ b/l10n/ro.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Selector de culoare pentru {label}", + "NL design system theme": "Temă NL Design System", + "Documentation": "Documentație", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Selectați un set de jetoane de design al guvernului neerlandez ca bază sau personalizați mai jos jetoane CSS individuale Nextcloud.", + "Design token set": "Set de jetoane de design", + "Hide Nextcloud slogan/payoff on login page": "Ascundeți sloganul Nextcloud pe pagina de autentificare", + "Show text labels in app menu (hide icons)": "Afișați etichete text în meniul aplicațiilor (ascundeți pictogramele)", + "Preview": "Previzualizare", + "Primary button": "Buton principal", + "Secondary button": "Buton secundar", + "Loading token editor…": "Se încarcă editorul de jetoane…", + "Learn more about NL design system": "Aflați mai multe despre NL Design System", + "Theme updated successfully. reload the page to see changes.": "Tema a fost actualizată cu succes. Reîncărcați pagina pentru a vedea modificările.", + "Failed to update theme.": "Actualizarea temei a eșuat.", + "Primary color": "Culoare principală", + "Background color": "Culoare de fundal", + "Logo": "Siglă", + "(custom logo)": "(siglă personalizată)", + "(default)": "(implicit)", + "Background image": "Imagine de fundal", + "(custom)": "(personalizat)", + "Update Nextcloud theming to match {name}?": "Actualizați tema Nextcloud pentru a se potrivi cu {name}?", + "Current": "Curent", + "Proposed": "Propus", + "Setting": "Setare", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Sunt afișate doar valorile care diferă. Elementele fără o valoare propusă rămân neschimbate.", + "Cancel": "Anulează", + "Update theming": "Actualizează tema", + "Updating...": "Se actualizează...", + "Nextcloud theming updated successfully. reloading page...": "Tema Nextcloud a fost actualizată cu succes. Se reîncarcă pagina...", + "Failed to update Nextcloud theming:": "Actualizarea temei Nextcloud a eșuat: ", + "Failed to update Nextcloud theming.": "Actualizarea temei Nextcloud a eșuat.", + "Setting saved successfully. reload the login page to see changes.": "Setarea a fost salvată cu succes. Reîncărcați pagina de autentificare pentru a vedea modificările.", + "Failed to save setting.": "Salvarea setării a eșuat.", + "Setting saved successfully. reload the page to see changes.": "Setarea a fost salvată cu succes. Reîncărcați pagina pentru a vedea modificările.", + "Could not load token editor.": "Editorul de jetoane nu a putut fi încărcat.", + "Custom token overrides": "Suprascrieri personalizate de jetoane", + "Download": "Descarcă", + "Upload": "Încarcă", + "Save overrides": "Salvează suprascrierile", + "Custom value": "Valoare personalizată", + "Reset to default": "Resetează la implicit", + "Unsaved changes": "Modificări nesalvate", + "Token overrides saved.": "Suprascrierile de jetoane au fost salvate.", + "Failed to save overrides:": "Salvarea suprascrierilor a eșuat: ", + "Failed to save overrides.": "Salvarea suprascrierilor a eșuat.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} jetoane importate, {skipped} jetoane omise (nerecunoscute)", + "Import failed:": "Importul a eșuat: ", + "Import failed.": "Importul a eșuat.", + "Apply token set: {name}": "Aplică setul de jetoane: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Aceste valori s-ar modifica. Bifați pe care să le aplicați suprascrierilor personalizate.", + "Select all": "Selectează tot", + "Deselect all": "Deselectează tot", + "Token": "Jeton", + "New": "Nou", + "Apply selected": "Aplică selecția", + "Applying…": "Se aplică…", + "Token overrides applied.": "Suprascrierile de jetoane au fost aplicate.", + "Failed to apply token set.": "Aplicarea setului de jetoane a eșuat.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/ru.js b/l10n/ru.js new file mode 100644 index 000000000..ad8db8c27 --- /dev/null +++ b/l10n/ru.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Выбор цвета для {label}", + "NL design system theme": "Тема NL Design System", + "Documentation": "Документация", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Выберите набор дизайн-токенов правительства Нидерландов в качестве основы или настройте отдельные CSS-токены Nextcloud ниже.", + "Design token set": "Набор дизайн-токенов", + "Hide Nextcloud slogan/payoff on login page": "Скрыть слоган Nextcloud на странице входа", + "Show text labels in app menu (hide icons)": "Показывать текстовые подписи в меню приложений (скрыть значки)", + "Preview": "Предпросмотр", + "Primary button": "Основная кнопка", + "Secondary button": "Дополнительная кнопка", + "Loading token editor…": "Загрузка редактора токенов …", + "Learn more about NL design system": "Подробнее о NL Design System", + "Theme updated successfully. reload the page to see changes.": "Тема успешно обновлена. Перезагрузите страницу, чтобы увидеть изменения.", + "Failed to update theme.": "Не удалось обновить тему.", + "Primary color": "Основной цвет", + "Background color": "Цвет фона", + "Logo": "Логотип", + "(custom logo)": "(пользовательский логотип)", + "(default)": "(по умолчанию)", + "Background image": "Фоновое изображение", + "(custom)": "(пользовательское)", + "Update Nextcloud theming to match {name}?": "Обновить оформление Nextcloud в соответствии с {name}?", + "Current": "Текущее", + "Proposed": "Предлагаемое", + "Setting": "Параметр", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Показаны только различающиеся значения. Элементы без предлагаемого значения остаются без изменений.", + "Cancel": "Отмена", + "Update theming": "Обновить оформление", + "Updating...": "Обновление ...", + "Nextcloud theming updated successfully. reloading page...": "Оформление Nextcloud успешно обновлено. Перезагрузка страницы ...", + "Failed to update Nextcloud theming:": "Не удалось обновить оформление Nextcloud: ", + "Failed to update Nextcloud theming.": "Не удалось обновить оформление Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Параметр успешно сохранён. Перезагрузите страницу входа, чтобы увидеть изменения.", + "Failed to save setting.": "Не удалось сохранить параметр.", + "Setting saved successfully. reload the page to see changes.": "Параметр успешно сохранён. Перезагрузите страницу, чтобы увидеть изменения.", + "Could not load token editor.": "Не удалось загрузить редактор токенов.", + "Custom token overrides": "Пользовательские переопределения токенов", + "Download": "Скачать", + "Upload": "Загрузить", + "Save overrides": "Сохранить переопределения", + "Custom value": "Пользовательское значение", + "Reset to default": "Сбросить до значения по умолчанию", + "Unsaved changes": "Несохранённые изменения", + "Token overrides saved.": "Переопределения токенов сохранены.", + "Failed to save overrides:": "Не удалось сохранить переопределения: ", + "Failed to save overrides.": "Не удалось сохранить переопределения.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} токенов импортировано, {skipped} токенов пропущено (не распознаны)", + "Import failed:": "Не удалось импортировать: ", + "Import failed.": "Не удалось импортировать.", + "Apply token set: {name}": "Применить набор токенов: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Эти значения изменятся. Отметьте, какие из них применить к вашим пользовательским переопределениям.", + "Select all": "Выбрать все", + "Deselect all": "Снять все выделения", + "Token": "Токен", + "New": "Новый", + "Apply selected": "Применить выбранное", + "Applying…": "Применение …", + "Token overrides applied.": "Переопределения токенов применены.", + "Failed to apply token set.": "Не удалось применить набор токенов.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/sk.js b/l10n/sk.js new file mode 100644 index 000000000..210b82a10 --- /dev/null +++ b/l10n/sk.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Výber farby pre {label}", + "NL design system theme": "Motív NL Design System", + "Documentation": "Dokumentácia", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Vyberte sadu návrhových tokenov holandskej vlády ako základ alebo nižšie prispôsobte jednotlivé CSS tokeny Nextcloudu.", + "Design token set": "Sada návrhových tokenov", + "Hide Nextcloud slogan/payoff on login page": "Skryť slogan Nextcloudu na prihlasovacej stránke", + "Show text labels in app menu (hide icons)": "Zobraziť textové menovky v ponuke aplikácií (skryť ikony)", + "Preview": "Náhľad", + "Primary button": "Primárne tlačidlo", + "Secondary button": "Sekundárne tlačidlo", + "Loading token editor…": "Načítava sa editor tokenov…", + "Learn more about NL design system": "Získajte viac informácií o NL Design System", + "Theme updated successfully. reload the page to see changes.": "Motív bol úspešne aktualizovaný. Znova načítajte stránku, aby ste videli zmeny.", + "Failed to update theme.": "Aktualizácia motívu zlyhala.", + "Primary color": "Primárna farba", + "Background color": "Farba pozadia", + "Logo": "Logo", + "(custom logo)": "(vlastné logo)", + "(default)": "(predvolené)", + "Background image": "Obrázok pozadia", + "(custom)": "(vlastné)", + "Update Nextcloud theming to match {name}?": "Aktualizovať motív Nextcloudu tak, aby zodpovedal {name}?", + "Current": "Aktuálne", + "Proposed": "Navrhované", + "Setting": "Nastavenie", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Zobrazujú sa iba hodnoty, ktoré sa líšia. Položky bez navrhovanej hodnoty zostávajú nezmenené.", + "Cancel": "Zrušiť", + "Update theming": "Aktualizovať motív", + "Updating...": "Aktualizuje sa...", + "Nextcloud theming updated successfully. reloading page...": "Motív Nextcloudu bol úspešne aktualizovaný. Znova sa načítava stránka...", + "Failed to update Nextcloud theming:": "Aktualizácia motívu Nextcloudu zlyhala: ", + "Failed to update Nextcloud theming.": "Aktualizácia motívu Nextcloudu zlyhala.", + "Setting saved successfully. reload the login page to see changes.": "Nastavenie bolo úspešne uložené. Znova načítajte prihlasovaciu stránku, aby ste videli zmeny.", + "Failed to save setting.": "Uloženie nastavenia zlyhalo.", + "Setting saved successfully. reload the page to see changes.": "Nastavenie bolo úspešne uložené. Znova načítajte stránku, aby ste videli zmeny.", + "Could not load token editor.": "Editor tokenov sa nepodarilo načítať.", + "Custom token overrides": "Vlastné prepísania tokenov", + "Download": "Stiahnuť", + "Upload": "Nahrať", + "Save overrides": "Uložiť prepísania", + "Custom value": "Vlastná hodnota", + "Reset to default": "Obnoviť predvolené", + "Unsaved changes": "Neuložené zmeny", + "Token overrides saved.": "Prepísania tokenov boli uložené.", + "Failed to save overrides:": "Uloženie prepísaní zlyhalo: ", + "Failed to save overrides.": "Uloženie prepísaní zlyhalo.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokenov importovaných, {skipped} tokenov preskočených (nerozpoznané)", + "Import failed:": "Import zlyhal: ", + "Import failed.": "Import zlyhal.", + "Apply token set: {name}": "Použiť sadu tokenov: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Tieto hodnoty by sa zmenili. Začiarknite, ktoré z nich použiť na vaše vlastné prepísania.", + "Select all": "Vybrať všetko", + "Deselect all": "Zrušiť výber všetkého", + "Token": "Token", + "New": "Nové", + "Apply selected": "Použiť vybrané", + "Applying…": "Používa sa…", + "Token overrides applied.": "Prepísania tokenov boli použité.", + "Failed to apply token set.": "Použitie sady tokenov zlyhalo.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/sl.js b/l10n/sl.js new file mode 100644 index 000000000..c6198c7b5 --- /dev/null +++ b/l10n/sl.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Izbirnik barv za {label}", + "NL design system theme": "Tema NL Design System", + "Documentation": "Dokumentacija", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Izberite nabor oblikovalskih žetonov nizozemske vlade kot osnovo ali spodaj prilagodite posamezne žetone CSS za Nextcloud.", + "Design token set": "Nabor oblikovalskih žetonov", + "Hide Nextcloud slogan/payoff on login page": "Skrij slogan Nextclouda na prijavni strani", + "Show text labels in app menu (hide icons)": "Pokaži besedilne oznake v meniju aplikacij (skrij ikone)", + "Preview": "Predogled", + "Primary button": "Primarni gumb", + "Secondary button": "Sekundarni gumb", + "Loading token editor…": "Nalaganje urejevalnika žetonov …", + "Learn more about NL design system": "Več o NL Design System", + "Theme updated successfully. reload the page to see changes.": "Tema je bila uspešno posodobljena. Znova naložite stran za prikaz sprememb.", + "Failed to update theme.": "Posodobitev teme ni uspela.", + "Primary color": "Primarna barva", + "Background color": "Barva ozadja", + "Logo": "Logotip", + "(custom logo)": "(logotip po meri)", + "(default)": "(privzeto)", + "Background image": "Slika ozadja", + "(custom)": "(po meri)", + "Update Nextcloud theming to match {name}?": "Posodobim tematiko Nextclouda, da se ujema z {name}?", + "Current": "Trenutno", + "Proposed": "Predlagano", + "Setting": "Nastavitev", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Prikazane so samo vrednosti, ki se razlikujejo. Elementi brez predlagane vrednosti ostanejo nespremenjeni.", + "Cancel": "Prekliči", + "Update theming": "Posodobi tematiko", + "Updating...": "Posodabljanje ...", + "Nextcloud theming updated successfully. reloading page...": "Tematika Nextclouda je bila uspešno posodobljena. Ponovno nalaganje strani ...", + "Failed to update Nextcloud theming:": "Posodobitev tematike Nextclouda ni uspela: ", + "Failed to update Nextcloud theming.": "Posodobitev tematike Nextclouda ni uspela.", + "Setting saved successfully. reload the login page to see changes.": "Nastavitev je bila uspešno shranjena. Znova naložite prijavno stran za prikaz sprememb.", + "Failed to save setting.": "Shranjevanje nastavitve ni uspelo.", + "Setting saved successfully. reload the page to see changes.": "Nastavitev je bila uspešno shranjena. Znova naložite stran za prikaz sprememb.", + "Could not load token editor.": "Urejevalnika žetonov ni bilo mogoče naložiti.", + "Custom token overrides": "Preglasitve žetonov po meri", + "Download": "Prenesi", + "Upload": "Naloži", + "Save overrides": "Shrani preglasitve", + "Custom value": "Vrednost po meri", + "Reset to default": "Ponastavi na privzeto", + "Unsaved changes": "Neshranjene spremembe", + "Token overrides saved.": "Preglasitve žetonov so shranjene.", + "Failed to save overrides:": "Shranjevanje preglasitev ni uspelo: ", + "Failed to save overrides.": "Shranjevanje preglasitev ni uspelo.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} žetonov uvoženih, {skipped} žetonov preskočenih (ni prepoznano)", + "Import failed:": "Uvoz ni uspel: ", + "Import failed.": "Uvoz ni uspel.", + "Apply token set: {name}": "Uporabi nabor žetonov: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Te vrednosti bi se spremenile. Označite, katere želite uporabiti za svoje preglasitve po meri.", + "Select all": "Izberi vse", + "Deselect all": "Počisti izbor", + "Token": "Žeton", + "New": "Novo", + "Apply selected": "Uporabi izbrano", + "Applying…": "Uporabljanje …", + "Token overrides applied.": "Preglasitve žetonov so uporabljene.", + "Failed to apply token set.": "Uporaba nabora žetonov ni uspela.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/sq.js b/l10n/sq.js new file mode 100644 index 000000000..58574e34d --- /dev/null +++ b/l10n/sq.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Zgjedhës ngjyrash për {label}", + "NL design system theme": "Tema NL Design System", + "Documentation": "Dokumentim", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Zgjidhni një grup tokenash dizajni të qeverisë holandeze si bazë, ose përshtatni tokenat individuale CSS të Nextcloud më poshtë.", + "Design token set": "Grup tokenash dizajni", + "Hide Nextcloud slogan/payoff on login page": "Fshih sloganin e Nextcloud në faqen e hyrjes", + "Show text labels in app menu (hide icons)": "Shfaq etiketat me tekst në menynë e aplikacioneve (fshih ikonat)", + "Preview": "Paraparje", + "Primary button": "Buton parësor", + "Secondary button": "Buton dytësor", + "Loading token editor…": "Po ngarkohet redaktuesi i tokenave …", + "Learn more about NL design system": "Mësoni më shumë rreth NL Design System", + "Theme updated successfully. reload the page to see changes.": "Tema u përditësua me sukses. Ringarkoni faqen për të parë ndryshimet.", + "Failed to update theme.": "Përditësimi i temës dështoi.", + "Primary color": "Ngjyra parësore", + "Background color": "Ngjyra e sfondit", + "Logo": "Logoja", + "(custom logo)": "(logo e personalizuar)", + "(default)": "(parazgjedhur)", + "Background image": "Imazhi i sfondit", + "(custom)": "(e personalizuar)", + "Update Nextcloud theming to match {name}?": "Të përditësohet tema e Nextcloud që të përputhet me {name}?", + "Current": "Aktuale", + "Proposed": "E propozuar", + "Setting": "Cilësim", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Shfaqen vetëm vlerat që ndryshojnë. Artikujt pa një vlerë të propozuar lihen të pandryshuar.", + "Cancel": "Anulo", + "Update theming": "Përditëso temën", + "Updating...": "Po përditësohet ...", + "Nextcloud theming updated successfully. reloading page...": "Tema e Nextcloud u përditësua me sukses. Po ringarkohet faqja ...", + "Failed to update Nextcloud theming:": "Përditësimi i temës së Nextcloud dështoi: ", + "Failed to update Nextcloud theming.": "Përditësimi i temës së Nextcloud dështoi.", + "Setting saved successfully. reload the login page to see changes.": "Cilësimi u ruajt me sukses. Ringarkoni faqen e hyrjes për të parë ndryshimet.", + "Failed to save setting.": "Ruajtja e cilësimit dështoi.", + "Setting saved successfully. reload the page to see changes.": "Cilësimi u ruajt me sukses. Ringarkoni faqen për të parë ndryshimet.", + "Could not load token editor.": "Nuk u arrit të ngarkohej redaktuesi i tokenave.", + "Custom token overrides": "Mbishkrime tokenash të personalizuara", + "Download": "Shkarko", + "Upload": "Ngarko", + "Save overrides": "Ruaj mbishkrimet", + "Custom value": "Vlerë e personalizuar", + "Reset to default": "Rivendos në parazgjedhje", + "Unsaved changes": "Ndryshime të paruajtura", + "Token overrides saved.": "Mbishkrimet e tokenave u ruajtën.", + "Failed to save overrides:": "Ruajtja e mbishkrimeve dështoi: ", + "Failed to save overrides.": "Ruajtja e mbishkrimeve dështoi.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokena u importuan, {skipped} tokena u anashkaluan (nuk u njohën)", + "Import failed:": "Importimi dështoi: ", + "Import failed.": "Importimi dështoi.", + "Apply token set: {name}": "Zbato grupin e tokenave: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Këto vlera do të ndryshonin. Shënoni cilat dëshironi t'i zbatoni te mbishkrimet tuaja të personalizuara.", + "Select all": "Zgjidh të gjitha", + "Deselect all": "Hiq zgjedhjen e të gjithave", + "Token": "Token", + "New": "I ri", + "Apply selected": "Zbato të zgjedhurat", + "Applying…": "Po zbatohet …", + "Token overrides applied.": "Mbishkrimet e tokenave u zbatuan.", + "Failed to apply token set.": "Zbatimi i grupit të tokenave dështoi.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/sr.js b/l10n/sr.js new file mode 100644 index 000000000..9aa7b84a2 --- /dev/null +++ b/l10n/sr.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Бирач боја за {label}", + "NL design system theme": "Тема NL Design System", + "Documentation": "Документација", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Изаберите скуп дизајнерских токена холандске владе као основу, или прилагодите појединачне Nextcloud CSS токене испод.", + "Design token set": "Скуп дизајнерских токена", + "Hide Nextcloud slogan/payoff on login page": "Сакриј Nextcloud слоган на страници за пријаву", + "Show text labels in app menu (hide icons)": "Прикажи текстуалне ознаке у менију апликација (сакриј иконе)", + "Preview": "Преглед", + "Primary button": "Примарно дугме", + "Secondary button": "Секундарно дугме", + "Loading token editor…": "Учитавање уређивача токена …", + "Learn more about NL design system": "Сазнајте више о NL Design System", + "Theme updated successfully. reload the page to see changes.": "Тема је успешно ажурирана. Поново учитајте страницу да бисте видели измене.", + "Failed to update theme.": "Ажурирање теме није успело.", + "Primary color": "Примарна боја", + "Background color": "Боја позадине", + "Logo": "Лого", + "(custom logo)": "(прилагођени лого)", + "(default)": "(подразумевано)", + "Background image": "Слика позадине", + "(custom)": "(прилагођено)", + "Update Nextcloud theming to match {name}?": "Да ажурирам Nextcloud тему да одговара {name}?", + "Current": "Тренутно", + "Proposed": "Предложено", + "Setting": "Подешавање", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Приказане су само вредности које се разликују. Ставке без предложене вредности остају непромењене.", + "Cancel": "Откажи", + "Update theming": "Ажурирај тему", + "Updating...": "Ажурирање ...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud тема је успешно ажурирана. Поновно учитавање странице ...", + "Failed to update Nextcloud theming:": "Ажурирање Nextcloud теме није успело: ", + "Failed to update Nextcloud theming.": "Ажурирање Nextcloud теме није успело.", + "Setting saved successfully. reload the login page to see changes.": "Подешавање је успешно сачувано. Поново учитајте страницу за пријаву да бисте видели измене.", + "Failed to save setting.": "Чување подешавања није успело.", + "Setting saved successfully. reload the page to see changes.": "Подешавање је успешно сачувано. Поново учитајте страницу да бисте видели измене.", + "Could not load token editor.": "Није могуће учитати уређивач токена.", + "Custom token overrides": "Прилагођена преписивања токена", + "Download": "Преузми", + "Upload": "Отпреми", + "Save overrides": "Сачувај преписивања", + "Custom value": "Прилагођена вредност", + "Reset to default": "Врати на подразумевано", + "Unsaved changes": "Несачуване измене", + "Token overrides saved.": "Преписивања токена су сачувана.", + "Failed to save overrides:": "Чување преписивања није успело: ", + "Failed to save overrides.": "Чување преписивања није успело.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} токена увезено, {skipped} токена прескочено (нису препознати)", + "Import failed:": "Увоз није успео: ", + "Import failed.": "Увоз није успео.", + "Apply token set: {name}": "Примени скуп токена: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Ове вредности би се промениле. Означите које желите да примените на ваша прилагођена преписивања.", + "Select all": "Изабери све", + "Deselect all": "Поништи избор свега", + "Token": "Токен", + "New": "Ново", + "Apply selected": "Примени изабрано", + "Applying…": "Примењивање …", + "Token overrides applied.": "Преписивања токена су примењена.", + "Failed to apply token set.": "Примена скупа токена није успела.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/sv.js b/l10n/sv.js new file mode 100644 index 000000000..7f42352b0 --- /dev/null +++ b/l10n/sv.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Färgväljare för {label}", + "NL design system theme": "NL Design System-tema", + "Documentation": "Dokumentation", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Välj en uppsättning designtokens från den nederländska regeringen som grund, eller anpassa enskilda Nextcloud-CSS-tokens nedan.", + "Design token set": "Uppsättning designtokens", + "Hide Nextcloud slogan/payoff on login page": "Dölj Nextclouds slogan på inloggningssidan", + "Show text labels in app menu (hide icons)": "Visa textetiketter i appmenyn (dölj ikoner)", + "Preview": "Förhandsgranskning", + "Primary button": "Primär knapp", + "Secondary button": "Sekundär knapp", + "Loading token editor…": "Läser in tokenredigerare …", + "Learn more about NL design system": "Läs mer om NL Design System", + "Theme updated successfully. reload the page to see changes.": "Temat uppdaterades. Läs in sidan på nytt för att se ändringarna.", + "Failed to update theme.": "Det gick inte att uppdatera temat.", + "Primary color": "Primärfärg", + "Background color": "Bakgrundsfärg", + "Logo": "Logotyp", + "(custom logo)": "(anpassad logotyp)", + "(default)": "(standard)", + "Background image": "Bakgrundsbild", + "(custom)": "(anpassad)", + "Update Nextcloud theming to match {name}?": "Uppdatera Nextclouds tema så att det matchar {name}?", + "Current": "Aktuell", + "Proposed": "Föreslagen", + "Setting": "Inställning", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Endast värden som skiljer sig visas. Objekt utan ett föreslaget värde lämnas oförändrade.", + "Cancel": "Avbryt", + "Update theming": "Uppdatera tema", + "Updating...": "Uppdaterar ...", + "Nextcloud theming updated successfully. reloading page...": "Nextclouds tema uppdaterades. Läser in sidan på nytt ...", + "Failed to update Nextcloud theming:": "Det gick inte att uppdatera Nextclouds tema: ", + "Failed to update Nextcloud theming.": "Det gick inte att uppdatera Nextclouds tema.", + "Setting saved successfully. reload the login page to see changes.": "Inställningen sparades. Läs in inloggningssidan på nytt för att se ändringarna.", + "Failed to save setting.": "Det gick inte att spara inställningen.", + "Setting saved successfully. reload the page to see changes.": "Inställningen sparades. Läs in sidan på nytt för att se ändringarna.", + "Could not load token editor.": "Det gick inte att läsa in tokenredigeraren.", + "Custom token overrides": "Anpassade tokenåsidosättningar", + "Download": "Ladda ned", + "Upload": "Ladda upp", + "Save overrides": "Spara åsidosättningar", + "Custom value": "Anpassat värde", + "Reset to default": "Återställ till standard", + "Unsaved changes": "Osparade ändringar", + "Token overrides saved.": "Tokenåsidosättningarna sparades.", + "Failed to save overrides:": "Det gick inte att spara åsidosättningarna: ", + "Failed to save overrides.": "Det gick inte att spara åsidosättningarna.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} tokens importerade, {skipped} tokens överhoppade (känns inte igen)", + "Import failed:": "Importen misslyckades: ", + "Import failed.": "Importen misslyckades.", + "Apply token set: {name}": "Tillämpa tokenuppsättning: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Dessa värden skulle ändras. Markera vilka du vill tillämpa på dina anpassade åsidosättningar.", + "Select all": "Markera alla", + "Deselect all": "Avmarkera alla", + "Token": "Token", + "New": "Ny", + "Apply selected": "Tillämpa markerade", + "Applying…": "Tillämpar …", + "Token overrides applied.": "Tokenåsidosättningarna tillämpades.", + "Failed to apply token set.": "Det gick inte att tillämpa tokenuppsättningen.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/tr.js b/l10n/tr.js new file mode 100644 index 000000000..b38cc9d9b --- /dev/null +++ b/l10n/tr.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "{label} için renk seçici", + "NL design system theme": "NL Design System teması", + "Documentation": "Belgeler", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Temel olarak bir Hollanda hükûmeti tasarım belirteci kümesi seçin veya aşağıdan tek tek Nextcloud CSS belirteçlerini özelleştirin.", + "Design token set": "Tasarım belirteci kümesi", + "Hide Nextcloud slogan/payoff on login page": "Giriş sayfasında Nextcloud sloganını gizle", + "Show text labels in app menu (hide icons)": "Uygulama menüsünde metin etiketlerini göster (simgeleri gizle)", + "Preview": "Önizleme", + "Primary button": "Birincil düğme", + "Secondary button": "İkincil düğme", + "Loading token editor…": "Belirteç düzenleyici yükleniyor …", + "Learn more about NL design system": "NL Design System hakkında daha fazla bilgi edinin", + "Theme updated successfully. reload the page to see changes.": "Tema başarıyla güncellendi. Değişiklikleri görmek için sayfayı yeniden yükleyin.", + "Failed to update theme.": "Tema güncellenemedi.", + "Primary color": "Birincil renk", + "Background color": "Arka plan rengi", + "Logo": "Logo", + "(custom logo)": "(özel logo)", + "(default)": "(varsayılan)", + "Background image": "Arka plan görseli", + "(custom)": "(özel)", + "Update Nextcloud theming to match {name}?": "Nextcloud teması {name} ile eşleşecek şekilde güncellensin mi?", + "Current": "Geçerli", + "Proposed": "Önerilen", + "Setting": "Ayar", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Yalnızca farklı olan değerler gösterilir. Önerilen değeri olmayan ögeler değiştirilmeden bırakılır.", + "Cancel": "İptal", + "Update theming": "Temayı güncelle", + "Updating...": "Güncelleniyor ...", + "Nextcloud theming updated successfully. reloading page...": "Nextcloud teması başarıyla güncellendi. Sayfa yeniden yükleniyor ...", + "Failed to update Nextcloud theming:": "Nextcloud teması güncellenemedi: ", + "Failed to update Nextcloud theming.": "Nextcloud teması güncellenemedi.", + "Setting saved successfully. reload the login page to see changes.": "Ayar başarıyla kaydedildi. Değişiklikleri görmek için giriş sayfasını yeniden yükleyin.", + "Failed to save setting.": "Ayar kaydedilemedi.", + "Setting saved successfully. reload the page to see changes.": "Ayar başarıyla kaydedildi. Değişiklikleri görmek için sayfayı yeniden yükleyin.", + "Could not load token editor.": "Belirteç düzenleyici yüklenemedi.", + "Custom token overrides": "Özel belirteç geçersiz kılmaları", + "Download": "İndir", + "Upload": "Yükle", + "Save overrides": "Geçersiz kılmaları kaydet", + "Custom value": "Özel değer", + "Reset to default": "Varsayılana sıfırla", + "Unsaved changes": "Kaydedilmemiş değişiklikler", + "Token overrides saved.": "Belirteç geçersiz kılmaları kaydedildi.", + "Failed to save overrides:": "Geçersiz kılmalar kaydedilemedi: ", + "Failed to save overrides.": "Geçersiz kılmalar kaydedilemedi.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} belirteç içe aktarıldı, {skipped} belirteç atlandı (tanınmadı)", + "Import failed:": "İçe aktarma başarısız oldu: ", + "Import failed.": "İçe aktarma başarısız oldu.", + "Apply token set: {name}": "Belirteç kümesini uygula: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Bu değerler değişecek. Özel geçersiz kılmalarınıza hangilerinin uygulanacağını işaretleyin.", + "Select all": "Tümünü seç", + "Deselect all": "Tüm seçimi kaldır", + "Token": "Belirteç", + "New": "Yeni", + "Apply selected": "Seçilenleri uygula", + "Applying…": "Uygulanıyor …", + "Token overrides applied.": "Belirteç geçersiz kılmaları uygulandı.", + "Failed to apply token set.": "Belirteç kümesi uygulanamadı.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/l10n/uk.js b/l10n/uk.js new file mode 100644 index 000000000..2dfa01b0f --- /dev/null +++ b/l10n/uk.js @@ -0,0 +1,215 @@ +OC.L10N.register( + "thematiq", + { + "Colour picker for {label}": "Вибір кольору для {label}", + "NL design system theme": "Тема NL Design System", + "Documentation": "Документація", + "Select a dutch government design token set as a base, or customize individual Nextcloud CSS tokens below.": "Виберіть набір дизайн-токенів уряду Нідерландів як основу або налаштуйте окремі CSS-токени Nextcloud нижче.", + "Design token set": "Набір дизайн-токенів", + "Hide Nextcloud slogan/payoff on login page": "Приховати слоган Nextcloud на сторінці входу", + "Show text labels in app menu (hide icons)": "Показувати текстові підписи в меню застосунків (приховати піктограми)", + "Preview": "Перегляд", + "Primary button": "Основна кнопка", + "Secondary button": "Додаткова кнопка", + "Loading token editor…": "Завантаження редактора токенів …", + "Learn more about NL design system": "Докладніше про NL Design System", + "Theme updated successfully. reload the page to see changes.": "Тему успішно оновлено. Перезавантажте сторінку, щоб побачити зміни.", + "Failed to update theme.": "Не вдалося оновити тему.", + "Primary color": "Основний колір", + "Background color": "Колір тла", + "Logo": "Логотип", + "(custom logo)": "(власний логотип)", + "(default)": "(типово)", + "Background image": "Зображення тла", + "(custom)": "(власне)", + "Update Nextcloud theming to match {name}?": "Оновити оформлення Nextcloud відповідно до {name}?", + "Current": "Поточне", + "Proposed": "Запропоноване", + "Setting": "Налаштування", + "Only values that differ are shown. items without a proposed value are left unchanged.": "Показано лише значення, які відрізняються. Елементи без запропонованого значення залишаються без змін.", + "Cancel": "Скасувати", + "Update theming": "Оновити оформлення", + "Updating...": "Оновлення ...", + "Nextcloud theming updated successfully. reloading page...": "Оформлення Nextcloud успішно оновлено. Перезавантаження сторінки ...", + "Failed to update Nextcloud theming:": "Не вдалося оновити оформлення Nextcloud: ", + "Failed to update Nextcloud theming.": "Не вдалося оновити оформлення Nextcloud.", + "Setting saved successfully. reload the login page to see changes.": "Налаштування успішно збережено. Перезавантажте сторінку входу, щоб побачити зміни.", + "Failed to save setting.": "Не вдалося зберегти налаштування.", + "Setting saved successfully. reload the page to see changes.": "Налаштування успішно збережено. Перезавантажте сторінку, щоб побачити зміни.", + "Could not load token editor.": "Не вдалося завантажити редактор токенів.", + "Custom token overrides": "Власні перевизначення токенів", + "Download": "Завантажити", + "Upload": "Вивантажити", + "Save overrides": "Зберегти перевизначення", + "Custom value": "Власне значення", + "Reset to default": "Скинути до типового", + "Unsaved changes": "Незбережені зміни", + "Token overrides saved.": "Перевизначення токенів збережено.", + "Failed to save overrides:": "Не вдалося зберегти перевизначення: ", + "Failed to save overrides.": "Не вдалося зберегти перевизначення.", + "{imported} tokens imported, {skipped} tokens skipped (not recognized)": "{imported} токенів імпортовано, {skipped} токенів пропущено (не розпізнано)", + "Import failed:": "Не вдалося імпортувати: ", + "Import failed.": "Не вдалося імпортувати.", + "Apply token set: {name}": "Застосувати набір токенів: {name}", + "These values would change. check which ones to apply to your custom overrides.": "Ці значення зміняться. Позначте, які з них застосувати до ваших власних перевизначень.", + "Select all": "Вибрати все", + "Deselect all": "Зняти все виділення", + "Token": "Токен", + "New": "Новий", + "Apply selected": "Застосувати вибране", + "Applying…": "Застосування …", + "Token overrides applied.": "Перевизначення токенів застосовано.", + "Failed to apply token set.": "Не вдалося застосувати набір токенів.", + "Theming per app": "Theming per app", + "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.": "Choose which apps the NL Design theme applies to. Unchecking an app makes its pages render with stock Nextcloud styling, including the header on those pages.", + "Loading apps…": "Loading apps…", + "Save app theming": "Save app theming", + "Failed to load apps.": "Failed to load apps.", + "No apps available.": "No apps available.", + "App theming saved. Reload an affected app to see changes.": "App theming saved. Reload an affected app to see changes.", + "Failed to save app theming.": "Failed to save app theming.", + "{count} WCAG AA contrast warning(s) — see the apply dialog.": "{count} WCAG AA contrast warning(s) — see the apply dialog.", + "{imported} tokens imported, {skipped} skipped.": "{imported} tokens imported, {skipped} skipped.", + "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.": "{pair}: contrast {ratio}:1 is below the WCAG 2.1 AA threshold of {threshold}:1.", + "{pair}: contrast could not be evaluated (non-literal colour).": "{pair}: contrast could not be evaluated (non-literal colour).", + "Contrast warning": "Contrast warning", + "Custom token set deleted. Reload the page to refresh the dropdown.": "Custom token set deleted. Reload the page to refresh the dropdown.", + "Delete": "Delete", + "Delete custom token set": "Delete custom token set", + "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.": "Delete the custom token set \"{name}\"? If it is currently active, the theme will fall back to Nextcloud.", + "Enter a token set name first.": "Enter a token set name first.", + "Failed to delete custom token set.": "Failed to delete custom token set.", + "Failed to load custom token sets.": "Failed to load custom token sets.", + "No custom token sets uploaded yet.": "No custom token sets uploaded yet.", + "Token set uploaded. Reload the page to apply it.": "Token set uploaded. Reload the page to apply it.", + "Upload failed:": "Upload failed:", + "Upload failed.": "Upload failed.", + "WCAG 2.1 AA contrast warning": "WCAG 2.1 AA contrast warning", + "WCAG AA OK": "WCAG AA OK", + "Custom token sets": "Custom token sets", + "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.": "Upload your own house style as a token set, either as an NL Design CSS file (--nldesign-* variables) or a W3C Design Tokens JSON file. Uploaded sets appear in the dropdown above.", + "Token set name": "Token set name", + "e.g. Gemeente Voorbeeld": "e.g. Gemeente Voorbeeld", + "Choose file and upload": "Choose file and upload", + "Loading custom token sets…": "Loading custom token sets…", + "{themed} of {total} apps themed": "{themed} of {total} apps themed", + "Search apps": "Search apps", + "Search apps…": "Search apps…", + "Reset {label} to default": "Reset {label} to default", + "Failed to load the audit log.": "Failed to load the audit log.", + "from {value}": "from {value}", + "No theming changes have been recorded yet.": "No theming changes have been recorded yet.", + "to {value}": "to {value}", + "Theming audit log": "Theming audit log", + "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.": "A record of theming configuration changes: who changed what, from what, to what, and when. Useful evidence for accessibility audits.", + "Timestamp": "Timestamp", + "User": "User", + "Action": "Action", + "Details": "Details", + "Loading audit log…": "Loading audit log…", + "Download full log": "Download full log", + "Group theming": "Group theming", + "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.": "Map Nextcloud groups to token sets so different gemeenten sharing one instance each see their own house style. Row order is priority order: for a user in multiple mapped groups, the first matching row wins.", + "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.": "Logo, mail templates, and other Nextcloud core branding always follow the instance default token set above — they are not per-group. Only this token-set stylesheet layer differs per group.", + "Loading group mappings…": "Loading group mappings…", + "Add mapping": "Add mapping", + "Save group theming": "Save group theming", + "Failed to load group mappings.": "Failed to load group mappings.", + "Group": "Group", + "Token set": "Token set", + "Move mapping up": "Move mapping up", + "Move mapping down": "Move mapping down", + "Remove mapping": "Remove mapping", + "No group mappings configured.": "No group mappings configured.", + "Group theming saved.": "Group theming saved.", + "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}": "Could not save mapping for group \"{group}\" → \"{tokenSet}\": {reason}", + "Failed to save group theming.": "Failed to save group theming.", + "Email template": "Email template", + "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.": "Brand password-reset, share-notification, and other system emails with the active token set's color and logo. If nldesign is later disabled, Nextcloud automatically falls back to the stock email template — mail is never blocked by this setting.", + "A different mail template class is already configured ({class}); nldesign will not overwrite it.": "A different mail template class is already configured ({class}); nldesign will not overwrite it.", + "Use NL Design email template": "Use NL Design email template", + "Organization name": "Organization name", + "Accessibility statement URL": "Accessibility statement URL", + "Privacy statement URL": "Privacy statement URL", + "Save email template settings": "Save email template settings", + "config.php is read-only. Run one of the following commands manually to enable or disable the email template:": "config.php is read-only. Run one of the following commands manually to enable or disable the email template:", + "Email template settings saved.": "Email template settings saved.", + "config.php is read-only; run the shown occ command manually.": "config.php is read-only; run the shown occ command manually.", + "A different mail template class is already configured.": "A different mail template class is already configured.", + "Invalid footer URL — use an http:// or https:// address.": "Invalid footer URL — use an http:// or https:// address.", + "Failed to save email template settings.": "Failed to save email template settings.", + "Accessibility statement": "Accessibility statement", + "Privacy statement": "Privacy statement", + "Alias chain too deep (more than 10 hops)": "Alias chain too deep (more than 10 hops)", + "Alias cycle detected": "Alias cycle detected", + "Alias target does not exist": "Alias target does not exist", + "Another token already maps to this target": "Another token already maps to this target", + "No $type could be resolved (never guessed)": "No $type could be resolved (never guessed)", + "Not part of the --nldesign-* vocabulary": "Not part of the --nldesign-* vocabulary", + "Package version: {version}": "Package version: {version}", + "Unsupported color space": "Unsupported color space", + "Unsupported value shape": "Unsupported value shape", + "v{version}": "v{version}", + "No font file uploaded.": "No font file uploaded.", + "Font file exceeds the 2 MB size limit.": "Font file exceeds the 2 MB size limit.", + "Could not read the uploaded file.": "Could not read the uploaded file.", + "Font not found.": "Font not found.", + "Custom fonts": "Custom fonts", + "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.": "Only upload fonts your organization holds a license to self-host. Licensing responsibility rests with the uploader.", + "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.": "Upload a WOFF2 font file (max 2 MB, 20 fonts max) and assign it to the body text or heading role. Uploaded fonts are self-hosted — no external requests.", + "Font display name": "Font display name", + "e.g. Rijks Sans": "e.g. Rijks Sans", + "Font role": "Font role", + "Body text": "Body text", + "Heading": "Heading", + "Choose font and upload": "Choose font and upload", + "Loading fonts…": "Loading fonts…", + "Enter a font display name first.": "Enter a font display name first.", + "Font uploaded. Reload the page to apply it.": "Font uploaded. Reload the page to apply it.", + "Failed to load fonts.": "Failed to load fonts.", + "No fonts uploaded yet.": "No fonts uploaded yet.", + "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.": "Delete the font \"{name}\"? Pages using it will fall back to Fira Sans.", + "Delete font": "Delete font", + "Font deleted. Reload the page to refresh the styling.": "Font deleted. Reload the page to refresh the styling.", + "Failed to delete font.": "Failed to delete font.", + "Upstream token updates": "Upstream token updates", + "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.": "Optionally check once a day whether the upstream NL Design System themes have new tokens. This is the only outbound network request this app makes; it contacts api.github.com and never applies anything automatically — you always review and apply updates yourself.", + "Check daily for upstream token updates (contacts api.github.com)": "Check daily for upstream token updates (contacts api.github.com)", + "Last checked: {when}": "Last checked: {when}", + "Not checked yet.": "Not checked yet.", + "Token set {name} has upstream update {version} — review & apply": "Token set {name} has upstream update {version} — review & apply", + "Upstream token sets have updates ({version}) — review & apply": "Upstream token sets have updates ({version}) — review & apply", + "Dismiss": "Dismiss", + "Upstream token update checks enabled.": "Upstream token update checks enabled.", + "Upstream token update checks disabled.": "Upstream token update checks disabled.", + "Discard": "Discard", + "Failed to discard theme preview.": "Failed to discard theme preview.", + "Failed to start theme preview.": "Failed to start theme preview.", + "Preview: {name} — this is only visible to you": "Preview: {name} — this is only visible to you", + "Publish": "Publish", + "Theme published instance-wide. Reload the page to see changes.": "Theme published instance-wide. Reload the page to see changes.", + "Preview in my session": "Preview in my session", + "Previewing \"{name}\" in your session only.": "Previewing \"{name}\" in your session only.", + "Configuration bundle (OTAP promotion)": "Configuration bundle (OTAP promotion)", + "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.": "Download or upload the complete NL Design configuration as one JSON file — the active token set, toggles, per-app exclusions, token overrides, custom token sets, email footer, and the upstream-update toggle. Use this to promote configuration between dev, test, acceptance, and production environments identically. This is different from the overrides-only download above.", + "Download configuration": "Download configuration", + "Upload configuration": "Upload configuration", + "Configuration imported successfully. Reloading…": "Configuration imported successfully. Reloading…", + "Configuration imported successfully.": "Configuration imported successfully.", + "Import failed — nothing was applied:": "Import failed — nothing was applied:", + "Configuration import failed.": "Configuration import failed.", + "Dark logo": "Dark logo", + "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.": "This token set also ships a dark-surface logo. Nextcloud core has no dark logo slot, so it is applied by nldesign's own dark-mode stylesheet, not synced to Nextcloud theming.", + "Enable dark mode variants for the active token set": "Enable dark mode variants for the active token set", + "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.": "When enabled, a generated dark-mode stylesheet follows whichever Nextcloud dark/light/system theme is already active — it never changes your Nextcloud theme choice itself.", + "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.": "Marianne is the official typeface of the French State and is reserved for French State administrations. Enable it only if your organisation is a French State agency. Otherwise Inter is used.", + "Our organisation is a French State agency (administration de l'État)": "Our organisation is a French State agency (administration de l'État)", + "Active icon pack": "Active icon pack", + "Nextcloud stock icons (no custom pack)": "Nextcloud stock icons (no custom pack)", + "Source: admin override (occ config:app:set nldesign icon_pack)": "Source: admin override (occ config:app:set nldesign icon_pack)", + "Source: the active design system": "Source: the active design system", + "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.": "This only switches the icon assets nldesign itself serves through imagePath. It does not replace Nextcloud's built-in core icons beyond what the active theme's CSS already restyles.", + "Saved. Reload to see the change.": "Saved. Reload to see the change." + }, + "nplurals=2; plural=(n != 1);" +) diff --git a/package.json b/package.json index 20e665807..40ea37447 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,9 @@ "check:manifest": "node tests/validate-manifest.js", "format": "prettier --check \"**/*.{js,ts,vue,css,scss}\"", "format:fix": "prettier --write \"**/*.{js,ts,vue,css,scss}\"", - "prepare": "git config core.hooksPath .githooks || true" + "prepare": "git config core.hooksPath .githooks || true", + "l10n:build": "node scripts/build-l10n-js.js", + "check:l10n-js": "node scripts/build-l10n-js.js --check" }, "dependencies": { "@fontsource/fira-sans": "^5.0.0" diff --git a/scripts/build-l10n-js.js b/scripts/build-l10n-js.js new file mode 100644 index 000000000..176ef519c --- /dev/null +++ b/scripts/build-l10n-js.js @@ -0,0 +1,172 @@ +#!/usr/bin/env node +// SPDX-License-Identifier: EUPL-1.2 +// Copyright (C) 2026 Conduction B.V. +// +// build-l10n-js.js — regenerate l10n/.js from l10n/.json. +// +// WHY THIS EXISTS +// +// Nextcloud loads a locale catalogue in TWO formats and neither substitutes +// for the other: +// +// l10n/.json — read server-side by PHP `$l->t()`. +// l10n/.js — an `OC.L10N.register(, {…}, )` +// call, the ONLY thing the browser ever sees. Raw +// JSON is not served from an app directory at all: +// `/custom_apps/humaniq/l10n/nl.json` is a 404. +// +// The pair was hand-maintained, which is exactly the shape of drift the +// parity guard exists to catch: a key added to the .json and forgotten in +// the .js renders in English for every browser while every server-rendered +// string is Dutch, and nothing throws. Deriving the .js removes the chance +// to forget. +// +// `npm run check:l10n` still asserts the two carry identical pairs — this +// script makes that assertion cheap to satisfy rather than replacing it. +// +// EVERY locale in l10n/ is generated, not just en/nl. larpinq ships 37 locale +// catalogues and had .js for none of them, so 35 languages' translations were +// unreachable on top of the two this script was first written for. +// +// pluralForm: taken from the catalogue when it declares one. When it does not, +// the fallback is the two-form rule `nplurals=2; plural=(n != 1);` — which is +// what every generated catalogue in this fleet already carries, including for +// languages that genuinely have more forms (cs, pl, ru). That is a known +// simplification, not a verified per-language rule: a catalogue that starts +// using plural strings in such a language needs its real rule declared in the +// JSON, which this script will then honour. +// +// Usage: +// node scripts/build-l10n-js.js (npm run l10n:build) +// node scripts/build-l10n-js.js --check exit 1 if any .js is stale +// +// Exit codes: +// 0 — every .js written (or already current, under --check) +// 1 — a catalogue is malformed, or --check found a stale .js + +'use strict' + +const fs = require('fs') +const path = require('path') + +const REPO_ROOT = path.resolve(__dirname, '..') + +/** Fallback when a catalogue declares no pluralForm — see the header note. */ +const DEFAULT_PLURAL_FORM = 'nplurals=2; plural=(n != 1);' +const L10N_DIR = path.join(REPO_ROOT, 'l10n') + +/** + * The app id the browser catalogue must register under. Read from + * appinfo/info.xml rather than hard-coded: this app has already been renamed + * once (hrmq -> humaniq), and a catalogue registered under the old id is + * silently ignored by `t()` — every string falls back to its English key with + * no error anywhere. + * + * @return {string} the declared in appinfo/info.xml + */ +function appId() { + const xml = fs.readFileSync(path.join(REPO_ROOT, 'appinfo', 'info.xml'), 'utf8') + const match = xml.match(/([^<]+)<\/id>/) + if (match === null) { + console.error('appinfo/info.xml declares no ') + process.exit(1) + } + return match[1].trim() +} + +/** + * Render one catalogue as the `OC.L10N.register` call the browser expects. + * + * @param {string} id - the app id to register under + * @param {object} translations - key -> translation + * @param {string} pluralForm - the catalogue's gettext plural rule + * @return {string} the .js file body + */ +function renderJs(id, translations, pluralForm) { + const body = Object.keys(translations) + .map( + (key) => + ` ${JSON.stringify(key)}: ${JSON.stringify(translations[key])}`, + ) + .join(',\n') + return [ + 'OC.L10N.register(', + ` ${JSON.stringify(id)},`, + ' {', + body, + ' },', + ` ${JSON.stringify(pluralForm)}`, + ')', + '', + ].join('\n') +} + +function main() { + const check = process.argv.includes('--check') + const id = appId() + const stale = [] + + const locales = fs + .readdirSync(L10N_DIR) + // Dotfiles are never locale catalogues. `l10n/.schema-l10n-baseline.json` + // sits here so prettier ignores it, and without this guard it was read as + // a locale named `.schema-l10n-baseline` and failed for having no + // `translations` key. + .filter((f) => f.endsWith('.json') && !f.startsWith('.')) + .map((f) => f.slice(0, -5)) + .sort() + if (locales.length === 0) { + console.error('l10n/ holds no .json catalogue to generate from') + process.exit(1) + } + + for (const locale of locales) { + const jsonFile = path.join(L10N_DIR, `${locale}.json`) + const jsFile = path.join(L10N_DIR, `${locale}.js`) + + let doc + try { + doc = JSON.parse(fs.readFileSync(jsonFile, 'utf8')) + } catch (error) { + console.error(`l10n/${locale}.json does not parse: ${error.message}`) + process.exit(1) + } + if (doc.translations === undefined) { + console.error(`l10n/${locale}.json is missing "translations"`) + process.exit(1) + } + + const rendered = renderJs( + id, + doc.translations, + doc.pluralForm || DEFAULT_PLURAL_FORM, + ) + const current = fs.existsSync(jsFile) + ? fs.readFileSync(jsFile, 'utf8') + : null + + if (current === rendered) { + console.log( + ` ✓ l10n/${locale}.js up to date (${Object.keys(doc.translations).length} keys)`, + ) + continue + } + if (check) { + stale.push(`l10n/${locale}.js`) + continue + } + fs.writeFileSync(jsFile, rendered) + console.log( + ` ✎ l10n/${locale}.js written (${Object.keys(doc.translations).length} keys)`, + ) + } + + if (stale.length > 0) { + console.error('') + console.error(`Stale browser catalogue: ${stale.join(', ')}`) + console.error('Run `npm run l10n:build` and commit the result.') + process.exit(1) + } +} + +main()