├── .github └── workflows │ └── pr-feedback.yml ├── .gitignore ├── .nextcloudignore ├── .tx └── config ├── CHANGELOG.md ├── README.md ├── appinfo ├── info.xml └── routes.php ├── css └── settings-admin.css ├── img ├── app-dark.svg └── app.svg ├── js └── settings-admin.js ├── krankerl.toml ├── l10n ├── .gitkeep ├── af.js ├── af.json ├── an.js ├── an.json ├── ar.js ├── ar.json ├── ast.js ├── ast.json ├── az.js ├── az.json ├── be.js ├── be.json ├── bg.js ├── bg.json ├── bn_BD.js ├── bn_BD.json ├── br.js ├── br.json ├── bs.js ├── bs.json ├── ca.js ├── ca.json ├── cs.js ├── cs.json ├── cy_GB.js ├── cy_GB.json ├── da.js ├── da.json ├── de.js ├── de.json ├── de_DE.js ├── de_DE.json ├── el.js ├── el.json ├── en_GB.js ├── en_GB.json ├── eo.js ├── eo.json ├── es.js ├── es.json ├── es_419.js ├── es_419.json ├── es_AR.js ├── es_AR.json ├── es_CL.js ├── es_CL.json ├── es_CO.js ├── es_CO.json ├── es_CR.js ├── es_CR.json ├── es_DO.js ├── es_DO.json ├── es_EC.js ├── es_EC.json ├── es_GT.js ├── es_GT.json ├── es_HN.js ├── es_HN.json ├── es_MX.js ├── es_MX.json ├── es_NI.js ├── es_NI.json ├── es_PA.js ├── es_PA.json ├── es_PE.js ├── es_PE.json ├── es_PR.js ├── es_PR.json ├── es_PY.js ├── es_PY.json ├── es_SV.js ├── es_SV.json ├── es_UY.js ├── es_UY.json ├── et_EE.js ├── et_EE.json ├── eu.js ├── eu.json ├── fa.js ├── fa.json ├── fi.js ├── fi.json ├── fo.js ├── fo.json ├── fr.js ├── fr.json ├── ga.js ├── ga.json ├── gd.js ├── gd.json ├── gl.js ├── gl.json ├── he.js ├── he.json ├── hi_IN.js ├── hi_IN.json ├── hr.js ├── hr.json ├── hu.js ├── hu.json ├── hy.js ├── hy.json ├── ia.js ├── ia.json ├── id.js ├── id.json ├── is.js ├── is.json ├── it.js ├── it.json ├── ja.js ├── ja.json ├── ka.js ├── ka.json ├── ka_GE.js ├── ka_GE.json ├── kab.js ├── kab.json ├── km.js ├── km.json ├── kn.js ├── kn.json ├── ko.js ├── ko.json ├── lb.js ├── lb.json ├── lo.js ├── lo.json ├── lt_LT.js ├── lt_LT.json ├── lv.js ├── lv.json ├── mk.js ├── mk.json ├── mn.js ├── mn.json ├── ms_MY.js ├── ms_MY.json ├── nb.js ├── nb.json ├── nl.js ├── nl.json ├── nn_NO.js ├── nn_NO.json ├── oc.js ├── oc.json ├── pl.js ├── pl.json ├── ps.js ├── ps.json ├── pt_BR.js ├── pt_BR.json ├── pt_PT.js ├── pt_PT.json ├── ro.js ├── ro.json ├── ru.js ├── ru.json ├── sc.js ├── sc.json ├── si.js ├── si.json ├── sk.js ├── sk.json ├── sl.js ├── sl.json ├── sq.js ├── sq.json ├── sr.js ├── sr.json ├── sr@latin.js ├── sr@latin.json ├── sv.js ├── sv.json ├── ta.js ├── ta.json ├── th.js ├── th.json ├── tk.js ├── tk.json ├── tr.js ├── tr.json ├── ug.js ├── ug.json ├── uk.js ├── uk.json ├── ur_PK.js ├── ur_PK.json ├── uz.js ├── uz.json ├── vi.js ├── vi.json ├── zh_CN.js ├── zh_CN.json ├── zh_HK.js ├── zh_HK.json ├── zh_TW.js └── zh_TW.json ├── lib ├── AppInfo │ └── Application.php ├── Controller │ └── ThemingController.php ├── Listeners │ └── BeforeTemplateRenderedListener.php └── Settings │ └── Admin.php ├── phpunit.xml ├── screenshot.png ├── templates └── settings-admin.php └── tests ├── Controller └── ThemingControllerTest.php ├── Settings └── AdminTest.php └── bootstrap.php /.github/workflows/pr-feedback.yml: -------------------------------------------------------------------------------- 1 | # This workflow is provided via the organization template repository 2 | # 3 | # https://github.com/nextcloud/.github 4 | # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization 5 | 6 | # SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors 7 | # SPDX-FileCopyrightText: 2023 Marcel Klehr 8 | # SPDX-FileCopyrightText: 2023 Joas Schilling <213943+nickvergessen@users.noreply.github.com> 9 | # SPDX-FileCopyrightText: 2023 Daniel Kesselberg 10 | # SPDX-FileCopyrightText: 2023 Florian Steffens 11 | # SPDX-License-Identifier: MIT 12 | 13 | name: 'Ask for feedback on PRs' 14 | on: 15 | schedule: 16 | - cron: '30 1 * * *' 17 | 18 | permissions: 19 | contents: read 20 | pull-requests: write 21 | 22 | jobs: 23 | pr-feedback: 24 | if: ${{ github.repository_owner == 'nextcloud' }} 25 | runs-on: ubuntu-latest 26 | steps: 27 | - name: The get-github-handles-from-website action 28 | uses: marcelklehr/get-github-handles-from-website-action@06b2239db0a48fe1484ba0bfd966a3ab81a08308 # v1.0.1 29 | id: scrape 30 | with: 31 | website: 'https://nextcloud.com/team/' 32 | 33 | - name: Get blocklist 34 | id: blocklist 35 | run: | 36 | blocklist=$(curl https://raw.githubusercontent.com/nextcloud/.github/master/non-community-usernames.txt | paste -s -d, -) 37 | echo "blocklist=$blocklist" >> "$GITHUB_OUTPUT" 38 | 39 | - uses: marcelklehr/pr-feedback-action@1883b38a033fb16f576875e0cf45f98b857655c4 40 | with: 41 | feedback-message: | 42 | Hello there, 43 | Thank you so much for taking the time and effort to create a pull request to our Nextcloud project. 44 | 45 | We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process. 46 | 47 | Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6 48 | 49 | Thank you for contributing to Nextcloud and we hope to hear from you soon! 50 | 51 | (If you believe you should not receive this message, you can add yourself to the [blocklist](https://github.com/nextcloud/.github/blob/master/non-community-usernames.txt).) 52 | days-before-feedback: 14 53 | start-date: '2024-04-30' 54 | exempt-authors: '${{ steps.blocklist.outputs.blocklist }},${{ steps.scrape.outputs.users }}' 55 | exempt-bots: true 56 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | -------------------------------------------------------------------------------- /.nextcloudignore: -------------------------------------------------------------------------------- 1 | /.git 2 | /composer.json 3 | /composer.lock 4 | /krankerl.toml 5 | /node_modules 6 | /tests 7 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | lang_map = fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs 4 | 5 | [o:nextcloud:p:nextcloud:r:theming_customcss] 6 | file_filter = translationfiles//theming_customcss.po 7 | source_file = translationfiles/templates/theming_customcss.pot 8 | source_lang = en 9 | type = PO 10 | 11 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | All notable changes to this project will be documented in this file. 3 | 4 | ## 1.18.0 5 | 6 | ### Added 7 | 8 | - Compatibility with Nextcloud 31 9 | - docs(README): Add config reset / occ answer to README @joshtrichards [#43](https://github.com/nextcloud/theming_customcss/pull/43) 10 | 11 | ### Fixed 12 | 13 | - fix(controller): Don't require finished 2fa on existing public route @joshtrichards [#44](https://github.com/nextcloud/theming_customcss/pull/44) 14 | 15 | ## 1.17.0 16 | 17 | - Compatibility with Nextcloud 30 18 | 19 | ## 1.16.0 20 | 21 | - Compatibility with Nextcloud 29 22 | - Drop support for older Nextcloud versions 20-25 23 | 24 | ## 1.15.0 25 | 26 | ### Added 27 | 28 | - Compatibility with Nextcloud 28 29 | 30 | ### Fixed 31 | 32 | - Make sure to load css also on the login page 33 | 34 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Custom CSS: customize your CSS to better fit your Theming needs 2 | 3 | Allow admins to add custom CSS to their Nextcloud instance from inside the Theming settings. 4 | 5 | ![](https://github.com/juliushaertl/theming_customcss/raw/master/screenshot.png) 6 | 7 | ## Use theming color values 8 | 9 | Admin can use CSS custom properties to make use of the variables that are available from the [default.css variables file](https://github.com/nextcloud/server/blob/master/apps/theming/css/default.css) file: 10 | 11 | Example: 12 | 13 | ``` 14 | #element { 15 | color: var(--color-primary); 16 | } 17 | ``` 18 | 19 | ## *How can I recover if my customized CSS code has broken the user interface?* 20 | 21 | The css configuration is stored in the app config database table, but you can use the `occ config:app:*` commands to obtain, modify or reset it as well. e.g. 22 | 23 | ``` 24 | occ config:app:get theming_customcss customcss 25 | occ config:app:set theming_customcss customcss --value "body { background-color: red; }" 26 | occ config:app:delete theming_customcss customcss 27 | ``` 28 | -------------------------------------------------------------------------------- /appinfo/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | theming_customcss 4 | Custom CSS 5 | Adjust the Nextcloud theme with custom CSS 6 | Adjust the Nextcloud theme with custom CSS 7 | 1.18.0 8 | agpl 9 | Julius Härtl 10 | ThemingCustomCss 11 | customization 12 | https://github.com/juliushaertl/theming_customcss/issues 13 | 14 | 15 | 16 | 17 | OCA\ThemingCustomCss\Settings\Admin 18 | 19 | 20 | -------------------------------------------------------------------------------- /appinfo/routes.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * @author Julius Härtl 6 | * 7 | * @license GNU AGPL version 3 or any later version 8 | * 9 | * This program is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU Affero General Public License as 11 | * published by the Free Software Foundation, either version 3 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License 20 | * along with this program. If not, see . 21 | * 22 | */ 23 | 24 | return ['routes' => [ 25 | [ 26 | 'name' => 'Theming#getStylesheet', 27 | 'url' => '/styles', 28 | 'verb' => 'GET', 29 | ] 30 | ]]; 31 | 32 | -------------------------------------------------------------------------------- /css/settings-admin.css: -------------------------------------------------------------------------------- 1 | #theming-customcss textarea { 2 | width:100%; 3 | height:200px; 4 | font-family: monospace; 5 | } -------------------------------------------------------------------------------- /img/app-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/app.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/settings-admin.js: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * @copyright Copyright (c) 2017 Julius Härtl 4 | * 5 | * @author Julius Härtl 6 | * 7 | * @license GNU AGPL version 3 or any later version 8 | * 9 | * This program is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU Affero General Public License as 11 | * published by the Free Software Foundation, either version 3 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License 20 | * along with this program. If not, see . 21 | * 22 | */ 23 | $(document).ready(function () { 24 | $('html > head').append($('')); 25 | $('#theming-customcss button').click(function (e) { 26 | var content = $('#theming-customcss-input').val(); 27 | OCP.AppConfig.setValue('theming_customcss', 'customcss', content, { 28 | success: function () { 29 | OC.msg.finishedSuccess('#theming-customcss_settings_msg', t('theming_customcss', 'Saved')); 30 | $('link[href*="theming_customcss/styles"]').remove(); 31 | $('#previewStylesCustom').replaceWith($('')); 32 | OCP.AppConfig.setValue('theming_customcss', 'cachebuster', Date.now); 33 | }, 34 | error: function () { 35 | OC.msg.finishedError('#theming-customcss_settings_msg', t('theming_customcss', 'Error')); 36 | } 37 | }); 38 | OC.msg.startSaving('#theming-customcss_settings_msg'); 39 | }); 40 | }); 41 | -------------------------------------------------------------------------------- /krankerl.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | before_cmds = [ 3 | 4 | ] 5 | -------------------------------------------------------------------------------- /l10n/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/theming_customcss/e466617364d6399487a8483fce40e8f62819aeb8/l10n/.gitkeep -------------------------------------------------------------------------------- /l10n/af.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Bewaar", 5 | "Error" : "Fout", 6 | "Save" : "Bewaar" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/af.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Bewaar", 3 | "Error" : "Fout", 4 | "Save" : "Bewaar" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/an.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "Error" 5 | }, 6 | "nplurals=2; plural=(n != 1);"); 7 | -------------------------------------------------------------------------------- /l10n/an.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "Error" 3 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 4 | } -------------------------------------------------------------------------------- /l10n/ar.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "تمّ الحفظ", 5 | "Error" : "خطأ", 6 | "Custom CSS" : "سكربتات CSS مُخصّصة", 7 | "Adjust the Nextcloud theme with custom CSS" : "إضبط ثيم نكست كلاود عن طريق التخصيص باستخدام CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "يُمكنك تعيين سكربتات CSS الخاصة بك هنا. إنتبه إلى أن هذا يمكن أن يكسر شيئاً ما عند الترقية.", 9 | "Insert your custom CSS here …" : "أدخل سكربتات CSS الخاصة بك هنا ...", 10 | "Save" : "حفظ" 11 | }, 12 | "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); 13 | -------------------------------------------------------------------------------- /l10n/ar.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "تمّ الحفظ", 3 | "Error" : "خطأ", 4 | "Custom CSS" : "سكربتات CSS مُخصّصة", 5 | "Adjust the Nextcloud theme with custom CSS" : "إضبط ثيم نكست كلاود عن طريق التخصيص باستخدام CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "يُمكنك تعيين سكربتات CSS الخاصة بك هنا. إنتبه إلى أن هذا يمكن أن يكسر شيئاً ما عند الترقية.", 7 | "Insert your custom CSS here …" : "أدخل سكربتات CSS الخاصة بك هنا ...", 8 | "Save" : "حفظ" 9 | },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" 10 | } -------------------------------------------------------------------------------- /l10n/ast.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardóse", 5 | "Error" : "Error", 6 | "Custom CSS" : "CSS personalizáu", 7 | "Save" : "Guardar" 8 | }, 9 | "nplurals=2; plural=(n != 1);"); 10 | -------------------------------------------------------------------------------- /l10n/ast.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardóse", 3 | "Error" : "Error", 4 | "Custom CSS" : "CSS personalizáu", 5 | "Save" : "Guardar" 6 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 7 | } -------------------------------------------------------------------------------- /l10n/az.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Saxlanıldı", 5 | "Error" : "Səhv", 6 | "Save" : "Saxla" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/az.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Saxlanıldı", 3 | "Error" : "Səhv", 4 | "Save" : "Saxla" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/be.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "Памылка", 5 | "Save" : "Save" 6 | }, 7 | "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); 8 | -------------------------------------------------------------------------------- /l10n/be.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "Памылка", 3 | "Save" : "Save" 4 | },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" 5 | } -------------------------------------------------------------------------------- /l10n/bg.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Записано", 5 | "Error" : "Грешка", 6 | "Custom CSS" : "Персонализиран CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Коригиране на темата на Nextcloud с персонализиран CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Можете да посочите свой собствен CSS тук. Имайте предвид, че това може да повреди нещо след надграждане.", 9 | "Insert your custom CSS here …" : "Вмъкнете своя персонализиран CSS тук ...", 10 | "Save" : "Запиши" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/bg.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Записано", 3 | "Error" : "Грешка", 4 | "Custom CSS" : "Персонализиран CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Коригиране на темата на Nextcloud с персонализиран CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Можете да посочите свой собствен CSS тук. Имайте предвид, че това може да повреди нещо след надграждане.", 7 | "Insert your custom CSS here …" : "Вмъкнете своя персонализиран CSS тук ...", 8 | "Save" : "Запиши" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/bn_BD.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "সংরক্ষণ করা হলো", 5 | "Error" : "সমস্যা", 6 | "Save" : "সংরক্ষণ" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/bn_BD.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "সংরক্ষণ করা হলো", 3 | "Error" : "সমস্যা", 4 | "Save" : "সংরক্ষণ" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/br.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Enrollet", 5 | "Error" : "Fazi", 6 | "Save" : "Enrollañ" 7 | }, 8 | "nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"); 9 | -------------------------------------------------------------------------------- /l10n/br.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Enrollet", 3 | "Error" : "Fazi", 4 | "Save" : "Enrollañ" 5 | },"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);" 6 | } -------------------------------------------------------------------------------- /l10n/bs.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Spremljeno", 5 | "Error" : "Greška", 6 | "Save" : "Spremi" 7 | }, 8 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); 9 | -------------------------------------------------------------------------------- /l10n/bs.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Spremljeno", 3 | "Error" : "Greška", 4 | "Save" : "Spremi" 5 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" 6 | } -------------------------------------------------------------------------------- /l10n/ca.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Desat", 5 | "Error" : "Error", 6 | "Custom CSS" : "CSS personalitzat", 7 | "Adjust the Nextcloud theme with custom CSS" : "Ajusteu el tema Nextcloud amb CSS personalitzat", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Podeu especificar el vostre propi CSS aquí. Tingueu en compte que això podria trencar alguna cosa després d’una actualització.", 9 | "Insert your custom CSS here …" : "Insereix el teu CSS personalitzat aquí …", 10 | "Save" : "Desa" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/ca.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Desat", 3 | "Error" : "Error", 4 | "Custom CSS" : "CSS personalitzat", 5 | "Adjust the Nextcloud theme with custom CSS" : "Ajusteu el tema Nextcloud amb CSS personalitzat", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Podeu especificar el vostre propi CSS aquí. Tingueu en compte que això podria trencar alguna cosa després d’una actualització.", 7 | "Insert your custom CSS here …" : "Insereix el teu CSS personalitzat aquí …", 8 | "Save" : "Desa" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/cs.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Uloženo", 5 | "Error" : "Chyba", 6 | "Custom CSS" : "Uživatelsky určený CSS styl", 7 | "Adjust the Nextcloud theme with custom CSS" : "Upravit motiv vzhledu Nextcloud pomocí uživatelsky určeného CSS stylu", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Svůj vlastní CSS styl je možné zadat sem. Mějte na paměti, že toto může po přechodu na novější verzi něco rozbít.", 9 | "Insert your custom CSS here …" : "Svůj uživatelsky určený CSS styl vložte sem…", 10 | "Save" : "Uložit" 11 | }, 12 | "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"); 13 | -------------------------------------------------------------------------------- /l10n/cs.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Uloženo", 3 | "Error" : "Chyba", 4 | "Custom CSS" : "Uživatelsky určený CSS styl", 5 | "Adjust the Nextcloud theme with custom CSS" : "Upravit motiv vzhledu Nextcloud pomocí uživatelsky určeného CSS stylu", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Svůj vlastní CSS styl je možné zadat sem. Mějte na paměti, že toto může po přechodu na novější verzi něco rozbít.", 7 | "Insert your custom CSS here …" : "Svůj uživatelsky určený CSS styl vložte sem…", 8 | "Save" : "Uložit" 9 | },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" 10 | } -------------------------------------------------------------------------------- /l10n/cy_GB.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Wedi'u cadw", 5 | "Error" : "Gwall", 6 | "Save" : "Cadw" 7 | }, 8 | "nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"); 9 | -------------------------------------------------------------------------------- /l10n/cy_GB.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Wedi'u cadw", 3 | "Error" : "Gwall", 4 | "Save" : "Cadw" 5 | },"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;" 6 | } -------------------------------------------------------------------------------- /l10n/da.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Gemt", 5 | "Error" : "Fejl", 6 | "Save" : "Gem" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/da.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Gemt", 3 | "Error" : "Fejl", 4 | "Save" : "Gem" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/de.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Gespeichert", 5 | "Error" : "Fehler", 6 | "Custom CSS" : "Benutzerdefiniertes CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Passe das Nextcloud-Design mit benutzerdefiniertem CSS an", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Hier kannst du dein eigenes CSS eingeben. Beachte bitte, dass dies nach einem Upgrade zu Fehlern führen kann.", 9 | "Insert your custom CSS here …" : "Gib hier dein eigenes CSS ein …", 10 | "Save" : "Speichern" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/de.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Gespeichert", 3 | "Error" : "Fehler", 4 | "Custom CSS" : "Benutzerdefiniertes CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Passe das Nextcloud-Design mit benutzerdefiniertem CSS an", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Hier kannst du dein eigenes CSS eingeben. Beachte bitte, dass dies nach einem Upgrade zu Fehlern führen kann.", 7 | "Insert your custom CSS here …" : "Gib hier dein eigenes CSS ein …", 8 | "Save" : "Speichern" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/de_DE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Gespeichert", 5 | "Error" : "Fehler", 6 | "Custom CSS" : "Benutzerdefiniertes CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Passen Sie das Nextcloud-Design mit benutzerdefiniertem CSS an", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Hier können Sie Ihr eigenes CSS eingeben. Beachten Sie bitte, dass dies nach einem Upgrade zu Fehlern führen kann.", 9 | "Insert your custom CSS here …" : "Geben Sie hier ihr eigenes CSS ein …", 10 | "Save" : "Speichern" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/de_DE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Gespeichert", 3 | "Error" : "Fehler", 4 | "Custom CSS" : "Benutzerdefiniertes CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Passen Sie das Nextcloud-Design mit benutzerdefiniertem CSS an", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Hier können Sie Ihr eigenes CSS eingeben. Beachten Sie bitte, dass dies nach einem Upgrade zu Fehlern führen kann.", 7 | "Insert your custom CSS here …" : "Geben Sie hier ihr eigenes CSS ein …", 8 | "Save" : "Speichern" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/el.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Αποθηκεύτηκε", 5 | "Error" : "Σφάλμα", 6 | "Save" : "Αποθήκευση" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/el.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Αποθηκεύτηκε", 3 | "Error" : "Σφάλμα", 4 | "Save" : "Αποθήκευση" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/en_GB.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Saved", 5 | "Error" : "Error", 6 | "Custom CSS" : "Custom CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Adjust the Nextcloud theme with custom CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "You can specify your own CSS here. Be aware that this might break something after upgrade.", 9 | "Insert your custom CSS here …" : "Insert your custom CSS here …", 10 | "Save" : "Save" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/en_GB.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Saved", 3 | "Error" : "Error", 4 | "Custom CSS" : "Custom CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Adjust the Nextcloud theme with custom CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "You can specify your own CSS here. Be aware that this might break something after upgrade.", 7 | "Insert your custom CSS here …" : "Insert your custom CSS here …", 8 | "Save" : "Save" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/eo.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Konservita", 5 | "Error" : "Eraro", 6 | "Save" : "Konservi" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/eo.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Konservita", 3 | "Error" : "Eraro", 4 | "Save" : "Konservi" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/es.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Custom CSS" : "CSS personalizado", 7 | "Adjust the Nextcloud theme with custom CSS" : "Ajuste el tema de Nextcloud con CSS personalizado", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Puede especificar su propio código CSS aquí. Tenga en cuenta que esto podría causar problemas con algún componente luego de una actualización.", 9 | "Insert your custom CSS here …" : "Inserte su CSS personalizado aquí...", 10 | "Save" : "Guardar" 11 | }, 12 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 13 | -------------------------------------------------------------------------------- /l10n/es.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Custom CSS" : "CSS personalizado", 5 | "Adjust the Nextcloud theme with custom CSS" : "Ajuste el tema de Nextcloud con CSS personalizado", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Puede especificar su propio código CSS aquí. Tenga en cuenta que esto podría causar problemas con algún componente luego de una actualización.", 7 | "Insert your custom CSS here …" : "Inserte su CSS personalizado aquí...", 8 | "Save" : "Guardar" 9 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 10 | } -------------------------------------------------------------------------------- /l10n/es_419.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_419.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_AR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_AR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_CL.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_CL.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_CO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_CO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_CR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_CR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_DO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_DO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_EC.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Custom CSS" : "CSS personalizado", 7 | "Adjust the Nextcloud theme with custom CSS" : "Ajusta el tema de Nextcloud con CSS personalizado", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Puedes especificar tu propio CSS aquí. Ten en cuenta que esto podría causar problemas después de una actualización.", 9 | "Insert your custom CSS here …" : "Inserta tu CSS personalizado aquí...", 10 | "Save" : "Guardar" 11 | }, 12 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 13 | -------------------------------------------------------------------------------- /l10n/es_EC.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Custom CSS" : "CSS personalizado", 5 | "Adjust the Nextcloud theme with custom CSS" : "Ajusta el tema de Nextcloud con CSS personalizado", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Puedes especificar tu propio CSS aquí. Ten en cuenta que esto podría causar problemas después de una actualización.", 7 | "Insert your custom CSS here …" : "Inserta tu CSS personalizado aquí...", 8 | "Save" : "Guardar" 9 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 10 | } -------------------------------------------------------------------------------- /l10n/es_GT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_GT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_HN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_HN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_MX.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_MX.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_NI.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_NI.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_PA.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_PA.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_PE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_PE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_PR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_PR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_PY.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_PY.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_SV.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_SV.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/es_UY.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Error", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/es_UY.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Error", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/et_EE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Salvestatud", 5 | "Error" : "Viga", 6 | "Custom CSS" : "Kohandatud CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Muuda Nextcloudi teemat kohandatud CSS-i abil", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Siin saad määrata oma CSS-i reeglid. Pane tähele, et see võib pärast uuendust midagi katki teha.", 9 | "Insert your custom CSS here …" : "Sisesta oma kohandatud CSS siia …", 10 | "Save" : "Salvesta" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/et_EE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Salvestatud", 3 | "Error" : "Viga", 4 | "Custom CSS" : "Kohandatud CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Muuda Nextcloudi teemat kohandatud CSS-i abil", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Siin saad määrata oma CSS-i reeglid. Pane tähele, et see võib pärast uuendust midagi katki teha.", 7 | "Insert your custom CSS here …" : "Sisesta oma kohandatud CSS siia …", 8 | "Save" : "Salvesta" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/eu.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Gordeta", 5 | "Error" : "Errorea", 6 | "Custom CSS" : "CSS pertsonalizatua", 7 | "Adjust the Nextcloud theme with custom CSS" : "Nextcloud itxura CSS pertsonalizatuarekin doitu", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Zure CSS zehaztu dezakezu hemen. Kontuan izan eguneratzearen ondoren zerbait hautsi dezakeela horrek.", 9 | "Insert your custom CSS here …" : "Sartu zure CSS pertsonalizatua hemen …", 10 | "Save" : "Gorde" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/eu.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Gordeta", 3 | "Error" : "Errorea", 4 | "Custom CSS" : "CSS pertsonalizatua", 5 | "Adjust the Nextcloud theme with custom CSS" : "Nextcloud itxura CSS pertsonalizatuarekin doitu", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Zure CSS zehaztu dezakezu hemen. Kontuan izan eguneratzearen ondoren zerbait hautsi dezakeela horrek.", 7 | "Insert your custom CSS here …" : "Sartu zure CSS pertsonalizatua hemen …", 8 | "Save" : "Gorde" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/fa.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "دخیره شد", 5 | "Error" : "خطا", 6 | "Custom CSS" : "Custom CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Adjust the Nextcloud theme with custom CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "You can specify your own CSS here. Be aware that this might break something after upgrade.", 9 | "Insert your custom CSS here …" : "Insert your custom CSS here …", 10 | "Save" : "ذخیره" 11 | }, 12 | "nplurals=2; plural=(n > 1);"); 13 | -------------------------------------------------------------------------------- /l10n/fa.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "دخیره شد", 3 | "Error" : "خطا", 4 | "Custom CSS" : "Custom CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Adjust the Nextcloud theme with custom CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "You can specify your own CSS here. Be aware that this might break something after upgrade.", 7 | "Insert your custom CSS here …" : "Insert your custom CSS here …", 8 | "Save" : "ذخیره" 9 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 10 | } -------------------------------------------------------------------------------- /l10n/fi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Tallennettu", 5 | "Error" : "Virhe", 6 | "Save" : "Tallenna" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/fi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Tallennettu", 3 | "Error" : "Virhe", 4 | "Save" : "Tallenna" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/fo.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Goymt" 5 | }, 6 | "nplurals=2; plural=(n != 1);"); 7 | -------------------------------------------------------------------------------- /l10n/fo.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Goymt" 3 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 4 | } -------------------------------------------------------------------------------- /l10n/fr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Enregistré", 5 | "Error" : "Erreur", 6 | "Custom CSS" : "CSS personnalisé", 7 | "Adjust the Nextcloud theme with custom CSS" : "Adaptez le thème Nextcloud avec du CSS personnalisé", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Vous pouvez spécifier votre propre CSS ici. Soyez conscient que cela peut casser quelque chose après la mise à jour.", 9 | "Insert your custom CSS here …" : "Ajoutez votre CSS personnalisé ici ...", 10 | "Save" : "Enregistrer" 11 | }, 12 | "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 13 | -------------------------------------------------------------------------------- /l10n/fr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Enregistré", 3 | "Error" : "Erreur", 4 | "Custom CSS" : "CSS personnalisé", 5 | "Adjust the Nextcloud theme with custom CSS" : "Adaptez le thème Nextcloud avec du CSS personnalisé", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Vous pouvez spécifier votre propre CSS ici. Soyez conscient que cela peut casser quelque chose après la mise à jour.", 7 | "Insert your custom CSS here …" : "Ajoutez votre CSS personnalisé ici ...", 8 | "Save" : "Enregistrer" 9 | },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 10 | } -------------------------------------------------------------------------------- /l10n/ga.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Shábháil", 5 | "Error" : "Earráid", 6 | "Custom CSS" : "CSS saincheaptha", 7 | "Adjust the Nextcloud theme with custom CSS" : "Coigeartaigh an téama Nextcloud le CSS saincheaptha", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Is féidir leat do CSS féin a shonrú anseo. Bí ar an eolas go bhféadfadh sé seo rud éigin a bhriseadh tar éis uasghrádú.", 9 | "Insert your custom CSS here …" : "Cuir isteach do CSS saincheaptha anseo ...", 10 | "Save" : "Sábháil" 11 | }, 12 | "nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"); 13 | -------------------------------------------------------------------------------- /l10n/ga.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Shábháil", 3 | "Error" : "Earráid", 4 | "Custom CSS" : "CSS saincheaptha", 5 | "Adjust the Nextcloud theme with custom CSS" : "Coigeartaigh an téama Nextcloud le CSS saincheaptha", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Is féidir leat do CSS féin a shonrú anseo. Bí ar an eolas go bhféadfadh sé seo rud éigin a bhriseadh tar éis uasghrádú.", 7 | "Insert your custom CSS here …" : "Cuir isteach do CSS saincheaptha anseo ...", 8 | "Save" : "Sábháil" 9 | },"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);" 10 | } -------------------------------------------------------------------------------- /l10n/gd.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "Mearachd", 5 | "Save" : "Sàbhail" 6 | }, 7 | "nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;"); 8 | -------------------------------------------------------------------------------- /l10n/gd.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "Mearachd", 3 | "Save" : "Sàbhail" 4 | },"pluralForm" :"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;" 5 | } -------------------------------------------------------------------------------- /l10n/gl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Gardado", 5 | "Error" : "Erro", 6 | "Custom CSS" : "CSS personalizado", 7 | "Adjust the Nextcloud theme with custom CSS" : "Axustar o tema de Nextcloud cun CSS personalizado", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Pode especificar aquí o seu propio CSS. Teña en conta que isto pode rachar algo após a actualización.", 9 | "Insert your custom CSS here …" : "Insira aquí o seu CSS personalizado…", 10 | "Save" : "Gardar" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/gl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Gardado", 3 | "Error" : "Erro", 4 | "Custom CSS" : "CSS personalizado", 5 | "Adjust the Nextcloud theme with custom CSS" : "Axustar o tema de Nextcloud cun CSS personalizado", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Pode especificar aquí o seu propio CSS. Teña en conta que isto pode rachar algo após a actualización.", 7 | "Insert your custom CSS here …" : "Insira aquí o seu CSS personalizado…", 8 | "Save" : "Gardar" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/he.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "נשמרה", 5 | "Error" : "שגיאה", 6 | "Save" : "שמירה" 7 | }, 8 | "nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"); 9 | -------------------------------------------------------------------------------- /l10n/he.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "נשמרה", 3 | "Error" : "שגיאה", 4 | "Save" : "שמירה" 5 | },"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;" 6 | } -------------------------------------------------------------------------------- /l10n/hi_IN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "सहेजा गया" 5 | }, 6 | "nplurals=2; plural=(n != 1);"); 7 | -------------------------------------------------------------------------------- /l10n/hi_IN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "सहेजा गया" 3 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 4 | } -------------------------------------------------------------------------------- /l10n/hr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Spremljeno", 5 | "Error" : "Pogreška", 6 | "Save" : "Spremi" 7 | }, 8 | "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/hr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Spremljeno", 3 | "Error" : "Pogreška", 4 | "Save" : "Spremi" 5 | },"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/hu.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Mentve", 5 | "Error" : "Hiba", 6 | "Custom CSS" : "Egyéni CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "A Nextcloud témájának módosítása egyéni CSS-sel", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Itt megadhatja a saját CSS-ét. Vegye figyelembe, hogy frissítés után hibát is okozhat.", 9 | "Insert your custom CSS here …" : "Itt adja meg az egyéni CSS-ét…", 10 | "Save" : "Mentés" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/hu.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Mentve", 3 | "Error" : "Hiba", 4 | "Custom CSS" : "Egyéni CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "A Nextcloud témájának módosítása egyéni CSS-sel", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Itt megadhatja a saját CSS-ét. Vegye figyelembe, hogy frissítés után hibát is okozhat.", 7 | "Insert your custom CSS here …" : "Itt adja meg az egyéni CSS-ét…", 8 | "Save" : "Mentés" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/hy.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Պահված", 5 | "Error" : "Սխալ", 6 | "Custom CSS" : "Հատուկ CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Հարմարեցնել Nextcloud տեսքը հատուկ CSS֊ի միջոցով", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Կարող եք ընտրել ձեր սեփական CSS֊ն այստեղ։ Պետք է իմանալ, որ վերազինումից հետո հնարավոր է, որ որոշ բաներ չեն աշխատի։", 9 | "Insert your custom CSS here …" : "Ներմուծել հատուկ CSS֊ն այստեղ ...", 10 | "Save" : "Պահպանել" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/hy.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Պահված", 3 | "Error" : "Սխալ", 4 | "Custom CSS" : "Հատուկ CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Հարմարեցնել Nextcloud տեսքը հատուկ CSS֊ի միջոցով", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Կարող եք ընտրել ձեր սեփական CSS֊ն այստեղ։ Պետք է իմանալ, որ վերազինումից հետո հնարավոր է, որ որոշ բաներ չեն աշխատի։", 7 | "Insert your custom CSS here …" : "Ներմուծել հատուկ CSS֊ն այստեղ ...", 8 | "Save" : "Պահպանել" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/ia.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Salveguardate", 5 | "Error" : "Error", 6 | "Save" : "Salveguardar" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/ia.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Salveguardate", 3 | "Error" : "Error", 4 | "Save" : "Salveguardar" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/id.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Disimpan", 5 | "Error" : "Galat", 6 | "Save" : "Simpan" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /l10n/id.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Disimpan", 3 | "Error" : "Galat", 4 | "Save" : "Simpan" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /l10n/is.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Vistað", 5 | "Error" : "Villa", 6 | "Custom CSS" : "Sérsniðið CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Laga Nextcloud-þema með sérsniðnu CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Þú getur tilgreint þitt eigið CSS hér. Athugaðu að það getur skemmt eitthvað eftir uppfærslu.", 9 | "Insert your custom CSS here …" : "Settu hér inn sérsniðið CSS …", 10 | "Save" : "Vista" 11 | }, 12 | "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); 13 | -------------------------------------------------------------------------------- /l10n/is.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Vistað", 3 | "Error" : "Villa", 4 | "Custom CSS" : "Sérsniðið CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Laga Nextcloud-þema með sérsniðnu CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Þú getur tilgreint þitt eigið CSS hér. Athugaðu að það getur skemmt eitthvað eftir uppfærslu.", 7 | "Insert your custom CSS here …" : "Settu hér inn sérsniðið CSS …", 8 | "Save" : "Vista" 9 | },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" 10 | } -------------------------------------------------------------------------------- /l10n/it.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Salvato", 5 | "Error" : "Errore", 6 | "Save" : "Salva" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/it.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Salvato", 3 | "Error" : "Errore", 4 | "Save" : "Salva" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/ja.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "保存しました", 5 | "Error" : "エラー", 6 | "Custom CSS" : "カスタムCSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "NextcloudテーマをカスタムCSSで調整する", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "ここで独自の CSS を指定できます。これにより、アップグレード後に何かが壊れる可能性があることに注意してください。", 9 | "Insert your custom CSS here …" : "ここにカスタムCSSを追加してください ...", 10 | "Save" : "保存" 11 | }, 12 | "nplurals=1; plural=0;"); 13 | -------------------------------------------------------------------------------- /l10n/ja.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "保存しました", 3 | "Error" : "エラー", 4 | "Custom CSS" : "カスタムCSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "NextcloudテーマをカスタムCSSで調整する", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "ここで独自の CSS を指定できます。これにより、アップグレード後に何かが壊れる可能性があることに注意してください。", 7 | "Insert your custom CSS here …" : "ここにカスタムCSSを追加してください ...", 8 | "Save" : "保存" 9 | },"pluralForm" :"nplurals=1; plural=0;" 10 | } -------------------------------------------------------------------------------- /l10n/ka.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Saved", 5 | "Error" : "Error", 6 | "Save" : "Save" 7 | }, 8 | "nplurals=2; plural=(n!=1);"); 9 | -------------------------------------------------------------------------------- /l10n/ka.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Saved", 3 | "Error" : "Error", 4 | "Save" : "Save" 5 | },"pluralForm" :"nplurals=2; plural=(n!=1);" 6 | } -------------------------------------------------------------------------------- /l10n/ka_GE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "შენახულია", 5 | "Error" : "შეცდომა", 6 | "Save" : "შენახვა" 7 | }, 8 | "nplurals=2; plural=(n!=1);"); 9 | -------------------------------------------------------------------------------- /l10n/ka_GE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "შენახულია", 3 | "Error" : "შეცდომა", 4 | "Save" : "შენახვა" 5 | },"pluralForm" :"nplurals=2; plural=(n!=1);" 6 | } -------------------------------------------------------------------------------- /l10n/kab.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "Erreur", 5 | "Save" : "Sekles" 6 | }, 7 | "nplurals=2; plural=(n != 1);"); 8 | -------------------------------------------------------------------------------- /l10n/kab.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "Erreur", 3 | "Save" : "Sekles" 4 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 5 | } -------------------------------------------------------------------------------- /l10n/km.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "បាន​រក្សាទុក", 5 | "Error" : "កំហុស", 6 | "Save" : "រក្សាទុក" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /l10n/km.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "បាន​រក្សាទុក", 3 | "Error" : "កំហុស", 4 | "Save" : "រក្សាទុក" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /l10n/kn.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "ಉಳಿಸಿದ", 5 | "Error" : "ತಪ್ಪಾಗಿದೆ", 6 | "Save" : "ಉಳಿಸಿ" 7 | }, 8 | "nplurals=2; plural=(n > 1);"); 9 | -------------------------------------------------------------------------------- /l10n/kn.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "ಉಳಿಸಿದ", 3 | "Error" : "ತಪ್ಪಾಗಿದೆ", 4 | "Save" : "ಉಳಿಸಿ" 5 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 6 | } -------------------------------------------------------------------------------- /l10n/ko.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "저장됨", 5 | "Error" : "오류", 6 | "Adjust the Nextcloud theme with custom CSS" : "사용자 정의 CSS를 통해 이 Nextcloud의 테마를 수정하기", 7 | "Save" : "저장" 8 | }, 9 | "nplurals=1; plural=0;"); 10 | -------------------------------------------------------------------------------- /l10n/ko.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "저장됨", 3 | "Error" : "오류", 4 | "Adjust the Nextcloud theme with custom CSS" : "사용자 정의 CSS를 통해 이 Nextcloud의 테마를 수정하기", 5 | "Save" : "저장" 6 | },"pluralForm" :"nplurals=1; plural=0;" 7 | } -------------------------------------------------------------------------------- /l10n/lb.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Gespäichert", 5 | "Error" : "Fehler", 6 | "Save" : "Späicheren" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/lb.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Gespäichert", 3 | "Error" : "Fehler", 4 | "Save" : "Späicheren" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/lo.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "ຜິດພາດ", 5 | "Save" : "ບັນທຶກ" 6 | }, 7 | "nplurals=1; plural=0;"); 8 | -------------------------------------------------------------------------------- /l10n/lo.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "ຜິດພາດ", 3 | "Save" : "ບັນທຶກ" 4 | },"pluralForm" :"nplurals=1; plural=0;" 5 | } -------------------------------------------------------------------------------- /l10n/lt_LT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Įrašyta", 5 | "Error" : "Klaida", 6 | "Save" : "Įrašyti" 7 | }, 8 | "nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"); 9 | -------------------------------------------------------------------------------- /l10n/lt_LT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Įrašyta", 3 | "Error" : "Klaida", 4 | "Save" : "Įrašyti" 5 | },"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);" 6 | } -------------------------------------------------------------------------------- /l10n/lv.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Saglabāts", 5 | "Error" : "Kļūda", 6 | "Save" : "Saglabāt" 7 | }, 8 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); 9 | -------------------------------------------------------------------------------- /l10n/lv.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Saglabāts", 3 | "Error" : "Kļūda", 4 | "Save" : "Saglabāt" 5 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" 6 | } -------------------------------------------------------------------------------- /l10n/mk.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Зачувано", 5 | "Error" : "Грешка", 6 | "Save" : "Зачувај" 7 | }, 8 | "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); 9 | -------------------------------------------------------------------------------- /l10n/mk.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Зачувано", 3 | "Error" : "Грешка", 4 | "Save" : "Зачувај" 5 | },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" 6 | } -------------------------------------------------------------------------------- /l10n/mn.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Хадгалах", 5 | "Error" : "Алдаа", 6 | "Save" : "Хадгалах" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/mn.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Хадгалах", 3 | "Error" : "Алдаа", 4 | "Save" : "Хадгалах" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/ms_MY.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Disimpan", 5 | "Error" : "Ralat", 6 | "Save" : "Simpan" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /l10n/ms_MY.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Disimpan", 3 | "Error" : "Ralat", 4 | "Save" : "Simpan" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /l10n/nb.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Lagret", 5 | "Error" : "Feil", 6 | "Custom CSS" : "Tilpasset CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Juster Nextcloud-temaet med tilpasset CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Du kan spesifisere din egen CSS her. Vær oppmerksom på at dette kan ødelegge noe etter oppgraderingen.", 9 | "Insert your custom CSS here …" : "Sett inn din tilpasset CSS her...", 10 | "Save" : "Lagre" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/nb.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Lagret", 3 | "Error" : "Feil", 4 | "Custom CSS" : "Tilpasset CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Juster Nextcloud-temaet med tilpasset CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Du kan spesifisere din egen CSS her. Vær oppmerksom på at dette kan ødelegge noe etter oppgraderingen.", 7 | "Insert your custom CSS here …" : "Sett inn din tilpasset CSS her...", 8 | "Save" : "Lagre" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/nl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Opgeslagen", 5 | "Error" : "Fout", 6 | "Adjust the Nextcloud theme with custom CSS" : "Pas het Nextcloud thema aan met aangepaste CSS", 7 | "Save" : "Opslaan" 8 | }, 9 | "nplurals=2; plural=(n != 1);"); 10 | -------------------------------------------------------------------------------- /l10n/nl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Opgeslagen", 3 | "Error" : "Fout", 4 | "Adjust the Nextcloud theme with custom CSS" : "Pas het Nextcloud thema aan met aangepaste CSS", 5 | "Save" : "Opslaan" 6 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 7 | } -------------------------------------------------------------------------------- /l10n/nn_NO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Lagra", 5 | "Error" : "Feil", 6 | "Save" : "Lagre" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/nn_NO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Lagra", 3 | "Error" : "Feil", 4 | "Save" : "Lagre" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/oc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Enregistrat", 5 | "Error" : "Error", 6 | "Save" : "Enregistrar" 7 | }, 8 | "nplurals=2; plural=(n > 1);"); 9 | -------------------------------------------------------------------------------- /l10n/oc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Enregistrat", 3 | "Error" : "Error", 4 | "Save" : "Enregistrar" 5 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 6 | } -------------------------------------------------------------------------------- /l10n/pl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Zapisano", 5 | "Error" : "Błąd", 6 | "Custom CSS" : "Niestandardowe CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Dostosuj motyw Nextcloud za pomocą niestandardowego CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Tutaj możesz określić swój własny CSS. Pamiętaj, że po aktualizacji może to coś zepsuć.", 9 | "Insert your custom CSS here …" : "Wstaw tutaj swój niestandardowy CSS…", 10 | "Save" : "Zapisz" 11 | }, 12 | "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); 13 | -------------------------------------------------------------------------------- /l10n/pl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Zapisano", 3 | "Error" : "Błąd", 4 | "Custom CSS" : "Niestandardowe CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Dostosuj motyw Nextcloud za pomocą niestandardowego CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Tutaj możesz określić swój własny CSS. Pamiętaj, że po aktualizacji może to coś zepsuć.", 7 | "Insert your custom CSS here …" : "Wstaw tutaj swój niestandardowy CSS…", 8 | "Save" : "Zapisz" 9 | },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" 10 | } -------------------------------------------------------------------------------- /l10n/ps.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "شسیب", 5 | "Save" : "ساتل" 6 | }, 7 | "nplurals=2; plural=(n != 1);"); 8 | -------------------------------------------------------------------------------- /l10n/ps.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "شسیب", 3 | "Save" : "ساتل" 4 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 5 | } -------------------------------------------------------------------------------- /l10n/pt_BR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Salvo", 5 | "Error" : "Erro", 6 | "Custom CSS" : "CSS customizado", 7 | "Adjust the Nextcloud theme with custom CSS" : "Ajuste o tema Nextcloud com CSS customizado", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Você pode especificar seu próprio CSS aqui. Esteja ciente de que isso pode quebrar algo após a atualização.", 9 | "Insert your custom CSS here …" : "Insira seu CSS customizado aqui…", 10 | "Save" : "Salvar" 11 | }, 12 | "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 13 | -------------------------------------------------------------------------------- /l10n/pt_BR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Salvo", 3 | "Error" : "Erro", 4 | "Custom CSS" : "CSS customizado", 5 | "Adjust the Nextcloud theme with custom CSS" : "Ajuste o tema Nextcloud com CSS customizado", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Você pode especificar seu próprio CSS aqui. Esteja ciente de que isso pode quebrar algo após a atualização.", 7 | "Insert your custom CSS here …" : "Insira seu CSS customizado aqui…", 8 | "Save" : "Salvar" 9 | },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 10 | } -------------------------------------------------------------------------------- /l10n/pt_PT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Guardado", 5 | "Error" : "Erro", 6 | "Save" : "Guardar" 7 | }, 8 | "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/pt_PT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Guardado", 3 | "Error" : "Erro", 4 | "Save" : "Guardar" 5 | },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/ro.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Salvat", 5 | "Error" : "Eroare", 6 | "Save" : "Salvează" 7 | }, 8 | "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); 9 | -------------------------------------------------------------------------------- /l10n/ro.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Salvat", 3 | "Error" : "Eroare", 4 | "Save" : "Salvează" 5 | },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" 6 | } -------------------------------------------------------------------------------- /l10n/ru.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Сохранённые", 5 | "Error" : "Ошибка", 6 | "Custom CSS" : "Пользовательские правила CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Настройте внешний вид Nextcloud с помощью пользовательских правил CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Тут вы можете указать собственные правила CSS. Будьте осторожны - они могут сломать что-нибудь после апгрейда.", 9 | "Insert your custom CSS here …" : "Вставьте пользовательские правила CSS сюда...", 10 | "Save" : "Сохранить" 11 | }, 12 | "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); 13 | -------------------------------------------------------------------------------- /l10n/ru.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Сохранённые", 3 | "Error" : "Ошибка", 4 | "Custom CSS" : "Пользовательские правила CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Настройте внешний вид Nextcloud с помощью пользовательских правил CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Тут вы можете указать собственные правила CSS. Будьте осторожны - они могут сломать что-нибудь после апгрейда.", 7 | "Insert your custom CSS here …" : "Вставьте пользовательские правила CSS сюда...", 8 | "Save" : "Сохранить" 9 | },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" 10 | } -------------------------------------------------------------------------------- /l10n/sc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Sarvadu", 5 | "Error" : "Errore", 6 | "Save" : "Sarva" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/sc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Sarvadu", 3 | "Error" : "Errore", 4 | "Save" : "Sarva" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/si.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "දෝෂය", 5 | "Save" : "සුරකින්න" 6 | }, 7 | "nplurals=2; plural=(n != 1);"); 8 | -------------------------------------------------------------------------------- /l10n/si.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "දෝෂය", 3 | "Save" : "සුරකින්න" 4 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 5 | } -------------------------------------------------------------------------------- /l10n/sk.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Uložené", 5 | "Error" : "Chyba", 6 | "Custom CSS" : "Vlastné CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Vylepšiť motív vzhľadu Nextcloudu s vlastným CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Sem môžete zadať svoj vlastný CSS. Uvedomte si, že to môže po aktualizácii niečo rozbiť.", 9 | "Insert your custom CSS here …" : "Sem vložte vaše vlastné CSS...", 10 | "Save" : "Uložiť" 11 | }, 12 | "nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"); 13 | -------------------------------------------------------------------------------- /l10n/sk.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Uložené", 3 | "Error" : "Chyba", 4 | "Custom CSS" : "Vlastné CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Vylepšiť motív vzhľadu Nextcloudu s vlastným CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Sem môžete zadať svoj vlastný CSS. Uvedomte si, že to môže po aktualizácii niečo rozbiť.", 7 | "Insert your custom CSS here …" : "Sem vložte vaše vlastné CSS...", 8 | "Save" : "Uložiť" 9 | },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" 10 | } -------------------------------------------------------------------------------- /l10n/sl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Shranjeno", 5 | "Error" : "Napaka", 6 | "Save" : "Shrani" 7 | }, 8 | "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); 9 | -------------------------------------------------------------------------------- /l10n/sl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Shranjeno", 3 | "Error" : "Napaka", 4 | "Save" : "Shrani" 5 | },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" 6 | } -------------------------------------------------------------------------------- /l10n/sq.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Ruajtur", 5 | "Error" : "Gabim", 6 | "Save" : "Ruaj" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/sq.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Ruajtur", 3 | "Error" : "Gabim", 4 | "Save" : "Ruaj" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/sr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Сачувано", 5 | "Error" : "Грешка", 6 | "Custom CSS" : "Прилагођени CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Подесите Nextcloud тему прилагођеним CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Овде можете да наведете свој CSS. Водите рачуна да ово може покварити нешто након ажурирања.", 9 | "Insert your custom CSS here …" : "Уметните овде свој прилагођени CSS …", 10 | "Save" : "Сачувај" 11 | }, 12 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); 13 | -------------------------------------------------------------------------------- /l10n/sr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Сачувано", 3 | "Error" : "Грешка", 4 | "Custom CSS" : "Прилагођени CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Подесите Nextcloud тему прилагођеним CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Овде можете да наведете свој CSS. Водите рачуна да ово може покварити нешто након ажурирања.", 7 | "Insert your custom CSS here …" : "Уметните овде свој прилагођени CSS …", 8 | "Save" : "Сачувај" 9 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" 10 | } -------------------------------------------------------------------------------- /l10n/sr@latin.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "Error", 5 | "Save" : "Sačuvaj" 6 | }, 7 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); 8 | -------------------------------------------------------------------------------- /l10n/sr@latin.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "Error", 3 | "Save" : "Sačuvaj" 4 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" 5 | } -------------------------------------------------------------------------------- /l10n/sv.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Sparat", 5 | "Error" : "Fel", 6 | "Save" : "Spara" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/sv.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Sparat", 3 | "Error" : "Fel", 4 | "Save" : "Spara" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/ta.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "வழு", 5 | "Save" : "சேமிக்க " 6 | }, 7 | "nplurals=2; plural=(n != 1);"); 8 | -------------------------------------------------------------------------------- /l10n/ta.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "வழு", 3 | "Save" : "சேமிக்க " 4 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 5 | } -------------------------------------------------------------------------------- /l10n/th.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "บันทึกแล้ว", 5 | "Error" : "ข้อผิดพลาด", 6 | "Save" : "บันทึก" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /l10n/th.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "บันทึกแล้ว", 3 | "Error" : "ข้อผิดพลาด", 4 | "Save" : "บันทึก" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /l10n/tk.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "ýalňyşlyk", 5 | "Save" : "Saklamak" 6 | }, 7 | "nplurals=2; plural=(n != 1);"); 8 | -------------------------------------------------------------------------------- /l10n/tk.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "ýalňyşlyk", 3 | "Save" : "Saklamak" 4 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 5 | } -------------------------------------------------------------------------------- /l10n/tr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Kaydedildi", 5 | "Error" : "Hata", 6 | "Custom CSS" : "Özel CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Nextcloud temasını özel CSS ile ayarlayın", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Özel CSS kodunu buraya yazabilirsiniz. Yaptığınız değişikliklerin yükseltme işlemi sonrası bir şeyleri çalışmaz kılabileceğini unutmayın.", 9 | "Insert your custom CSS here …" : "Özel CSS kodunuzu buraya yazın…", 10 | "Save" : "Kaydet" 11 | }, 12 | "nplurals=2; plural=(n > 1);"); 13 | -------------------------------------------------------------------------------- /l10n/tr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Kaydedildi", 3 | "Error" : "Hata", 4 | "Custom CSS" : "Özel CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Nextcloud temasını özel CSS ile ayarlayın", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Özel CSS kodunu buraya yazabilirsiniz. Yaptığınız değişikliklerin yükseltme işlemi sonrası bir şeyleri çalışmaz kılabileceğini unutmayın.", 7 | "Insert your custom CSS here …" : "Özel CSS kodunuzu buraya yazın…", 8 | "Save" : "Kaydet" 9 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 10 | } -------------------------------------------------------------------------------- /l10n/ug.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "ساقلاندى", 5 | "Error" : "خاتالىق", 6 | "Custom CSS" : "Custom CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Nextcloud تېمىسىنى ئىختىيارى CSS بىلەن تەڭشەڭ", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "بۇ يەردە ئۆزىڭىزنىڭ CSS نى بەلگىلىيەلەيسىز. يېڭىلانغاندىن كېيىن بۇنىڭ بىر نەرسە بۇزۇلۇشى مۇمكىنلىكىگە دىققەت قىلىڭ.", 9 | "Insert your custom CSS here …" : "ئىختىيارى CSS نى بۇ يەرگە قىستۇرۇڭ…", 10 | "Save" : "ساقلا" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/ug.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "ساقلاندى", 3 | "Error" : "خاتالىق", 4 | "Custom CSS" : "Custom CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Nextcloud تېمىسىنى ئىختىيارى CSS بىلەن تەڭشەڭ", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "بۇ يەردە ئۆزىڭىزنىڭ CSS نى بەلگىلىيەلەيسىز. يېڭىلانغاندىن كېيىن بۇنىڭ بىر نەرسە بۇزۇلۇشى مۇمكىنلىكىگە دىققەت قىلىڭ.", 7 | "Insert your custom CSS here …" : "ئىختىيارى CSS نى بۇ يەرگە قىستۇرۇڭ…", 8 | "Save" : "ساقلا" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/uk.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Збережено", 5 | "Error" : "Помилка", 6 | "Custom CSS" : "Користувацький CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Налаштуйте тему Nextcloud за допомогою користувацбкого CSS", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Ви можете вказати свій власний CSS тут. Майте на увазі, що це може призвести до поломки після оновлення.", 9 | "Insert your custom CSS here …" : "Вставте свій CSS тут…", 10 | "Save" : "Зберегти" 11 | }, 12 | "nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"); 13 | -------------------------------------------------------------------------------- /l10n/uk.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Збережено", 3 | "Error" : "Помилка", 4 | "Custom CSS" : "Користувацький CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Налаштуйте тему Nextcloud за допомогою користувацбкого CSS", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Ви можете вказати свій власний CSS тут. Майте на увазі, що це може призвести до поломки після оновлення.", 7 | "Insert your custom CSS here …" : "Вставте свій CSS тут…", 8 | "Save" : "Зберегти" 9 | },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);" 10 | } -------------------------------------------------------------------------------- /l10n/ur_PK.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Error" : "ایرر", 5 | "Save" : "حفظ" 6 | }, 7 | "nplurals=2; plural=(n != 1);"); 8 | -------------------------------------------------------------------------------- /l10n/ur_PK.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Error" : "ایرر", 3 | "Save" : "حفظ" 4 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 5 | } -------------------------------------------------------------------------------- /l10n/uz.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Saqlangan", 5 | "Error" : "Xatolik", 6 | "Custom CSS" : "Boshqa CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Keyingi bulut mavzusini maxsus CSS yordamida sozlang", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Siz bu erda o'z CSS ko'rsatish mumkin. Shuni yodda tutingki, bu yangilanishdan keyin biror narsani buzishi mumkin.", 9 | "Insert your custom CSS here …" : "Bu yerda maxsus CSS joylashtiring …", 10 | "Save" : "Saqlash" 11 | }, 12 | "nplurals=1; plural=0;"); 13 | -------------------------------------------------------------------------------- /l10n/uz.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Saqlangan", 3 | "Error" : "Xatolik", 4 | "Custom CSS" : "Boshqa CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Keyingi bulut mavzusini maxsus CSS yordamida sozlang", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Siz bu erda o'z CSS ko'rsatish mumkin. Shuni yodda tutingki, bu yangilanishdan keyin biror narsani buzishi mumkin.", 7 | "Insert your custom CSS here …" : "Bu yerda maxsus CSS joylashtiring …", 8 | "Save" : "Saqlash" 9 | },"pluralForm" :"nplurals=1; plural=0;" 10 | } -------------------------------------------------------------------------------- /l10n/vi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "Đã lưu", 5 | "Error" : "Lỗi", 6 | "Custom CSS" : "Tùy chỉnh CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "Điều chỉnh chủ đề Nextcloud bằng CSS tùy chỉnh", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Bạn có thể chỉ định CSS của riêng mình tại đây. Xin lưu ý rằng điều này có thể làm hỏng thứ gì đó sau khi nâng cấp.", 9 | "Insert your custom CSS here …" : "Chèn CSS tùy chỉnh của bạn vào đây…", 10 | "Save" : "Lưu" 11 | }, 12 | "nplurals=1; plural=0;"); 13 | -------------------------------------------------------------------------------- /l10n/vi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "Đã lưu", 3 | "Error" : "Lỗi", 4 | "Custom CSS" : "Tùy chỉnh CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "Điều chỉnh chủ đề Nextcloud bằng CSS tùy chỉnh", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "Bạn có thể chỉ định CSS của riêng mình tại đây. Xin lưu ý rằng điều này có thể làm hỏng thứ gì đó sau khi nâng cấp.", 7 | "Insert your custom CSS here …" : "Chèn CSS tùy chỉnh của bạn vào đây…", 8 | "Save" : "Lưu" 9 | },"pluralForm" :"nplurals=1; plural=0;" 10 | } -------------------------------------------------------------------------------- /l10n/zh_CN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "已保存", 5 | "Error" : "错误", 6 | "Custom CSS" : "自定义CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "使用自定义 CSS 调整 Nextcloud 主题", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "您可以在此指定自定义 CSS。请注意,这可能会在升级后导致故障。", 9 | "Insert your custom CSS here …" : "在此插入您的自定义 CSS…", 10 | "Save" : "保存" 11 | }, 12 | "nplurals=1; plural=0;"); 13 | -------------------------------------------------------------------------------- /l10n/zh_CN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "已保存", 3 | "Error" : "错误", 4 | "Custom CSS" : "自定义CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "使用自定义 CSS 调整 Nextcloud 主题", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "您可以在此指定自定义 CSS。请注意,这可能会在升级后导致故障。", 7 | "Insert your custom CSS here …" : "在此插入您的自定义 CSS…", 8 | "Save" : "保存" 9 | },"pluralForm" :"nplurals=1; plural=0;" 10 | } -------------------------------------------------------------------------------- /l10n/zh_HK.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "已保存", 5 | "Error" : "錯誤", 6 | "Custom CSS" : "自訂 CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "使用自訂 CSS 調整 Nextcloud 佈景主題", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "您可以在此指定您自己的 CSS。請注意,這可能會導致升級後出現故障。", 9 | "Insert your custom CSS here …" : "在此插入您的自訂 CSS……", 10 | "Save" : "保存" 11 | }, 12 | "nplurals=1; plural=0;"); 13 | -------------------------------------------------------------------------------- /l10n/zh_HK.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "已保存", 3 | "Error" : "錯誤", 4 | "Custom CSS" : "自訂 CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "使用自訂 CSS 調整 Nextcloud 佈景主題", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "您可以在此指定您自己的 CSS。請注意,這可能會導致升級後出現故障。", 7 | "Insert your custom CSS here …" : "在此插入您的自訂 CSS……", 8 | "Save" : "保存" 9 | },"pluralForm" :"nplurals=1; plural=0;" 10 | } -------------------------------------------------------------------------------- /l10n/zh_TW.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "theming_customcss", 3 | { 4 | "Saved" : "已儲存", 5 | "Error" : "錯誤", 6 | "Custom CSS" : "自訂 CSS", 7 | "Adjust the Nextcloud theme with custom CSS" : "使用自訂 CSS 調整 Nextcloud 佈景主題", 8 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "您可以在此指定您自己的 CSS。請注意,這可能會在升級後弄壞一些東西。", 9 | "Insert your custom CSS here …" : "在此插入您的自訂 CSS……", 10 | "Save" : "儲存" 11 | }, 12 | "nplurals=1; plural=0;"); 13 | -------------------------------------------------------------------------------- /l10n/zh_TW.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Saved" : "已儲存", 3 | "Error" : "錯誤", 4 | "Custom CSS" : "自訂 CSS", 5 | "Adjust the Nextcloud theme with custom CSS" : "使用自訂 CSS 調整 Nextcloud 佈景主題", 6 | "You can specify your own CSS here. Be aware that this might break something after upgrade." : "您可以在此指定您自己的 CSS。請注意,這可能會在升級後弄壞一些東西。", 7 | "Insert your custom CSS here …" : "在此插入您的自訂 CSS……", 8 | "Save" : "儲存" 9 | },"pluralForm" :"nplurals=1; plural=0;" 10 | } -------------------------------------------------------------------------------- /lib/AppInfo/Application.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * @author Julius Härtl 6 | * 7 | * @license GNU AGPL version 3 or any later version 8 | * 9 | * This program is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU Affero General Public License as 11 | * published by the Free Software Foundation, either version 3 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License 20 | * along with this program. If not, see . 21 | * 22 | */ 23 | 24 | declare(strict_types=1); 25 | 26 | 27 | namespace OCA\ThemingCustomCss\AppInfo; 28 | 29 | use OCA\ThemingCustomCss\Listeners\BeforeTemplateRenderedListener; 30 | use OCP\AppFramework\App; 31 | use OCP\AppFramework\Bootstrap\IBootContext; 32 | use OCP\AppFramework\Bootstrap\IBootstrap; 33 | use OCP\AppFramework\Bootstrap\IRegistrationContext; 34 | use OCP\AppFramework\Http\Events\BeforeLoginTemplateRenderedEvent; 35 | use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; 36 | 37 | class Application extends App implements IBootstrap { 38 | 39 | public const APP_ID = 'theming_customcss'; 40 | 41 | public function __construct() { 42 | parent::__construct(self::APP_ID); 43 | } 44 | 45 | public function register(IRegistrationContext $context): void { 46 | $context->registerEventListener(BeforeTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class); 47 | $context->registerEventListener(BeforeLoginTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class); 48 | 49 | } 50 | 51 | public function boot(IBootContext $context): void { 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /lib/Controller/ThemingController.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * @author Julius Härtl 6 | * 7 | * @license GNU AGPL version 3 or any later version 8 | * 9 | * This program is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU Affero General Public License as 11 | * published by the Free Software Foundation, either version 3 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License 20 | * along with this program. If not, see . 21 | * 22 | */ 23 | 24 | namespace OCA\ThemingCustomCss\Controller; 25 | 26 | use OCP\AppFramework\Controller; 27 | use OCP\AppFramework\Http; 28 | use OCP\AppFramework\Http\DataDisplayResponse; 29 | use OCP\AppFramework\Http\NotFoundResponse; 30 | use OCP\AppFramework\Utility\ITimeFactory; 31 | use OCP\IConfig; 32 | use OCP\IRequest; 33 | 34 | class ThemingController extends Controller { 35 | 36 | /** @var ITimeFactory */ 37 | private $timeFactory; 38 | /** @var IConfig */ 39 | private $config; 40 | 41 | public function __construct( 42 | $appName, 43 | IRequest $request, 44 | IConfig $config, 45 | ITimeFactory $timeFactory 46 | ) { 47 | parent::__construct($appName, $request); 48 | 49 | $this->timeFactory = $timeFactory; 50 | $this->config = $config; 51 | } 52 | 53 | /** 54 | * @NoCSRFRequired 55 | * @NoTwoFactorRequired 56 | * @PublicPage 57 | * 58 | * @return DataDisplayResponse|NotFoundResponse 59 | */ 60 | public function getStylesheet() { 61 | $customCss = $this->config->getAppValue('theming_customcss', 'customcss', ''); 62 | $response = new DataDisplayResponse($customCss, Http::STATUS_OK, ['Content-Type' => 'text/css']); 63 | $response->cacheFor(86400); 64 | $expires = new \DateTime(); 65 | $expires->setTimestamp($this->timeFactory->getTime()); 66 | $expires->add(new \DateInterval('PT24H')); 67 | $response->addHeader('Expires', $expires->format(\DateTime::RFC1123)); 68 | $response->addHeader('Pragma', 'cache'); 69 | return $response; 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /lib/Listeners/BeforeTemplateRenderedListener.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * @author Julius Härtl 6 | * 7 | * @license GNU AGPL version 3 or any later version 8 | * 9 | * This program is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU Affero General Public License as 11 | * published by the Free Software Foundation, either version 3 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License 20 | * along with this program. If not, see . 21 | * 22 | */ 23 | 24 | declare(strict_types=1); 25 | 26 | 27 | namespace OCA\ThemingCustomCss\Listeners; 28 | 29 | 30 | use OCA\ThemingCustomCss\AppInfo\Application; 31 | use OCP\App\IAppManager; 32 | use OCP\AppFramework\Http\Events\BeforeLoginTemplateRenderedEvent; 33 | use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; 34 | use OCP\EventDispatcher\Event; 35 | use OCP\EventDispatcher\IEventListener; 36 | use OCP\IConfig; 37 | use OCP\IURLGenerator; 38 | use OCP\Util; 39 | 40 | class BeforeTemplateRenderedListener implements IEventListener { 41 | 42 | /** @var IAppManager */ 43 | private $appManager; 44 | /** @var IConfig */ 45 | private $config; 46 | /** @var IURLGenerator */ 47 | private $urlGenerator; 48 | 49 | public function __construct( 50 | IAppManager $appManager, 51 | IConfig $config, 52 | IURLGenerator $urlGenerator 53 | ) { 54 | $this->appManager = $appManager; 55 | $this->config = $config; 56 | $this->urlGenerator = $urlGenerator; 57 | } 58 | 59 | public function handle(Event $event): void { 60 | if (!$event instanceof BeforeTemplateRenderedEvent && !$event instanceof BeforeLoginTemplateRenderedEvent) { 61 | return; 62 | } 63 | 64 | if (!$this->appManager->isEnabledForUser(Application::APP_ID)) { 65 | return; 66 | } 67 | 68 | $linkToCSS = $this->urlGenerator->linkToRoute( 69 | 'theming_customcss.Theming.getStylesheet', 70 | [ 71 | 'v' => $this->config->getAppValue('theming_customcss', 'cachebuster', '0'), 72 | ] 73 | ); 74 | Util::addHeader( 75 | 'link', 76 | [ 77 | 'rel' => 'stylesheet', 78 | 'href' => $linkToCSS, 79 | ] 80 | ); 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /lib/Settings/Admin.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * @author Julius Härtl 6 | * 7 | * @license GNU AGPL version 3 or any later version 8 | * 9 | * This program is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU Affero General Public License as 11 | * published by the Free Software Foundation, either version 3 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License 20 | * along with this program. If not, see . 21 | * 22 | */ 23 | 24 | namespace OCA\ThemingCustomCss\Settings; 25 | 26 | use OCA\Theming\ThemingDefaults; 27 | use OCP\AppFramework\Http\TemplateResponse; 28 | use OCP\IConfig; 29 | use OCP\IL10N; 30 | use OCP\IURLGenerator; 31 | use OCP\Settings\ISettings; 32 | 33 | class Admin implements ISettings { 34 | /** @var IConfig */ 35 | private $config; 36 | /** @var IL10N */ 37 | private $l; 38 | /** @var ThemingDefaults */ 39 | private $themingDefaults; 40 | /** @var IURLGenerator */ 41 | private $urlGenerator; 42 | 43 | public function __construct(IConfig $config) { 44 | $this->config = $config; 45 | } 46 | 47 | /** 48 | * @return TemplateResponse 49 | */ 50 | public function getForm() { 51 | $customcss = $this->config->getAppValue('theming_customcss', 'customcss', ''); 52 | 53 | $parameters = [ 54 | 'customcss' => $customcss 55 | ]; 56 | 57 | return new TemplateResponse('theming_customcss', 'settings-admin', $parameters, ''); 58 | } 59 | 60 | /** 61 | * @return string the section ID, e.g. 'sharing' 62 | */ 63 | public function getSection() { 64 | return 'theming'; 65 | } 66 | 67 | /** 68 | * @return int whether the form should be rather on the top or bottom of 69 | * the admin section. The forms are arranged in ascending order of the 70 | * priority values. It is required to return a value between 0 and 100. 71 | * 72 | * E.g.: 70 73 | */ 74 | public function getPriority() { 75 | return 10; 76 | } 77 | 78 | } 79 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ./tests/unit 5 | 6 | 7 | 8 | 9 | ./ 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nextcloud/theming_customcss/e466617364d6399487a8483fce40e8f62819aeb8/screenshot.png -------------------------------------------------------------------------------- /templates/settings-admin.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * @author Julius Härtl 6 | * 7 | * @license GNU AGPL version 3 or any later version 8 | * 9 | * This program is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU Affero General Public License as 11 | * published by the Free Software Foundation, either version 3 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License 20 | * along with this program. If not, see . 21 | * 22 | */ 23 | script('theming_customcss', 'settings-admin'); 24 | style('theming_customcss', 'settings-admin'); 25 | ?> 26 |
27 |

t('Custom CSS')); ?>

28 |

t('You can specify your own CSS here. Be aware that this might break something after upgrade.')); ?>

29 | 30 |
31 | 32 | 33 |
34 |
35 | -------------------------------------------------------------------------------- /tests/Controller/ThemingControllerTest.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * @author Julius Härtl 6 | * 7 | * @license GNU AGPL version 3 or any later version 8 | * 9 | * This program is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU Affero General Public License as 11 | * published by the Free Software Foundation, either version 3 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License 20 | * along with this program. If not, see . 21 | * 22 | */ 23 | namespace OCA\ThemingCustomCss\Tests\Controller; 24 | 25 | use OC\L10N\L10N; 26 | use OC\Template\SCSSCacher; 27 | use OCA\ThemingCustomCss\Controller\ThemingController; 28 | use OCP\AppFramework\Http; 29 | use OCP\AppFramework\Utility\ITimeFactory; 30 | use OCP\Files\IAppData; 31 | use OCP\Files\NotFoundException; 32 | use OCP\Files\SimpleFS\ISimpleFile; 33 | use OCP\IConfig; 34 | use OCP\IL10N; 35 | use OCP\IRequest; 36 | use Test\TestCase; 37 | 38 | class ThemingControllerTest extends TestCase { 39 | /** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */ 40 | private $request; 41 | /** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */ 42 | private $config; 43 | /** @var \OCP\AppFramework\Utility\ITimeFactory */ 44 | private $timeFactory; 45 | /** @var IL10N|\PHPUnit_Framework_MockObject_MockObject */ 46 | private $l10n; 47 | /** @var ThemingController */ 48 | private $themingController; 49 | /** @var IAppData|\PHPUnit_Framework_MockObject_MockObject */ 50 | private $appData; 51 | /** @var SCSSCacher */ 52 | private $scssCacher; 53 | 54 | public function setUp() { 55 | $this->request = $this->createMock(IRequest::class); 56 | $this->config = $this->createMock(IConfig::class); 57 | $this->timeFactory = $this->createMock(ITimeFactory::class); 58 | $this->l10n = $this->createMock(L10N::class); 59 | $this->appData = $this->createMock(IAppData::class); 60 | $this->scssCacher = $this->createMock(SCSSCacher::class); 61 | 62 | $this->timeFactory->expects($this->any()) 63 | ->method('getTime') 64 | ->willReturn(123); 65 | 66 | $this->themingController = new ThemingController( 67 | 'theming', 68 | $this->request, 69 | $this->config, 70 | $this->timeFactory, 71 | $this->l10n, 72 | $this->appData, 73 | $this->scssCacher 74 | ); 75 | 76 | return parent::setUp(); 77 | } 78 | 79 | public function testGetStylesheet() { 80 | 81 | $this->config->expects($this->at(0)) 82 | ->method('getAppValue') 83 | ->with('theming_customcss', 'customcss', '') 84 | ->willReturn('* { background-color: black; }'); 85 | 86 | $response = new DataDisplayResponse('* { background-color: black; }', Http::STATUS_OK, ['Content-Type' => 'text/css']); 87 | $response->cacheFor(86400); 88 | $expires = new \DateTime(); 89 | $expires->setTimestamp($this->timeFactory->getTime()); 90 | $expires->add(new \DateInterval('PT24H')); 91 | $response->addHeader('Expires', $expires->format(\DateTime::RFC1123)); 92 | $response->addHeader('Pragma', 'cache'); 93 | $actual = $this->themingController->getStylesheet(); 94 | $this->assertEquals($response, $actual); 95 | } 96 | 97 | } 98 | -------------------------------------------------------------------------------- /tests/Settings/AdminTest.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * @author Julius Härtl 6 | * 7 | * @license GNU AGPL version 3 or any later version 8 | * 9 | * This program is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU Affero General Public License as 11 | * published by the Free Software Foundation, either version 3 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License 20 | * along with this program. If not, see . 21 | * 22 | */ 23 | 24 | namespace OCA\Theming\Tests\Settings; 25 | 26 | use OCA\Theming\Settings\Admin; 27 | use OCA\Theming\ThemingDefaults; 28 | use OCP\AppFramework\Http\TemplateResponse; 29 | use OCP\IConfig; 30 | use OCP\IL10N; 31 | use OCP\IURLGenerator; 32 | use Test\TestCase; 33 | 34 | class AdminTest extends TestCase { 35 | /** @var Admin */ 36 | private $admin; 37 | /** @var IConfig */ 38 | private $config; 39 | /** @var ThemingDefaults */ 40 | private $themingDefaults; 41 | /** @var IURLGenerator */ 42 | private $urlGenerator; 43 | /** @var IL10N */ 44 | private $l10n; 45 | 46 | public function setUp() { 47 | parent::setUp(); 48 | $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock(); 49 | $this->l10n = $this->getMockBuilder('\OCP\IL10N')->getMock(); 50 | $this->themingDefaults = $this->getMockBuilder('\OCA\Theming\ThemingDefaults')->disableOriginalConstructor()->getMock(); 51 | $this->urlGenerator = $this->getMockBuilder('\OCP\IURLGenerator')->getMock(); 52 | 53 | $this->admin = new Admin( 54 | $this->config, 55 | $this->l10n, 56 | $this->themingDefaults, 57 | $this->urlGenerator 58 | ); 59 | } 60 | 61 | public function testGetFormNoErrors() { 62 | $this->config->expects($this->at(0)) 63 | ->method('getAppValue') 64 | ->with('theming_customcss', 'customcss', '') 65 | ->willReturn('* { background-color: black; }'); 66 | $params = [ 67 | 'customcss' => '* { background-color: black; }', 68 | ]; 69 | 70 | $expected = new TemplateResponse('theming_customcss', 'settings-admin', $params, ''); 71 | $this->assertEquals($expected, $this->admin->getForm()); 72 | } 73 | 74 | public function testGetSection() { 75 | $this->assertSame('theming', $this->admin->getSection()); 76 | } 77 | 78 | public function testGetPriority() { 79 | $this->assertSame(10, $this->admin->getPriority()); 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * @author Julius Härtl 6 | * 7 | * @license GNU AGPL version 3 or any later version 8 | * 9 | * This program is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU Affero General Public License as 11 | * published by the Free Software Foundation, either version 3 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License 20 | * along with this program. If not, see . 21 | * 22 | */ 23 | 24 | require_once __DIR__.'/../../../tests/bootstrap.php'; 25 | 26 | 27 | require_once __DIR__.'/../../../lib/base.php'; 28 | if (!class_exists('PHPUnit_Framework_TestCase')) { 29 | require_once('PHPUnit/Autoload.php'); 30 | } 31 | 32 | \OC_App::loadApp('theming_customcss'); 33 | 34 | OC_Hook::clear(); 35 | 36 | --------------------------------------------------------------------------------