├── l10n
├── .gitkeep
├── ka.json
├── si.json
├── ka.js
├── th.json
├── oc.json
├── az.json
├── eo.json
├── si.js
├── sq.json
├── ia.json
├── ka_GE.json
├── oc.js
├── th.js
├── az.js
├── eo.js
├── sq.js
├── uz.json
├── ia.js
├── ka_GE.js
├── es_419.json
├── es_AR.json
├── es_CL.json
├── es_CO.json
├── es_CR.json
├── es_DO.json
├── es_GT.json
├── es_HN.json
├── es_MX.json
├── es_NI.json
├── es_PA.json
├── es_PE.json
├── es_PR.json
├── es_PY.json
├── es_SV.json
├── es_UY.json
├── uz.js
├── es_419.js
├── es_AR.js
├── es_CL.js
├── es_CO.js
├── es_CR.js
├── es_DO.js
├── es_GT.js
├── es_HN.js
├── es_MX.js
├── es_NI.js
├── es_PA.js
├── es_PE.js
├── es_PR.js
├── es_PY.js
├── es_SV.js
├── es_UY.js
├── ast.json
├── vi.json
├── ast.js
├── lv.json
├── vi.js
├── lv.js
├── id.json
├── ko.json
├── be.json
├── id.js
├── is.json
├── ko.js
├── is.js
├── ro.json
├── be.js
├── ja.json
├── ro.js
├── ja.js
├── pt_PT.json
├── da.json
├── pt_PT.js
├── da.js
├── he.json
├── he.js
├── zh_CN.json
├── zh_CN.js
├── nl.json
├── sc.json
├── hr.json
├── nl.js
├── ca.json
├── it.json
├── sc.js
├── sl.json
├── hr.js
├── ca.js
├── it.js
├── sl.js
├── pl.json
├── pl.js
├── et_EE.json
├── et_EE.js
├── sv.json
├── sv.js
├── ru.json
├── mk.json
├── ru.js
├── mk.js
├── lt_LT.json
├── lt_LT.js
├── fi.json
├── fi.js
├── zh_TW.json
├── zh_HK.json
├── zh_TW.js
├── zh_HK.js
├── hu.json
├── hu.js
├── fa.json
├── fa.js
├── nb.json
├── bg.json
├── nb.js
├── bg.js
├── eu.json
├── en_GB.json
├── eu.js
└── en_GB.js
├── img
├── chromium.png
├── firefox.png
├── screenshot1.jpg
├── post.svg.license
├── chromium.png.license
├── firefox.png.license
├── message.svg.license
├── screenshot1.jpg.license
├── app.svg
├── app-dark.svg
├── post.svg
└── message.svg
├── tests
├── psalm-baseline.xml.license
└── psalm-baseline.xml
├── .l10nignore
├── .github
├── CODEOWNERS
├── dependabot.yml
└── workflows
│ ├── reuse.yml
│ ├── lint-info-xml.yml
│ ├── lint-php-cs.yml
│ ├── lint-php.yml
│ ├── pr-feedback.yml
│ ├── lint-eslint.yml
│ ├── psalm-matrix.yml
│ └── node.yml
├── .gitignore
├── templates
├── adminSettings.php
└── personalSettings.php
├── src
├── adminSettings.js
├── personalSettings.js
├── utils.js
└── components
│ ├── icons
│ └── DropboxIcon.vue
│ └── AdminSettings.vue
├── .tx
└── config
├── .php-cs-fixer.dist.php
├── .eslintrc.js
├── AUTHORS.md
├── appinfo
├── routes.php
└── info.xml
├── README.md
├── composer.json
├── stylelint.config.js
├── lib
├── AppInfo
│ └── Application.php
├── BackgroundJob
│ └── ImportDropboxJob.php
├── Settings
│ ├── Admin.php
│ ├── PersonalSection.php
│ ├── AdminSection.php
│ └── Personal.php
├── Service
│ ├── UserScopeService.php
│ └── SecretService.php
├── Command
│ └── StartImport.php
├── Notification
│ └── Notifier.php
└── Controller
│ └── DropboxAPIController.php
├── LICENSES
└── MIT.txt
├── REUSE.toml
├── webpack.js
├── psalm.xml
└── package.json
/l10n/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/img/chromium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nextcloud/integration_dropbox/HEAD/img/chromium.png
--------------------------------------------------------------------------------
/img/firefox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nextcloud/integration_dropbox/HEAD/img/firefox.png
--------------------------------------------------------------------------------
/img/screenshot1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nextcloud/integration_dropbox/HEAD/img/screenshot1.jpg
--------------------------------------------------------------------------------
/img/post.svg.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
2 | SPDX-License-Identifier: AGPL-3.0-or-later
3 |
--------------------------------------------------------------------------------
/img/chromium.png.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
2 | SPDX-License-Identifier: AGPL-3.0-or-later
3 |
--------------------------------------------------------------------------------
/img/firefox.png.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
2 | SPDX-License-Identifier: AGPL-3.0-or-later
3 |
--------------------------------------------------------------------------------
/img/message.svg.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
2 | SPDX-License-Identifier: AGPL-3.0-or-later
3 |
--------------------------------------------------------------------------------
/img/screenshot1.jpg.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
2 | SPDX-License-Identifier: AGPL-3.0-or-later
3 |
--------------------------------------------------------------------------------
/tests/psalm-baseline.xml.license:
--------------------------------------------------------------------------------
1 | SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
2 | SPDX-License-Identifier: AGPL-3.0-or-later
3 |
--------------------------------------------------------------------------------
/.l10nignore:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
2 | # SPDX-License-Identifier: AGPL-3.0-or-later
3 | # compiled vue templates
4 | js/
5 | vendor/
6 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
2 | # SPDX-License-Identifier: AGPL-3.0-or-later
3 | /appinfo/info.xml @marcelklehr @julien-nc
4 |
--------------------------------------------------------------------------------
/l10n/ka.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "App key" : "App key",
3 | "App secret" : "App secret",
4 | "Authentication" : "Authentication"
5 | },"pluralForm" :"nplurals=2; plural=(n!=1);"
6 | }
--------------------------------------------------------------------------------
/l10n/si.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Connected accounts" : "සම්බන්ධිත ගිණුම්",
3 | "Data migration" : "දත්ත සංක්රමණය",
4 | "Authentication" : "සත්යාපනය"
5 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
6 | }
--------------------------------------------------------------------------------
/l10n/ka.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "App key" : "App key",
5 | "App secret" : "App secret",
6 | "Authentication" : "Authentication"
7 | },
8 | "nplurals=2; plural=(n!=1);");
9 |
--------------------------------------------------------------------------------
/l10n/th.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "คีย์แอป",
4 | "App secret" : "ข้อมูลลับแอป",
5 | "Authentication" : "การตรวจสอบสิทธิ์"
6 | },"pluralForm" :"nplurals=1; plural=0;"
7 | }
--------------------------------------------------------------------------------
/l10n/oc.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Bad credentials" : "Marrits identificants",
3 | "Connected accounts" : "Comptes connectats",
4 | "Authentication" : "Autentificacion"
5 | },"pluralForm" :"nplurals=2; plural=(n > 1);"
6 | }
--------------------------------------------------------------------------------
/l10n/az.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Proqram açarı",
4 | "App secret" : "Proqram sirri",
5 | "Authentication" : "Autentifikasiya"
6 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
7 | }
--------------------------------------------------------------------------------
/l10n/eo.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Aplikaĵa ŝlosilo",
4 | "App secret" : "Aplikaĵosekreto",
5 | "Authentication" : "Aŭtentigo"
6 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
7 | }
--------------------------------------------------------------------------------
/l10n/si.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Connected accounts" : "සම්බන්ධිත ගිණුම්",
5 | "Data migration" : "දත්ත සංක්රමණය",
6 | "Authentication" : "සත්යාපනය"
7 | },
8 | "nplurals=2; plural=(n != 1);");
9 |
--------------------------------------------------------------------------------
/l10n/sq.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Kyç aplikacioni",
4 | "App secret" : "E fshehtë aplikacioni",
5 | "Authentication" : "Mirëfilltësim"
6 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
7 | }
--------------------------------------------------------------------------------
/l10n/ia.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Clave del Application",
4 | "App secret" : "Secreto del Application",
5 | "Authentication" : "Authentication"
6 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
7 | }
--------------------------------------------------------------------------------
/l10n/ka_GE.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox-ი",
3 | "App key" : "აპლიკაციის გასაღები",
4 | "App secret" : "აპლიკაციის საიდუმლო",
5 | "Authentication" : "აუტენტიფიკაცია"
6 | },"pluralForm" :"nplurals=2; plural=(n!=1);"
7 | }
--------------------------------------------------------------------------------
/l10n/oc.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Bad credentials" : "Marrits identificants",
5 | "Connected accounts" : "Comptes connectats",
6 | "Authentication" : "Autentificacion"
7 | },
8 | "nplurals=2; plural=(n > 1);");
9 |
--------------------------------------------------------------------------------
/l10n/th.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "คีย์แอป",
6 | "App secret" : "ข้อมูลลับแอป",
7 | "Authentication" : "การตรวจสอบสิทธิ์"
8 | },
9 | "nplurals=1; plural=0;");
10 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
2 | # SPDX-License-Identifier: AGPL-3.0-or-later
3 | js/
4 | .code-workspace
5 | .DS_Store
6 | .idea/
7 | .vscode/
8 | .vscode-upload.json
9 | .*.sw*
10 | node_modules
11 | /vendor
12 |
--------------------------------------------------------------------------------
/l10n/az.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Proqram açarı",
6 | "App secret" : "Proqram sirri",
7 | "Authentication" : "Autentifikasiya"
8 | },
9 | "nplurals=2; plural=(n != 1);");
10 |
--------------------------------------------------------------------------------
/l10n/eo.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Aplikaĵa ŝlosilo",
6 | "App secret" : "Aplikaĵosekreto",
7 | "Authentication" : "Aŭtentigo"
8 | },
9 | "nplurals=2; plural=(n != 1);");
10 |
--------------------------------------------------------------------------------
/l10n/sq.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Kyç aplikacioni",
6 | "App secret" : "E fshehtë aplikacioni",
7 | "Authentication" : "Mirëfilltësim"
8 | },
9 | "nplurals=2; plural=(n != 1);");
10 |
--------------------------------------------------------------------------------
/l10n/uz.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Bad HTTP method" : "Yomon HTTP usuli",
3 | "Bad credentials" : "Akkaunt ma'lumotlari xato",
4 | "Connected accounts" : "Ulangan akkauntlar",
5 | "Authentication" : "Autentifikatsiya"
6 | },"pluralForm" :"nplurals=1; plural=0;"
7 | }
--------------------------------------------------------------------------------
/l10n/ia.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Clave del Application",
6 | "App secret" : "Secreto del Application",
7 | "Authentication" : "Authentication"
8 | },
9 | "nplurals=2; plural=(n != 1);");
10 |
--------------------------------------------------------------------------------
/l10n/ka_GE.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox-ი",
5 | "App key" : "აპლიკაციის გასაღები",
6 | "App secret" : "აპლიკაციის საიდუმლო",
7 | "Authentication" : "აუტენტიფიკაცია"
8 | },
9 | "nplurals=2; plural=(n!=1);");
10 |
--------------------------------------------------------------------------------
/l10n/es_419.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_AR.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_CL.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_CO.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_CR.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_DO.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_GT.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_HN.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_MX.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_NI.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_PA.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_PE.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_PR.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_PY.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_SV.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/es_UY.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "App key" : "Llave de la aplicación",
4 | "App secret" : "Secreto de la aplicación",
5 | "Authentication" : "Autenticación"
6 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
7 | }
--------------------------------------------------------------------------------
/l10n/uz.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Bad HTTP method" : "Yomon HTTP usuli",
5 | "Bad credentials" : "Akkaunt ma'lumotlari xato",
6 | "Connected accounts" : "Ulangan akkauntlar",
7 | "Authentication" : "Autentifikatsiya"
8 | },
9 | "nplurals=1; plural=0;");
10 |
--------------------------------------------------------------------------------
/img/app.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/l10n/es_419.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_AR.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_CL.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_CO.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_CR.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_DO.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_GT.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_HN.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_MX.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_NI.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_PA.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_PE.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_PR.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_PY.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_SV.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/l10n/es_UY.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "App key" : "Llave de la aplicación",
6 | "App secret" : "Secreto de la aplicación",
7 | "Authentication" : "Autenticación"
8 | },
9 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
10 |
--------------------------------------------------------------------------------
/img/app-dark.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/templates/adminSettings.php:
--------------------------------------------------------------------------------
1 |
11 |
12 |
--------------------------------------------------------------------------------
/templates/personalSettings.php:
--------------------------------------------------------------------------------
1 |
11 |
12 |
--------------------------------------------------------------------------------
/l10n/ast.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Data migration" : "Migración de los datos",
3 | "App key" : "Clave d'aplicación",
4 | "App secret" : "Secretu d'aplicación",
5 | "Failed to save Dropbox options" : "Nun se puen guardar la configuración de Dropbox",
6 | "Authentication" : "Autenticación"
7 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
8 | }
--------------------------------------------------------------------------------
/src/adminSettings.js:
--------------------------------------------------------------------------------
1 | /**
2 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
3 | * SPDX-License-Identifier: AGPL-3.0-or-later
4 | */
5 |
6 | import Vue from 'vue'
7 | import AdminSettings from './components/AdminSettings.vue'
8 | Vue.mixin({ methods: { t, n } })
9 |
10 | const View = Vue.extend(AdminSettings)
11 | new View().$mount('#dropbox_prefs')
12 |
--------------------------------------------------------------------------------
/l10n/vi.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Bad HTTP method" : "Phương thức HTTP không hợp lệ",
3 | "Bad credentials" : "Thông tin đăng nhập không hợp lệ.",
4 | "Connected accounts" : "Đã kết nối tài khoản",
5 | "Authentication" : "Xác thực",
6 | "Access code" : "Mã truy cập",
7 | "Disconnect from Dropbox" : "Ngắt kết nối đến Dropbox"
8 | },"pluralForm" :"nplurals=1; plural=0;"
9 | }
--------------------------------------------------------------------------------
/l10n/ast.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Data migration" : "Migración de los datos",
5 | "App key" : "Clave d'aplicación",
6 | "App secret" : "Secretu d'aplicación",
7 | "Failed to save Dropbox options" : "Nun se puen guardar la configuración de Dropbox",
8 | "Authentication" : "Autenticación"
9 | },
10 | "nplurals=2; plural=(n != 1);");
11 |
--------------------------------------------------------------------------------
/.tx/config:
--------------------------------------------------------------------------------
1 | [main]
2 | host = https://www.transifex.com
3 | lang_map = th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk
4 |
5 | [o:nextcloud:p:nextcloud:r:integration_dropbox]
6 | file_filter = translationfiles//integration_dropbox.po
7 | source_file = translationfiles/templates/integration_dropbox.pot
8 | source_lang = en
9 | type = PO
10 |
11 |
--------------------------------------------------------------------------------
/l10n/lv.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "Nederīgs HTTP pieprasījuma veids",
4 | "Bad credentials" : "Nederīgi pieteikšanās dati",
5 | "Connected accounts" : "Sasaistītie konti",
6 | "App key" : "Lietotnes atslēga",
7 | "Authentication" : "Autentifikācija"
8 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
9 | }
--------------------------------------------------------------------------------
/.php-cs-fixer.dist.php:
--------------------------------------------------------------------------------
1 | getFinder()
17 | ->in(__DIR__ . '/lib');
18 | return $config;
19 |
--------------------------------------------------------------------------------
/l10n/vi.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Bad HTTP method" : "Phương thức HTTP không hợp lệ",
5 | "Bad credentials" : "Thông tin đăng nhập không hợp lệ.",
6 | "Connected accounts" : "Đã kết nối tài khoản",
7 | "Authentication" : "Xác thực",
8 | "Access code" : "Mã truy cập",
9 | "Disconnect from Dropbox" : "Ngắt kết nối đến Dropbox"
10 | },
11 | "nplurals=1; plural=0;");
12 |
--------------------------------------------------------------------------------
/src/personalSettings.js:
--------------------------------------------------------------------------------
1 | /* jshint esversion: 6 */
2 |
3 | /**
4 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
5 | * SPDX-License-Identifier: AGPL-3.0-or-later
6 | */
7 |
8 | import Vue from 'vue'
9 | import PersonalSettings from './components/PersonalSettings.vue'
10 | Vue.mixin({ methods: { t, n } })
11 |
12 | const View = Vue.extend(PersonalSettings)
13 | new View().$mount('#dropbox_prefs')
14 |
--------------------------------------------------------------------------------
/l10n/lv.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "Nederīgs HTTP pieprasījuma veids",
6 | "Bad credentials" : "Nederīgi pieteikšanās dati",
7 | "Connected accounts" : "Sasaistītie konti",
8 | "App key" : "Lietotnes atslēga",
9 | "Authentication" : "Autentifikācija"
10 | },
11 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
12 |
--------------------------------------------------------------------------------
/l10n/id.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "Metode HTTP tidak benar",
4 | "Bad credentials" : "Kredensial tidak benar",
5 | "OAuth access token refused" : "Token akses OAuth ditolak",
6 | "Connected accounts" : "Akun terhubung",
7 | "App key" : "Kunci Apl",
8 | "App secret" : "Rahasia Apl",
9 | "Authentication" : "Otentikasi"
10 | },"pluralForm" :"nplurals=1; plural=0;"
11 | }
--------------------------------------------------------------------------------
/l10n/ko.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "옳지 않은 HTTP 메소드",
4 | "Bad credentials" : "옳지 않은 자격 증명",
5 | "OAuth access token refused" : "OAuth 접근 토큰 거부됐습니다.",
6 | "Connected accounts" : "계정 연결됨",
7 | "App key" : "앱 키",
8 | "App secret" : "앱 비밀 값",
9 | "Authentication" : "인증",
10 | "Connected as {user} ({email})" : "{user} ({email})(으)로 연결됨"
11 | },"pluralForm" :"nplurals=1; plural=0;"
12 | }
--------------------------------------------------------------------------------
/l10n/be.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Token is not valid anymore. Impossible to refresh it." : "Токен больш несапраўдны. Немагчыма яго абнавіць.",
4 | "OAuth access token refused" : "Токен доступу OAuth адхілены",
5 | "Authentication" : "Аўтэнтыфікацыя"
6 | },"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);"
7 | }
--------------------------------------------------------------------------------
/l10n/id.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "Metode HTTP tidak benar",
6 | "Bad credentials" : "Kredensial tidak benar",
7 | "OAuth access token refused" : "Token akses OAuth ditolak",
8 | "Connected accounts" : "Akun terhubung",
9 | "App key" : "Kunci Apl",
10 | "App secret" : "Rahasia Apl",
11 | "Authentication" : "Otentikasi"
12 | },
13 | "nplurals=1; plural=0;");
14 |
--------------------------------------------------------------------------------
/l10n/is.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad credentials" : "Gölluð auðkenni",
4 | "OAuth access token refused" : "OAuth-aðgangsteikni hafnað",
5 | "Connected accounts" : "Tengdir aðgangar",
6 | "App key" : "Lykill forrits",
7 | "App secret" : "Leynilykill forrits",
8 | "Authentication" : "Auðkenning",
9 | "Import directory" : "Flytja möppu inn"
10 | },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
11 | }
--------------------------------------------------------------------------------
/l10n/ko.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "옳지 않은 HTTP 메소드",
6 | "Bad credentials" : "옳지 않은 자격 증명",
7 | "OAuth access token refused" : "OAuth 접근 토큰 거부됐습니다.",
8 | "Connected accounts" : "계정 연결됨",
9 | "App key" : "앱 키",
10 | "App secret" : "앱 비밀 값",
11 | "Authentication" : "인증",
12 | "Connected as {user} ({email})" : "{user} ({email})(으)로 연결됨"
13 | },
14 | "nplurals=1; plural=0;");
15 |
--------------------------------------------------------------------------------
/l10n/is.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad credentials" : "Gölluð auðkenni",
6 | "OAuth access token refused" : "OAuth-aðgangsteikni hafnað",
7 | "Connected accounts" : "Tengdir aðgangar",
8 | "App key" : "Lykill forrits",
9 | "App secret" : "Leynilykill forrits",
10 | "Authentication" : "Auðkenning",
11 | "Import directory" : "Flytja möppu inn"
12 | },
13 | "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
14 |
--------------------------------------------------------------------------------
/l10n/ro.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "Metodă HTTP nepotrivită",
4 | "Bad credentials" : "Credențiale greșite",
5 | "OAuth access token refused" : "Token-ul OAuth a fost refuzat",
6 | "Connected accounts" : "Conturile conectate",
7 | "App key" : "Cheie aplicație",
8 | "App secret" : "Secret aplicație",
9 | "Authentication" : "Autentificare"
10 | },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
11 | }
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | /**
2 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
3 | * SPDX-License-Identifier: AGPL-3.0-or-later
4 | */
5 |
6 | module.exports = {
7 | globals: {
8 | appVersion: true
9 | },
10 | parserOptions: {
11 | requireConfigFile: false
12 | },
13 | extends: [
14 | '@nextcloud'
15 | ],
16 | rules: {
17 | 'jsdoc/require-jsdoc': 'off',
18 | 'jsdoc/tag-lines': 'off',
19 | 'vue/first-attribute-linebreak': 'off',
20 | 'import/extensions': 'off'
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/l10n/be.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Token is not valid anymore. Impossible to refresh it." : "Токен больш несапраўдны. Немагчыма яго абнавіць.",
6 | "OAuth access token refused" : "Токен доступу OAuth адхілены",
7 | "Authentication" : "Аўтэнтыфікацыя"
8 | },
9 | "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/ja.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "不正なHTTPメソッド",
4 | "Bad credentials" : "不正な資格情報",
5 | "Token is not valid anymore. Impossible to refresh it." : "トークンは無効です。更新できません。",
6 | "OAuth access token refused" : "OAuth アクセストークンが拒否されました",
7 | "Connected accounts" : "接続済みアカウント",
8 | "Data migration" : "データ移行",
9 | "App key" : "アプリキー",
10 | "App secret" : "アプリシークレット",
11 | "Authentication" : "認証"
12 | },"pluralForm" :"nplurals=1; plural=0;"
13 | }
--------------------------------------------------------------------------------
/AUTHORS.md:
--------------------------------------------------------------------------------
1 |
5 | # Authors
6 |
7 | - Andy Scherzinger
8 | - John Molakvoæ
9 | - Johnny A. dos Santos
10 | - Julien Veyssier
11 | - Julius Härtl
12 | - Marcel Klehr
13 | - rakekniven <2069590+rakekniven@users.noreply.github.com>
14 | - Vitor Mattos
15 |
--------------------------------------------------------------------------------
/l10n/ro.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "Metodă HTTP nepotrivită",
6 | "Bad credentials" : "Credențiale greșite",
7 | "OAuth access token refused" : "Token-ul OAuth a fost refuzat",
8 | "Connected accounts" : "Conturile conectate",
9 | "App key" : "Cheie aplicație",
10 | "App secret" : "Secret aplicație",
11 | "Authentication" : "Autentificare"
12 | },
13 | "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
14 |
--------------------------------------------------------------------------------
/l10n/ja.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "不正なHTTPメソッド",
6 | "Bad credentials" : "不正な資格情報",
7 | "Token is not valid anymore. Impossible to refresh it." : "トークンは無効です。更新できません。",
8 | "OAuth access token refused" : "OAuth アクセストークンが拒否されました",
9 | "Connected accounts" : "接続済みアカウント",
10 | "Data migration" : "データ移行",
11 | "App key" : "アプリキー",
12 | "App secret" : "アプリシークレット",
13 | "Authentication" : "認証"
14 | },
15 | "nplurals=1; plural=0;");
16 |
--------------------------------------------------------------------------------
/l10n/pt_PT.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Código de acesso inválido",
3 | "Dropbox" : "Dropbox",
4 | "Bad HTTP method" : "Método HTTP incorreto",
5 | "Bad credentials" : "Credenciais inválidas",
6 | "Token is not valid anymore. Impossible to refresh it." : "Token deixou de ser válido. Impossível atualizá-lo.",
7 | "App key" : "Chave da App",
8 | "App secret" : "Segredo da app",
9 | "Authentication" : "Autenticação"
10 | },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
11 | }
--------------------------------------------------------------------------------
/l10n/da.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "Dårlig HTTP metode",
4 | "Bad credentials" : "Forkerte legitimationsoplysninger",
5 | "OAuth access token refused" : "OAuth adgangsnøgle afvist",
6 | "Connected accounts" : "Forbundne konti",
7 | "Data migration" : "Datamigrering",
8 | "App key" : "App nøgle",
9 | "App secret" : "App hemmelighed",
10 | "Authentication" : "Godkendelse",
11 | "Connected as {user} ({email})" : "Forbundet som {user} ({email})"
12 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
13 | }
--------------------------------------------------------------------------------
/l10n/pt_PT.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Código de acesso inválido",
5 | "Dropbox" : "Dropbox",
6 | "Bad HTTP method" : "Método HTTP incorreto",
7 | "Bad credentials" : "Credenciais inválidas",
8 | "Token is not valid anymore. Impossible to refresh it." : "Token deixou de ser válido. Impossível atualizá-lo.",
9 | "App key" : "Chave da App",
10 | "App secret" : "Segredo da app",
11 | "Authentication" : "Autenticação"
12 | },
13 | "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
14 |
--------------------------------------------------------------------------------
/l10n/da.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "Dårlig HTTP metode",
6 | "Bad credentials" : "Forkerte legitimationsoplysninger",
7 | "OAuth access token refused" : "OAuth adgangsnøgle afvist",
8 | "Connected accounts" : "Forbundne konti",
9 | "Data migration" : "Datamigrering",
10 | "App key" : "App nøgle",
11 | "App secret" : "App hemmelighed",
12 | "Authentication" : "Godkendelse",
13 | "Connected as {user} ({email})" : "Forbundet som {user} ({email})"
14 | },
15 | "nplurals=2; plural=(n != 1);");
16 |
--------------------------------------------------------------------------------
/l10n/he.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "שגיאה במתודת HTTP",
4 | "Bad credentials" : "פרטי גישה שגויים",
5 | "Token is not valid anymore. Impossible to refresh it." : "האסימון אינו תקף עוד. אי אפשר לרענן אותו.",
6 | "OAuth access token refused" : "אסימון הגישה ב־OAuth סורב",
7 | "Connected accounts" : "חשבונות מקושרים",
8 | "Data migration" : "הגירת נתונים",
9 | "App key" : "מפתח יישום",
10 | "App secret" : "סוד יישום",
11 | "Authentication" : "אימות"
12 | },"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
13 | }
--------------------------------------------------------------------------------
/l10n/he.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "שגיאה במתודת HTTP",
6 | "Bad credentials" : "פרטי גישה שגויים",
7 | "Token is not valid anymore. Impossible to refresh it." : "האסימון אינו תקף עוד. אי אפשר לרענן אותו.",
8 | "OAuth access token refused" : "אסימון הגישה ב־OAuth סורב",
9 | "Connected accounts" : "חשבונות מקושרים",
10 | "Data migration" : "הגירת נתונים",
11 | "App key" : "מפתח יישום",
12 | "App secret" : "סוד יישום",
13 | "Authentication" : "אימות"
14 | },
15 | "nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");
16 |
--------------------------------------------------------------------------------
/l10n/zh_CN.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "错误的HTTP方法",
4 | "Bad credentials" : "错误的凭据",
5 | "Token is not valid anymore. Impossible to refresh it." : "令牌已不再有效。无法刷新。",
6 | "Could not access file due to failed authentication." : "由于验证失败,无法访问文件。",
7 | "OAuth access token refused" : "OAuth 访问令牌被拒绝",
8 | "Connected accounts" : "关联账号",
9 | "Data migration" : "数据迁移",
10 | "App key" : "App key",
11 | "App secret" : "应用程序 secret",
12 | "Authentication" : "身份认证",
13 | "Connected as {user} ({email})" : "连接为 {user} ({email})",
14 | "Import directory" : "导入文件夹"
15 | },"pluralForm" :"nplurals=1; plural=0;"
16 | }
--------------------------------------------------------------------------------
/l10n/zh_CN.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "错误的HTTP方法",
6 | "Bad credentials" : "错误的凭据",
7 | "Token is not valid anymore. Impossible to refresh it." : "令牌已不再有效。无法刷新。",
8 | "Could not access file due to failed authentication." : "由于验证失败,无法访问文件。",
9 | "OAuth access token refused" : "OAuth 访问令牌被拒绝",
10 | "Connected accounts" : "关联账号",
11 | "Data migration" : "数据迁移",
12 | "App key" : "App key",
13 | "App secret" : "应用程序 secret",
14 | "Authentication" : "身份认证",
15 | "Connected as {user} ({email})" : "连接为 {user} ({email})",
16 | "Import directory" : "导入文件夹"
17 | },
18 | "nplurals=1; plural=0;");
19 |
--------------------------------------------------------------------------------
/appinfo/routes.php:
--------------------------------------------------------------------------------
1 | [
10 | ['name' => 'config#setConfig', 'url' => '/config', 'verb' => 'PUT'],
11 | ['name' => 'config#submitAccessCode', 'url' => '/access-code', 'verb' => 'PUT'],
12 | ['name' => 'config#setAdminConfig', 'url' => '/admin-config', 'verb' => 'PUT'],
13 | ['name' => 'dropboxAPI#getStorageSize', 'url' => '/storage-size', 'verb' => 'GET'],
14 | ['name' => 'dropboxAPI#importDropbox', 'url' => '/import-files', 'verb' => 'GET'],
15 | ['name' => 'dropboxAPI#getImportDropboxInformation', 'url' => '/import-files-info', 'verb' => 'GET'],
16 | ]
17 | ];
18 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
5 | # Dropbox integration into Nextcloud
6 |
7 | [](https://api.reuse.software/info/github.com/nextcloud/integration_dropbox)
8 |
9 | 🧊 Dropbox integration allows you to automatically import your Dropbox files into Nextcloud.
10 |
11 | ## 🔧 Configuration
12 |
13 | ### User settings
14 |
15 | The account configuration and data migration happens in the "Data migration" user settings section.
16 |
17 | ### Admin settings
18 |
19 | There also is a "Connected accounts" **admin** settings section to set your OAuth application ID and secret to let Nextcloud users authenticate to Dropbox.
20 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "php": ">=8.1"
4 | },
5 | "scripts": {
6 | "lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
7 | "cs:check": "php-cs-fixer fix --dry-run --diff",
8 | "cs:fix": "php-cs-fixer fix",
9 | "psalm": "psalm.phar --no-cache",
10 | "psalm:update-baseline": "psalm.phar --threads=1 --update-baseline",
11 | "psalm:update-baseline:force": "psalm.phar --threads=1 --update-baseline --set-baseline=tests/psalm-baseline.xml"
12 | },
13 | "require-dev": {
14 | "friendsofphp/php-cs-fixer": "^3",
15 | "nextcloud/coding-standard": "^1",
16 | "psalm/phar": "6.7.x",
17 | "nextcloud/ocp": "dev-master",
18 | "guzzlehttp/guzzle": "^7.5.1",
19 | "sabre/dav": "^4.4.0"
20 | },
21 | "config": {
22 | "platform": {
23 | "php": "8.1"
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
2 | # SPDX-License-Identifier: AGPL-3.0-or-later
3 | version: 2
4 | updates:
5 | - package-ecosystem: composer
6 | directory: "/"
7 | schedule:
8 | interval: weekly
9 | day: saturday
10 | time: "03:00"
11 | timezone: Europe/Paris
12 | open-pull-requests-limit: 10
13 | - package-ecosystem: npm
14 | directory: "/"
15 | schedule:
16 | interval: weekly
17 | day: saturday
18 | time: "03:00"
19 | timezone: Europe/Paris
20 | open-pull-requests-limit: 10
21 | - package-ecosystem: "github-actions"
22 | directory: "/"
23 | schedule:
24 | interval: weekly
25 | day: saturday
26 | time: "03:00"
27 | timezone: Europe/Paris
28 | open-pull-requests-limit: 10
--------------------------------------------------------------------------------
/stylelint.config.js:
--------------------------------------------------------------------------------
1 | /**
2 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
3 | * SPDX-License-Identifier: AGPL-3.0-or-later
4 | */
5 |
6 | module.exports = {
7 | extends: 'stylelint-config-recommended-vue',
8 | rules: {
9 | 'selector-type-no-unknown': null,
10 | 'rule-empty-line-before': [
11 | 'always',
12 | {
13 | ignore: ['after-comment', 'inside-block'],
14 | },
15 | ],
16 | 'declaration-empty-line-before': [
17 | 'never',
18 | {
19 | ignore: ['after-declaration'],
20 | },
21 | ],
22 | 'comment-empty-line-before': null,
23 | 'selector-type-case': null,
24 | 'no-descending-specificity': null,
25 | 'selector-pseudo-element-no-unknown': [
26 | true,
27 | {
28 | ignorePseudoElements: ['v-deep'],
29 | },
30 | ],
31 | },
32 | plugins: ['stylelint-scss'],
33 | }
34 |
--------------------------------------------------------------------------------
/.github/workflows/reuse.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: 2022 Free Software Foundation Europe e.V.
7 | #
8 | # SPDX-License-Identifier: CC0-1.0
9 |
10 | name: REUSE Compliance Check
11 |
12 | on: [pull_request]
13 |
14 | permissions:
15 | contents: read
16 |
17 | jobs:
18 | reuse-compliance-check:
19 | runs-on: ubuntu-latest
20 | steps:
21 | - name: Checkout
22 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
23 | with:
24 | persist-credentials: false
25 |
26 | - name: REUSE Compliance Check
27 | uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0
28 |
--------------------------------------------------------------------------------
/l10n/nl.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "Foute HTTP methode",
4 | "Bad credentials" : "Foute inloggegevens",
5 | "Token is not valid anymore. Impossible to refresh it." : "Token is niet meer geldig en onmogelijk te verversen.",
6 | "OAuth access token refused" : "OAuth toegangstoken geweigerd",
7 | "Connected accounts" : "Verbonden accounts",
8 | "Data migration" : "Gegevensmigratie",
9 | "App key" : "App key",
10 | "App secret" : "App secret",
11 | "Starting importing files in {targetPath} directory" : "Beginnen met importeren bestanden in {targetPath} directory",
12 | "Choose where to write imported files" : "Kies waar geïmporteerde bestanden moeten worden weggeschreven",
13 | "Authentication" : "Authenticatie",
14 | "Connected as {user} ({email})" : "Verbonden als {user} ({email})",
15 | "Import directory" : "Importdirectory"
16 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
17 | }
--------------------------------------------------------------------------------
/l10n/sc.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Bad HTTP method" : "Mètodu HTTP no bàlidu",
3 | "Bad credentials" : "Credentziales non bàlidas",
4 | "Token is not valid anymore. Impossible to refresh it." : "Su token no est prus bàlidu. Non faghet a dd'agiornare.",
5 | "OAuth access token refused" : "Token de intrada OAuth refudadu",
6 | "Connected accounts" : "Contos connètidos",
7 | "Data migration" : "Tramudadura de datos",
8 | "App key" : "Crae de s'aplicatzione",
9 | "App secret" : "Segretu de s'aplicatzione",
10 | "Starting importing files in {targetPath} directory" : "Aviamentu de s'importatzione de is archìvios in sa cartella {targetPath}",
11 | "Choose where to write imported files" : "Sèbera in ue est a pònnere is archìvios importados",
12 | "Authentication" : "Autenticatzione",
13 | "Connected as {user} ({email})" : "In connessione comente {user} ({email})",
14 | "Import directory" : "Importa cartella"
15 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
16 | }
--------------------------------------------------------------------------------
/l10n/hr.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Bad HTTP method" : "Pogrešna metoda HTTP-a",
3 | "Bad credentials" : "Pogrešne vjerodajnice",
4 | "Token is not valid anymore. Impossible to refresh it." : "Token više ne vrijedi. Nemoguće ga je osvježiti.",
5 | "OAuth access token refused" : "Odbijen token za pristup OAuth",
6 | "Connected accounts" : "Povezani računi",
7 | "Data migration" : "Migracija podataka",
8 | "App key" : "Ključ aplikacije",
9 | "App secret" : "Tajna aplikacije",
10 | "Starting importing files in {targetPath} directory" : "Početak uvoza datoteka u direktorij {targetPath}",
11 | "Choose where to write imported files" : "Odaberite gdje želite zapisivati uvezene datoteke",
12 | "Authentication" : "Autentifikacija",
13 | "Connected as {user} ({email})" : "Povezan kao {user} ({email})",
14 | "Import directory" : "Uvezi direktorij"
15 | },"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;"
16 | }
--------------------------------------------------------------------------------
/l10n/nl.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "Foute HTTP methode",
6 | "Bad credentials" : "Foute inloggegevens",
7 | "Token is not valid anymore. Impossible to refresh it." : "Token is niet meer geldig en onmogelijk te verversen.",
8 | "OAuth access token refused" : "OAuth toegangstoken geweigerd",
9 | "Connected accounts" : "Verbonden accounts",
10 | "Data migration" : "Gegevensmigratie",
11 | "App key" : "App key",
12 | "App secret" : "App secret",
13 | "Starting importing files in {targetPath} directory" : "Beginnen met importeren bestanden in {targetPath} directory",
14 | "Choose where to write imported files" : "Kies waar geïmporteerde bestanden moeten worden weggeschreven",
15 | "Authentication" : "Authenticatie",
16 | "Connected as {user} ({email})" : "Verbonden als {user} ({email})",
17 | "Import directory" : "Importdirectory"
18 | },
19 | "nplurals=2; plural=(n != 1);");
20 |
--------------------------------------------------------------------------------
/l10n/ca.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "Mètode HTTP incorrecte",
4 | "Bad credentials" : "Credencials dolentes",
5 | "OAuth access token refused" : "S'ha rebutjat el testimoni d'accés d'OAuth",
6 | "Connected accounts" : "Comptes connectats",
7 | "Data migration" : "Migració de dades",
8 | "App key" : "Clau de l'aplicació",
9 | "App secret" : "Secret de l'aplicació",
10 | "Starting importing files in {targetPath} directory" : "S'està iniciant la importació de fitxers al directori {targetPath}",
11 | "Authentication" : "Autenticació",
12 | "Dropbox access code" : "Codi d'accés de Dropbox",
13 | "Access code" : "Codi d'accés",
14 | "Connected as {user} ({email})" : "S'ha connectat com a {user} ({email})",
15 | "Import directory" : "Carpeta d'importació",
16 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fitxer importat","{amount} fitxers importats"]
17 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
18 | }
--------------------------------------------------------------------------------
/lib/AppInfo/Application.php:
--------------------------------------------------------------------------------
1 | registerNotifierService(Notifier::class);
28 | }
29 |
30 | public function boot(IBootContext $context): void {
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/l10n/it.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "Metodo HTTP non corretto",
4 | "Bad credentials" : "Credenziali non valide",
5 | "Token is not valid anymore. Impossible to refresh it." : "Il token non è più valido. Impossibile aggiornarlo.",
6 | "OAuth access token refused" : "Token di accesso OAuth rifiutato",
7 | "Connected accounts" : "Account connessi",
8 | "Data migration" : "Migrazione dei dati",
9 | "App key" : "Chiave applicazione",
10 | "App secret" : "Segreto applicazione",
11 | "Starting importing files in {targetPath} directory" : "Avvio dell'importazione file nella cartella {targetPath}",
12 | "Choose where to write imported files" : "Scegli dove scrivere i file importati",
13 | "Authentication" : "Autenticazione",
14 | "Connected as {user} ({email})" : "Connesso come {user} ({email})",
15 | "Import directory" : "Cartella di importazione"
16 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
17 | }
--------------------------------------------------------------------------------
/l10n/sc.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Bad HTTP method" : "Mètodu HTTP no bàlidu",
5 | "Bad credentials" : "Credentziales non bàlidas",
6 | "Token is not valid anymore. Impossible to refresh it." : "Su token no est prus bàlidu. Non faghet a dd'agiornare.",
7 | "OAuth access token refused" : "Token de intrada OAuth refudadu",
8 | "Connected accounts" : "Contos connètidos",
9 | "Data migration" : "Tramudadura de datos",
10 | "App key" : "Crae de s'aplicatzione",
11 | "App secret" : "Segretu de s'aplicatzione",
12 | "Starting importing files in {targetPath} directory" : "Aviamentu de s'importatzione de is archìvios in sa cartella {targetPath}",
13 | "Choose where to write imported files" : "Sèbera in ue est a pònnere is archìvios importados",
14 | "Authentication" : "Autenticatzione",
15 | "Connected as {user} ({email})" : "In connessione comente {user} ({email})",
16 | "Import directory" : "Importa cartella"
17 | },
18 | "nplurals=2; plural=(n != 1);");
19 |
--------------------------------------------------------------------------------
/l10n/sl.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "Neustrezen način HTTP",
4 | "Bad credentials" : "Neustrezna poverila",
5 | "Token is not valid anymore. Impossible to refresh it." : "Žeton ni več veljaven, zato ga ni mogoče osvežiti.",
6 | "OAuth access token refused" : "Žeton OAuth za dostop je bil zavrnjen",
7 | "Connected accounts" : "Povezani računi",
8 | "Data migration" : "Preselitev podatkov",
9 | "App key" : "Programski ključ",
10 | "App secret" : "Skrivni programski ključ",
11 | "Starting importing files in {targetPath} directory" : "Začeto je uvažanje datotek v mapo {targetPath}.",
12 | "Choose where to write imported files" : "Izbor mesta za shranjevanje uvoženih datotek",
13 | "Authentication" : "Overitev",
14 | "Import directory" : "Uvozi mapo",
15 | "Import job is currently running" : "Trenutno poteka opravilo uvažanja podatkov"
16 | },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
17 | }
--------------------------------------------------------------------------------
/l10n/hr.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Bad HTTP method" : "Pogrešna metoda HTTP-a",
5 | "Bad credentials" : "Pogrešne vjerodajnice",
6 | "Token is not valid anymore. Impossible to refresh it." : "Token više ne vrijedi. Nemoguće ga je osvježiti.",
7 | "OAuth access token refused" : "Odbijen token za pristup OAuth",
8 | "Connected accounts" : "Povezani računi",
9 | "Data migration" : "Migracija podataka",
10 | "App key" : "Ključ aplikacije",
11 | "App secret" : "Tajna aplikacije",
12 | "Starting importing files in {targetPath} directory" : "Početak uvoza datoteka u direktorij {targetPath}",
13 | "Choose where to write imported files" : "Odaberite gdje želite zapisivati uvezene datoteke",
14 | "Authentication" : "Autentifikacija",
15 | "Connected as {user} ({email})" : "Povezan kao {user} ({email})",
16 | "Import directory" : "Uvezi direktorij"
17 | },
18 | "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
19 |
--------------------------------------------------------------------------------
/l10n/ca.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "Mètode HTTP incorrecte",
6 | "Bad credentials" : "Credencials dolentes",
7 | "OAuth access token refused" : "S'ha rebutjat el testimoni d'accés d'OAuth",
8 | "Connected accounts" : "Comptes connectats",
9 | "Data migration" : "Migració de dades",
10 | "App key" : "Clau de l'aplicació",
11 | "App secret" : "Secret de l'aplicació",
12 | "Starting importing files in {targetPath} directory" : "S'està iniciant la importació de fitxers al directori {targetPath}",
13 | "Authentication" : "Autenticació",
14 | "Dropbox access code" : "Codi d'accés de Dropbox",
15 | "Access code" : "Codi d'accés",
16 | "Connected as {user} ({email})" : "S'ha connectat com a {user} ({email})",
17 | "Import directory" : "Carpeta d'importació",
18 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fitxer importat","{amount} fitxers importats"]
19 | },
20 | "nplurals=2; plural=(n != 1);");
21 |
--------------------------------------------------------------------------------
/l10n/it.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "Metodo HTTP non corretto",
6 | "Bad credentials" : "Credenziali non valide",
7 | "Token is not valid anymore. Impossible to refresh it." : "Il token non è più valido. Impossibile aggiornarlo.",
8 | "OAuth access token refused" : "Token di accesso OAuth rifiutato",
9 | "Connected accounts" : "Account connessi",
10 | "Data migration" : "Migrazione dei dati",
11 | "App key" : "Chiave applicazione",
12 | "App secret" : "Segreto applicazione",
13 | "Starting importing files in {targetPath} directory" : "Avvio dell'importazione file nella cartella {targetPath}",
14 | "Choose where to write imported files" : "Scegli dove scrivere i file importati",
15 | "Authentication" : "Autenticazione",
16 | "Connected as {user} ({email})" : "Connesso come {user} ({email})",
17 | "Import directory" : "Cartella di importazione"
18 | },
19 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
20 |
--------------------------------------------------------------------------------
/l10n/sl.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "Neustrezen način HTTP",
6 | "Bad credentials" : "Neustrezna poverila",
7 | "Token is not valid anymore. Impossible to refresh it." : "Žeton ni več veljaven, zato ga ni mogoče osvežiti.",
8 | "OAuth access token refused" : "Žeton OAuth za dostop je bil zavrnjen",
9 | "Connected accounts" : "Povezani računi",
10 | "Data migration" : "Preselitev podatkov",
11 | "App key" : "Programski ključ",
12 | "App secret" : "Skrivni programski ključ",
13 | "Starting importing files in {targetPath} directory" : "Začeto je uvažanje datotek v mapo {targetPath}.",
14 | "Choose where to write imported files" : "Izbor mesta za shranjevanje uvoženih datotek",
15 | "Authentication" : "Overitev",
16 | "Import directory" : "Uvozi mapo",
17 | "Import job is currently running" : "Trenutno poteka opravilo uvažanja podatkov"
18 | },
19 | "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
20 |
--------------------------------------------------------------------------------
/l10n/pl.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "Bad HTTP method" : "Zła metoda HTTP",
4 | "Bad credentials" : "Złe poświadczenia",
5 | "Token is not valid anymore. Impossible to refresh it." : "Token jest już nieważny. Nie można go odświeżyć.",
6 | "OAuth access token refused" : "Odmowa tokena dostępu OAuth",
7 | "Connected accounts" : "Połączone konta",
8 | "Data migration" : "Migracja danych",
9 | "App key" : "Klucz aplikacji",
10 | "App secret" : "Tajny klucz aplikacji",
11 | "Starting importing files in {targetPath} directory" : "Rozpoczynam importowanie plików w katalogu {targetPath}",
12 | "Choose where to write imported files" : "Wybierz, gdzie zapisać zaimportowane pliki",
13 | "Authentication" : "Uwierzytelnienie",
14 | "Connected as {user} ({email})" : "Połączono jako {user} ({email})",
15 | "Import directory" : "Importuj katalog"
16 | },"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);"
17 | }
--------------------------------------------------------------------------------
/src/utils.js:
--------------------------------------------------------------------------------
1 | /**
2 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
3 | * SPDX-License-Identifier: AGPL-3.0-or-later
4 | */
5 |
6 | let mytimer = 0
7 | export function delay(callback, ms) {
8 | return function() {
9 | const context = this
10 | const args = arguments
11 | clearTimeout(mytimer)
12 | mytimer = setTimeout(function() {
13 | callback.apply(context, args)
14 | }, ms || 0)
15 | }
16 | }
17 |
18 | export function humanFileSize(bytes, approx = false, si = false, dp = 1) {
19 | const thresh = si ? 1000 : 1024
20 |
21 | if (Math.abs(bytes) < thresh) {
22 | return bytes + ' B'
23 | }
24 |
25 | const units = si
26 | ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
27 | : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']
28 | let u = -1
29 | const r = 10 ** dp
30 |
31 | do {
32 | bytes /= thresh
33 | ++u
34 | } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1)
35 |
36 | if (approx) {
37 | return Math.floor(bytes) + ' ' + units[u]
38 | } else {
39 | return bytes.toFixed(dp) + ' ' + units[u]
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/l10n/pl.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "Bad HTTP method" : "Zła metoda HTTP",
6 | "Bad credentials" : "Złe poświadczenia",
7 | "Token is not valid anymore. Impossible to refresh it." : "Token jest już nieważny. Nie można go odświeżyć.",
8 | "OAuth access token refused" : "Odmowa tokena dostępu OAuth",
9 | "Connected accounts" : "Połączone konta",
10 | "Data migration" : "Migracja danych",
11 | "App key" : "Klucz aplikacji",
12 | "App secret" : "Tajny klucz aplikacji",
13 | "Starting importing files in {targetPath} directory" : "Rozpoczynam importowanie plików w katalogu {targetPath}",
14 | "Choose where to write imported files" : "Wybierz, gdzie zapisać zaimportowane pliki",
15 | "Authentication" : "Uwierzytelnienie",
16 | "Connected as {user} ({email})" : "Połączono jako {user} ({email})",
17 | "Import directory" : "Importuj katalog"
18 | },
19 | "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);");
20 |
--------------------------------------------------------------------------------
/LICENSES/MIT.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6 | associated documentation files (the "Software"), to deal in the Software without restriction, including
7 | without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
9 | following conditions:
10 |
11 | The above copyright notice and this permission notice shall be included in all copies or substantial
12 | portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
15 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
16 | EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
18 | USE OR OTHER DEALINGS IN THE SOFTWARE.
19 |
--------------------------------------------------------------------------------
/src/components/icons/DropboxIcon.vue:
--------------------------------------------------------------------------------
1 |
5 |
6 |
12 |
21 |
22 |
23 |
24 |
25 |
26 |
45 |
--------------------------------------------------------------------------------
/lib/BackgroundJob/ImportDropboxJob.php:
--------------------------------------------------------------------------------
1 | service->importDropboxJob($userId);
38 | } catch (\Exception|\Throwable $e) {
39 | $this->config->setUserValue($userId, Application::APP_ID, 'last_import_error', $e->getMessage());
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/REUSE.toml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
2 | # SPDX-License-Identifier: AGPL-3.0-or-later
3 | version = 1
4 | SPDX-PackageName = "integration_dropbox"
5 | SPDX-PackageSupplier = "Nextcloud "
6 | SPDX-PackageDownloadLocation = "https://github.com/nextcloud/integration_dropbox"
7 |
8 | [[annotations]]
9 | path = ["l10n/**.js", "l10n/**.json"]
10 | precedence = "aggregate"
11 | SPDX-FileCopyrightText = "2020-2024 Nextcloud translators"
12 | SPDX-License-Identifier = "AGPL-3.0-or-later"
13 |
14 | [[annotations]]
15 | path = [".tx/config", "package-lock.json", "package.json"]
16 | precedence = "aggregate"
17 | SPDX-FileCopyrightText = "2020 Nextcloud GmbH and Nextcloud contributors"
18 | SPDX-License-Identifier = "AGPL-3.0-or-later"
19 |
20 | [[annotations]]
21 | path = ["composer.json", "composer.lock"]
22 | precedence = "aggregate"
23 | SPDX-FileCopyrightText = "2023 Nextcloud GmbH and Nextcloud contributors"
24 | SPDX-License-Identifier = "AGPL-3.0-or-later"
25 |
26 | [[annotations]]
27 | path = ["img/app.svg", "img/app-dark.svg"]
28 | precedence = "aggregate"
29 | SPDX-FileCopyrightText = "2025 Dropbox International Unlimited Company"
30 | SPDX-License-Identifier = "LicenseRef-DropboxTrademarks"
31 |
--------------------------------------------------------------------------------
/.github/workflows/lint-info-xml.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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
7 | # SPDX-License-Identifier: MIT
8 |
9 | name: Lint info.xml
10 |
11 | on: pull_request
12 |
13 | permissions:
14 | contents: read
15 |
16 | concurrency:
17 | group: lint-info-xml-${{ github.head_ref || github.run_id }}
18 | cancel-in-progress: true
19 |
20 | jobs:
21 | xml-linters:
22 | runs-on: ubuntu-latest-low
23 |
24 | name: info.xml lint
25 | steps:
26 | - name: Checkout
27 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
28 | with:
29 | persist-credentials: false
30 |
31 | - name: Download schema
32 | run: wget https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/api/v1/release/info.xsd
33 |
34 | - name: Lint info.xml
35 | uses: ChristophWurst/xmllint-action@36f2a302f84f8c83fceea0b9c59e1eb4a616d3c1 # v1.2
36 | with:
37 | xml-file: ./appinfo/info.xml
38 | xml-schema-file: ./info.xsd
39 |
--------------------------------------------------------------------------------
/webpack.js:
--------------------------------------------------------------------------------
1 | /**
2 | * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
3 | * SPDX-License-Identifier: AGPL-3.0-or-later
4 | */
5 |
6 | const path = require('path')
7 | const webpackConfig = require('@nextcloud/webpack-vue-config')
8 | const ESLintPlugin = require('eslint-webpack-plugin')
9 | const StyleLintPlugin = require('stylelint-webpack-plugin')
10 |
11 | const buildMode = process.env.NODE_ENV
12 | const isDev = buildMode === 'development'
13 | webpackConfig.devtool = isDev ? 'cheap-source-map' : 'source-map'
14 |
15 | webpackConfig.stats = {
16 | colors: true,
17 | modules: false,
18 | }
19 |
20 | const appId = 'integration_dropbox'
21 | webpackConfig.entry = {
22 | personalSettings: { import: path.join(__dirname, 'src', 'personalSettings.js'), filename: appId + '-personalSettings.js' },
23 | adminSettings: { import: path.join(__dirname, 'src', 'adminSettings.js'), filename: appId + '-adminSettings.js' },
24 | }
25 |
26 | webpackConfig.plugins.push(
27 | new ESLintPlugin({
28 | extensions: ['js', 'vue'],
29 | files: 'src',
30 | failOnError: !isDev,
31 | })
32 | )
33 | webpackConfig.plugins.push(
34 | new StyleLintPlugin({
35 | files: 'src/**/*.{css,scss,vue}',
36 | failOnError: !isDev,
37 | }),
38 | )
39 |
40 | module.exports = webpackConfig
41 |
--------------------------------------------------------------------------------
/lib/Settings/Admin.php:
--------------------------------------------------------------------------------
1 | secretService->getEncryptedAppValue('client_id');
30 | $clientSecret = $this->secretService->getEncryptedAppValue('client_secret');
31 |
32 | $adminConfig = [
33 | 'client_id' => $clientID,
34 | 'client_secret' => $clientSecret !== '' ? 'dummySecret' : ''
35 | ];
36 | $this->initialStateService->provideInitialState('admin-config', $adminConfig);
37 | return new TemplateResponse(Application::APP_ID, 'adminSettings');
38 | }
39 |
40 | public function getSection(): string {
41 | return 'connected-accounts';
42 | }
43 |
44 | public function getPriority(): int {
45 | return 10;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/lib/Service/UserScopeService.php:
--------------------------------------------------------------------------------
1 | userManager->get($uid);
34 | if ($user === null) {
35 | throw new \InvalidArgumentException('No user found for the uid ' . $uid);
36 | }
37 | $this->userSession->setUser($user);
38 | }
39 |
40 | /**
41 | * Setup the FS which is needed to emit hooks
42 | *
43 | * This is required for versioning/activity as the legacy filesystem hooks
44 | * are not emitted if filesystem operations are executed though \OCP\Files\Node\File
45 | *
46 | * @param string $owner
47 | */
48 | public function setFilesystemScope(string $owner): void {
49 | \OC_Util::tearDownFS();
50 | \OC_Util::setupFS($owner);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/l10n/et_EE.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Dropbox" : "Dropbox",
3 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n fail on imporditud Dropboxi andmeruumist.","%n faili on imporditud Dropboxi andmeruumist."],
4 | "Bad HTTP method" : "Vigane HTTP-meetod",
5 | "Bad credentials" : "Vale kasutajanimi, salasõna või tunnusluba",
6 | "OAuth access token refused" : "OAuthi tunnusluba pole õige.",
7 | "Connected accounts" : "Ühendatud kasutajakontod",
8 | "Data migration" : "Andmete ümbertõstmine",
9 | "App key" : "Rakenduse võti",
10 | "Your Dropbox application key" : "Sinu Dropboxi rakenduse võti",
11 | "App secret" : "Rakenduse salasõna",
12 | "Your Dropbox application secret" : "Sinu Dropboxi rakenduse saladus",
13 | "Choose where to write imported files" : "Vali, kuhu soovid salvestada imporditud failid",
14 | "Authentication" : "Autentimine",
15 | "Import directory" : "Impordikaust",
16 | "Dropbox storage size: {formSize}" : "Dropboxi andmeruumi maht: {formSize}",
17 | "Import Dropbox files" : "Impordi Drpboxi faile",
18 | "An error occured during the import: {error}" : "Importimisel tekkis viga: {error}",
19 | "Cancel Dropbox files import" : "Katkesta Dropboxi failide import",
20 | "Your Dropbox storage is empty" : "Sinu Dropboxi andmeruum on tühi",
21 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fail on imporditud","{amount} faili on imporditud"]
22 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
23 | }
--------------------------------------------------------------------------------
/lib/Command/StartImport.php:
--------------------------------------------------------------------------------
1 | setName('integration_dropbox:start-import')
30 | ->addArgument('user_id', InputArgument::REQUIRED)
31 | ->setDescription('Start import for the passed user');
32 | }
33 |
34 | /**
35 | * Execute the command
36 | *
37 | * @param InputInterface $input
38 | * @param OutputInterface $output
39 | *
40 | * @return int
41 | */
42 | protected function execute(InputInterface $input, OutputInterface $output): int {
43 | try {
44 | $this->dropboxStorageAPIService->startImportDropbox($input->getArgument('user_id'));
45 | } catch (\Exception $ex) {
46 | $output->writeln('Failed to start import ');
47 | $output->writeln($ex->getMessage());
48 | return 1;
49 | }
50 |
51 | return 0;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/l10n/et_EE.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Dropbox" : "Dropbox",
5 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n fail on imporditud Dropboxi andmeruumist.","%n faili on imporditud Dropboxi andmeruumist."],
6 | "Bad HTTP method" : "Vigane HTTP-meetod",
7 | "Bad credentials" : "Vale kasutajanimi, salasõna või tunnusluba",
8 | "OAuth access token refused" : "OAuthi tunnusluba pole õige.",
9 | "Connected accounts" : "Ühendatud kasutajakontod",
10 | "Data migration" : "Andmete ümbertõstmine",
11 | "App key" : "Rakenduse võti",
12 | "Your Dropbox application key" : "Sinu Dropboxi rakenduse võti",
13 | "App secret" : "Rakenduse salasõna",
14 | "Your Dropbox application secret" : "Sinu Dropboxi rakenduse saladus",
15 | "Choose where to write imported files" : "Vali, kuhu soovid salvestada imporditud failid",
16 | "Authentication" : "Autentimine",
17 | "Import directory" : "Impordikaust",
18 | "Dropbox storage size: {formSize}" : "Dropboxi andmeruumi maht: {formSize}",
19 | "Import Dropbox files" : "Impordi Drpboxi faile",
20 | "An error occured during the import: {error}" : "Importimisel tekkis viga: {error}",
21 | "Cancel Dropbox files import" : "Katkesta Dropboxi failide import",
22 | "Your Dropbox storage is empty" : "Sinu Dropboxi andmeruum on tühi",
23 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fail on imporditud","{amount} faili on imporditud"]
24 | },
25 | "nplurals=2; plural=(n != 1);");
26 |
--------------------------------------------------------------------------------
/appinfo/info.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | integration_dropbox
8 | Dropbox integration
9 | Import Dropbox data in Nextcloud
10 |
11 | 4.1.0
12 | agpl
13 | Julien Veyssier
14 | Dropbox
15 |
16 | https://github.com/nextcloud/integration_dropbox/wikis
17 |
18 | integration
19 | https://github.com/nextcloud/integration_dropbox
20 | https://github.com/nextcloud/integration_dropbox/issues
21 | https://github.com/nextcloud/integration_dropbox/raw/master/img/screenshot1.jpg
22 |
23 |
24 |
25 |
26 | OCA\Dropbox\Command\StartImport
27 |
28 |
29 | OCA\Dropbox\Settings\Admin
30 | OCA\Dropbox\Settings\AdminSection
31 | OCA\Dropbox\Settings\Personal
32 | OCA\Dropbox\Settings\PersonalSection
33 |
34 |
35 |
--------------------------------------------------------------------------------
/lib/Settings/PersonalSection.php:
--------------------------------------------------------------------------------
1 | l->t('Data migration');
39 | }
40 |
41 | /**
42 | * @return int whether the form should be rather on the top or bottom of
43 | * the settings navigation. The sections are arranged in ascending order of
44 | * the priority values. It is required to return a value between 0 and 99.
45 | */
46 | public function getPriority(): int {
47 | return 80;
48 | }
49 |
50 | /**
51 | * @return string The relative path to a an icon describing the section
52 | */
53 | public function getIcon(): string {
54 | return $this->urlGenerator->imagePath('core', 'actions/download.svg');
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/lib/Settings/AdminSection.php:
--------------------------------------------------------------------------------
1 | l->t('Connected accounts');
39 | }
40 |
41 | /**
42 | * @return int whether the form should be rather on the top or bottom of
43 | * the settings navigation. The sections are arranged in ascending order of
44 | * the priority values. It is required to return a value between 0 and 99.
45 | */
46 | public function getPriority(): int {
47 | return 80;
48 | }
49 |
50 | /**
51 | * @return string The relative path to a an icon describing the section
52 | */
53 | public function getIcon(): string {
54 | return $this->urlGenerator->imagePath('core', 'categories/integration.svg');
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/psalm.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/l10n/sv.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Ogiltig åtkomstkod",
3 | "Dropbox" : "Dropbox",
4 | "Bad HTTP method" : "Felaktig HTTP-metod",
5 | "Bad credentials" : "Ogiltiga inloggningsuppgifter",
6 | "OAuth access token refused" : "OAuth-token avvisades",
7 | "Connected accounts" : "Anslutna konton",
8 | "Data migration" : "Datamigrering",
9 | "Dropbox integration" : "Dropbox-integration",
10 | "App key" : "Appnyckel",
11 | "Your Dropbox application key" : "Din programnyckel för Dropbox",
12 | "App secret" : "Apphemlighet",
13 | "Your Dropbox application secret" : "Din programhemlighet för Dropbox",
14 | "Successfully connected to Dropbox!" : "Ansluten till Dropbox!",
15 | "Failed to connect to Dropbox" : "Misslyckades med att ansluta till Dropbox",
16 | "Choose where to write imported files" : "Välj var importerade filer ska skrivas",
17 | "Authentication" : "Autentisering",
18 | "Connect to Dropbox to get an access code" : "Anslut till Dropbox för att få en åtkomstkod",
19 | "Dropbox access code" : "Åtkomstkod för Dropbox",
20 | "Access code" : "Åtkomstkod",
21 | "Connected as {user} ({email})" : "Ansluten som {user} ({email})",
22 | "Disconnect from Dropbox" : "Koppla från Dropbox",
23 | "Dropbox storage" : "Dropbox-lagring",
24 | "Import directory" : "Importera katalog",
25 | "Dropbox storage size: {formSize}" : "Storlek för Dropbox-lagring: {formSize}",
26 | "Import Dropbox files" : "Importera Dropbox-filer",
27 | "Cancel Dropbox files import" : "Avbryt import av Dropbox-filer",
28 | "Your Dropbox storage is empty" : "Din Dropbox-lagring är tom",
29 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fil importerad","{amount} filer importerade"]
30 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
31 | }
--------------------------------------------------------------------------------
/l10n/sv.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Ogiltig åtkomstkod",
5 | "Dropbox" : "Dropbox",
6 | "Bad HTTP method" : "Felaktig HTTP-metod",
7 | "Bad credentials" : "Ogiltiga inloggningsuppgifter",
8 | "OAuth access token refused" : "OAuth-token avvisades",
9 | "Connected accounts" : "Anslutna konton",
10 | "Data migration" : "Datamigrering",
11 | "Dropbox integration" : "Dropbox-integration",
12 | "App key" : "Appnyckel",
13 | "Your Dropbox application key" : "Din programnyckel för Dropbox",
14 | "App secret" : "Apphemlighet",
15 | "Your Dropbox application secret" : "Din programhemlighet för Dropbox",
16 | "Successfully connected to Dropbox!" : "Ansluten till Dropbox!",
17 | "Failed to connect to Dropbox" : "Misslyckades med att ansluta till Dropbox",
18 | "Choose where to write imported files" : "Välj var importerade filer ska skrivas",
19 | "Authentication" : "Autentisering",
20 | "Connect to Dropbox to get an access code" : "Anslut till Dropbox för att få en åtkomstkod",
21 | "Dropbox access code" : "Åtkomstkod för Dropbox",
22 | "Access code" : "Åtkomstkod",
23 | "Connected as {user} ({email})" : "Ansluten som {user} ({email})",
24 | "Disconnect from Dropbox" : "Koppla från Dropbox",
25 | "Dropbox storage" : "Dropbox-lagring",
26 | "Import directory" : "Importera katalog",
27 | "Dropbox storage size: {formSize}" : "Storlek för Dropbox-lagring: {formSize}",
28 | "Import Dropbox files" : "Importera Dropbox-filer",
29 | "Cancel Dropbox files import" : "Avbryt import av Dropbox-filer",
30 | "Your Dropbox storage is empty" : "Din Dropbox-lagring är tom",
31 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fil importerad","{amount} filer importerade"]
32 | },
33 | "nplurals=2; plural=(n != 1);");
34 |
--------------------------------------------------------------------------------
/.github/workflows/lint-php-cs.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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
7 | # SPDX-License-Identifier: MIT
8 |
9 | name: Lint php-cs
10 |
11 | on: pull_request
12 |
13 | permissions:
14 | contents: read
15 |
16 | concurrency:
17 | group: lint-php-cs-${{ github.head_ref || github.run_id }}
18 | cancel-in-progress: true
19 |
20 | jobs:
21 | lint:
22 | runs-on: ubuntu-latest
23 |
24 | name: php-cs
25 |
26 | steps:
27 | - name: Checkout
28 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
29 | with:
30 | persist-credentials: false
31 |
32 | - name: Get php version
33 | id: versions
34 | uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
35 |
36 | - name: Set up php${{ steps.versions.outputs.php-min }}
37 | uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0
38 | with:
39 | php-version: ${{ steps.versions.outputs.php-min }}
40 | extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
41 | coverage: none
42 | ini-file: development
43 | env:
44 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45 |
46 | - name: Install dependencies
47 | run: |
48 | composer remove nextcloud/ocp --dev
49 | composer i
50 |
51 | - name: Lint
52 | run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
53 |
--------------------------------------------------------------------------------
/l10n/ru.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Неверный код доступа",
3 | "Dropbox" : "Dropbox",
4 | "Bad HTTP method" : "Неверный метод HTTP",
5 | "Bad credentials" : "Неверные учетные данные",
6 | "Token is not valid anymore. Impossible to refresh it." : "Токен больше не действителен. Невозможно обновить его.",
7 | "OAuth access token refused" : "Токен доступа OAuth был отклонен",
8 | "Connected accounts" : "Подключённые учётные записи",
9 | "Data migration" : "Перенос данных",
10 | "Dropbox integration" : "Интеграция с Dropbox",
11 | "Import Dropbox data in Nextcloud" : "Импорт данных Dropbox в Nextcloud",
12 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Интеграция с Dropbox позволяет вам автоматически импортировать ваши файлы из Dropbox в Nextcloud",
13 | "Dropbox developer settings" : "Настройки разработчика Dropbox",
14 | "App key" : "Ключ приложения",
15 | "App secret" : "Секретный ключ ",
16 | "Starting importing files in {targetPath} directory" : "Начало импорта файлов в каталог {targetPath}",
17 | "Choose where to write imported files" : "Выберите, куда сохранять импортированные файлы",
18 | "Authentication" : "Аутентификация",
19 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Если у вас возникли проблемы с аутентификацией, попросите администратора Nextcloud проверить настройки администратора Dropbox.",
20 | "Connected as {user} ({email})" : "Подключено как {user} ({email})",
21 | "Import directory" : "Каталог импорта",
22 | "Import job is currently running" : "Задание импорта в настоящее время выполняется"
23 | },"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);"
24 | }
--------------------------------------------------------------------------------
/l10n/mk.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Невалиден код за пристап",
3 | "Dropbox" : "Dropbox",
4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n датотека е увезена од Dropbox","%n датотеки се увезени од Dropbox."],
5 | "Bad credentials" : "Неточни акредитиви",
6 | "Token is not valid anymore. Impossible to refresh it." : "Токенот не е валиден повеќе. Неможе да се освежи.",
7 | "OAuth access token refused" : "Одбиен OAuth пристапен токен ",
8 | "Connected accounts" : "Поврзани сметки",
9 | "Data migration" : "Мигрирање на податоци",
10 | "Dropbox integration" : "Dropbox интеграција",
11 | "App key" : "Клуч на апликацијата",
12 | "App secret" : "Тајна на апликацијата",
13 | "Failed to get Dropbox storage information" : "Неуспешно добивање информации за Dropbox складиштето",
14 | "Starting importing files in {targetPath} directory" : "Почеток на увоз на датотеки во папката {targetPath}",
15 | "Choose where to write imported files" : "Избери каде да ги увезете датотеките",
16 | "Dropbox data migration" : "Мигрирање на податоци од Dropbox ",
17 | "Authentication" : "Автентикација",
18 | "Connect to Dropbox to get an access code" : "Поврзи се на Dropbox за пристапен код",
19 | "Dropbox access code" : "Dropbox код за пристап",
20 | "Connected as {user} ({email})" : "Поврзан како {user} ({email})",
21 | "Disconnect from Dropbox" : "Исклучи се од Dropbox",
22 | "Dropbox storage" : "Dropbox складиште",
23 | "Import directory" : "Увези папка",
24 | "Import Dropbox files" : "Увези датотеки од Dropbox",
25 | "Cancel Dropbox files import" : "Прекини увоз на Dropbox податоци",
26 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} датотека увезена","{amount} датотеки увезени"]
27 | },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
28 | }
--------------------------------------------------------------------------------
/l10n/ru.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Неверный код доступа",
5 | "Dropbox" : "Dropbox",
6 | "Bad HTTP method" : "Неверный метод HTTP",
7 | "Bad credentials" : "Неверные учетные данные",
8 | "Token is not valid anymore. Impossible to refresh it." : "Токен больше не действителен. Невозможно обновить его.",
9 | "OAuth access token refused" : "Токен доступа OAuth был отклонен",
10 | "Connected accounts" : "Подключённые учётные записи",
11 | "Data migration" : "Перенос данных",
12 | "Dropbox integration" : "Интеграция с Dropbox",
13 | "Import Dropbox data in Nextcloud" : "Импорт данных Dropbox в Nextcloud",
14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Интеграция с Dropbox позволяет вам автоматически импортировать ваши файлы из Dropbox в Nextcloud",
15 | "Dropbox developer settings" : "Настройки разработчика Dropbox",
16 | "App key" : "Ключ приложения",
17 | "App secret" : "Секретный ключ ",
18 | "Starting importing files in {targetPath} directory" : "Начало импорта файлов в каталог {targetPath}",
19 | "Choose where to write imported files" : "Выберите, куда сохранять импортированные файлы",
20 | "Authentication" : "Аутентификация",
21 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Если у вас возникли проблемы с аутентификацией, попросите администратора Nextcloud проверить настройки администратора Dropbox.",
22 | "Connected as {user} ({email})" : "Подключено как {user} ({email})",
23 | "Import directory" : "Каталог импорта",
24 | "Import job is currently running" : "Задание импорта в настоящее время выполняется"
25 | },
26 | "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);");
27 |
--------------------------------------------------------------------------------
/l10n/mk.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Невалиден код за пристап",
5 | "Dropbox" : "Dropbox",
6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n датотека е увезена од Dropbox","%n датотеки се увезени од Dropbox."],
7 | "Bad credentials" : "Неточни акредитиви",
8 | "Token is not valid anymore. Impossible to refresh it." : "Токенот не е валиден повеќе. Неможе да се освежи.",
9 | "OAuth access token refused" : "Одбиен OAuth пристапен токен ",
10 | "Connected accounts" : "Поврзани сметки",
11 | "Data migration" : "Мигрирање на податоци",
12 | "Dropbox integration" : "Dropbox интеграција",
13 | "App key" : "Клуч на апликацијата",
14 | "App secret" : "Тајна на апликацијата",
15 | "Failed to get Dropbox storage information" : "Неуспешно добивање информации за Dropbox складиштето",
16 | "Starting importing files in {targetPath} directory" : "Почеток на увоз на датотеки во папката {targetPath}",
17 | "Choose where to write imported files" : "Избери каде да ги увезете датотеките",
18 | "Dropbox data migration" : "Мигрирање на податоци од Dropbox ",
19 | "Authentication" : "Автентикација",
20 | "Connect to Dropbox to get an access code" : "Поврзи се на Dropbox за пристапен код",
21 | "Dropbox access code" : "Dropbox код за пристап",
22 | "Connected as {user} ({email})" : "Поврзан како {user} ({email})",
23 | "Disconnect from Dropbox" : "Исклучи се од Dropbox",
24 | "Dropbox storage" : "Dropbox складиште",
25 | "Import directory" : "Увези папка",
26 | "Import Dropbox files" : "Увези датотеки од Dropbox",
27 | "Cancel Dropbox files import" : "Прекини увоз на Dropbox податоци",
28 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} датотека увезена","{amount} датотеки увезени"]
29 | },
30 | "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
31 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "integration_dropbox",
3 | "version": "4.1.0",
4 | "description": "Dropbox integration",
5 | "main": "index.js",
6 | "directories": {
7 | "test": "tests"
8 | },
9 | "scripts": {
10 | "build": "NODE_ENV=production webpack --progress --config webpack.js",
11 | "dev": "NODE_ENV=development webpack --progress --config webpack.js",
12 | "watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
13 | "lint": "eslint --ext .js,.vue src",
14 | "lint:fix": "eslint --ext .js,.vue src --fix",
15 | "stylelint": "stylelint src/**/*.vue src/**/*.scss src/**/*.css",
16 | "stylelint:fix": "stylelint src/**/*.vue src/**/*.scss src/**/*.css --fix"
17 | },
18 | "repository": {
19 | "type": "git",
20 | "url": "https://github.com/nextcloud/integration_dropbox"
21 | },
22 | "keywords": [
23 | "dropbox"
24 | ],
25 | "author": "Julien Veyssier",
26 | "license": "AGPL-3.0",
27 | "bugs": {
28 | "url": "https://github.com/nextcloud/integration_dropbox/issues"
29 | },
30 | "homepage": "https://github.com/nextcloud/integration_dropbox",
31 | "browserslist": [
32 | "extends @nextcloud/browserslist-config"
33 | ],
34 | "engines": {
35 | "node": "^16.0.0",
36 | "npm": "^7.0.0 || ^8.0.0"
37 | },
38 | "dependencies": {
39 | "@nextcloud/auth": "^2.5.1",
40 | "@nextcloud/axios": "^2.5.0",
41 | "@nextcloud/dialogs": "^5.3.7",
42 | "@nextcloud/initial-state": "^2.2.0",
43 | "@nextcloud/l10n": "^3.2.0",
44 | "@nextcloud/moment": "^1.3.4",
45 | "@nextcloud/password-confirmation": "^5.3.1",
46 | "@nextcloud/router": "^3.0.1",
47 | "@nextcloud/vue": "^8.26.1",
48 | "vue": "^2.6.11",
49 | "vue-material-design-icons": "^5.3.1"
50 | },
51 | "devDependencies": {
52 | "@nextcloud/babel-config": "^1.2.0",
53 | "@nextcloud/browserslist-config": "^3.0.1",
54 | "@nextcloud/eslint-config": "^8.4.2",
55 | "@nextcloud/stylelint-config": "^3.0.1",
56 | "@nextcloud/webpack-vue-config": "^6.2.0",
57 | "eslint-webpack-plugin": "^4.2.0",
58 | "stylelint-webpack-plugin": "^5.0.1"
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/l10n/lt_LT.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Neteisingas prieigos kodas",
3 | "Dropbox" : "Dropbox",
4 | "Bad HTTP method" : "Blogas HTTP metodas",
5 | "Bad credentials" : "Blogi prisijungimo duomenys",
6 | "Token is not valid anymore. Impossible to refresh it." : "Prieigos raktas daugiau nebegalioja. Neįmanoma įkelti jo iš naujo.",
7 | "OAuth access token refused" : "„OAuth“ prieigos raktas atmestas",
8 | "Connected accounts" : "Prijungtos paskyros",
9 | "Data migration" : "Duomenų perkėlimas",
10 | "Dropbox integration" : "„Dropbox“ integracija",
11 | "Import Dropbox data in Nextcloud" : "Importuoti „Dropbox“ duomenis į Nextcloud",
12 | "App key" : "Trečiųjų šalių programinės įrangos identifikacijos raktas",
13 | "App secret" : "Trečiųjų šalių programinės įrangos slaptažodis",
14 | "Successfully connected to Dropbox!" : "Sėkmingai prisijungta prie „Dropbox“!",
15 | "Failed to connect to Dropbox" : "Nepavyko prisijungti prie „Dropbox“",
16 | "Starting importing files in {targetPath} directory" : "Pradedamas failų importavimas į {targetPath} katalogą",
17 | "Authentication" : "Tapatybės nustatymas",
18 | "Dropbox access code" : "„Dropbox“ prieigos kodas",
19 | "Access code" : "Prieigos kodas",
20 | "Connected as {user} ({email})" : "Prisijungta kaip {user} ({email})",
21 | "Disconnect from Dropbox" : "Atsijungti nuo „Dropbox“",
22 | "Dropbox storage" : "„Dropbox“ saugykla",
23 | "Import directory" : "Importuoti katalogą",
24 | "Dropbox storage size: {formSize}" : "„Dropbox“ saugyklos dydis: {formSize}",
25 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Jūsų „Dropbox“ saugykla yra didesnė, nei jums yra likę laisvos vietos ({formSpace})",
26 | "Your Dropbox storage is empty" : "Jūsų „Dropbox“ saugykla yra tuščia",
27 | "_{amount} file imported_::_{amount} files imported_" : ["Importuotas {amount} failas","Importuoti {amount} failai","Importuota {amount} failų","Importuotas {amount} failas"]
28 | },"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);"
29 | }
--------------------------------------------------------------------------------
/l10n/lt_LT.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Neteisingas prieigos kodas",
5 | "Dropbox" : "Dropbox",
6 | "Bad HTTP method" : "Blogas HTTP metodas",
7 | "Bad credentials" : "Blogi prisijungimo duomenys",
8 | "Token is not valid anymore. Impossible to refresh it." : "Prieigos raktas daugiau nebegalioja. Neįmanoma įkelti jo iš naujo.",
9 | "OAuth access token refused" : "„OAuth“ prieigos raktas atmestas",
10 | "Connected accounts" : "Prijungtos paskyros",
11 | "Data migration" : "Duomenų perkėlimas",
12 | "Dropbox integration" : "„Dropbox“ integracija",
13 | "Import Dropbox data in Nextcloud" : "Importuoti „Dropbox“ duomenis į Nextcloud",
14 | "App key" : "Trečiųjų šalių programinės įrangos identifikacijos raktas",
15 | "App secret" : "Trečiųjų šalių programinės įrangos slaptažodis",
16 | "Successfully connected to Dropbox!" : "Sėkmingai prisijungta prie „Dropbox“!",
17 | "Failed to connect to Dropbox" : "Nepavyko prisijungti prie „Dropbox“",
18 | "Starting importing files in {targetPath} directory" : "Pradedamas failų importavimas į {targetPath} katalogą",
19 | "Authentication" : "Tapatybės nustatymas",
20 | "Dropbox access code" : "„Dropbox“ prieigos kodas",
21 | "Access code" : "Prieigos kodas",
22 | "Connected as {user} ({email})" : "Prisijungta kaip {user} ({email})",
23 | "Disconnect from Dropbox" : "Atsijungti nuo „Dropbox“",
24 | "Dropbox storage" : "„Dropbox“ saugykla",
25 | "Import directory" : "Importuoti katalogą",
26 | "Dropbox storage size: {formSize}" : "„Dropbox“ saugyklos dydis: {formSize}",
27 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Jūsų „Dropbox“ saugykla yra didesnė, nei jums yra likę laisvos vietos ({formSpace})",
28 | "Your Dropbox storage is empty" : "Jūsų „Dropbox“ saugykla yra tuščia",
29 | "_{amount} file imported_::_{amount} files imported_" : ["Importuotas {amount} failas","Importuoti {amount} failai","Importuota {amount} failų","Importuotas {amount} failas"]
30 | },
31 | "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);");
32 |
--------------------------------------------------------------------------------
/img/post.svg:
--------------------------------------------------------------------------------
1 |
2 |
15 |
17 |
18 |
20 | image/svg+xml
21 |
23 |
24 |
25 |
26 |
28 |
48 |
52 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/lib/Service/SecretService.php:
--------------------------------------------------------------------------------
1 | config->setUserValue($userId, Application::APP_ID, $key, '');
34 | return;
35 | }
36 | $encryptedValue = $this->crypto->encrypt($value);
37 | $this->config->setUserValue($userId, Application::APP_ID, $key, $encryptedValue);
38 | }
39 |
40 | /**
41 | * @param string $userId
42 | * @param string $key
43 | * @return string
44 | * @throws \Exception
45 | */
46 | public function getEncryptedUserValue(string $userId, string $key): string {
47 | $storedValue = $this->config->getUserValue($userId, Application::APP_ID, $key);
48 | if ($storedValue === '') {
49 | return '';
50 | }
51 | return $this->crypto->decrypt($storedValue);
52 | }
53 |
54 | /**
55 | * @param string $key
56 | * @param string $value
57 | * @return void
58 | */
59 | public function setEncryptedAppValue(string $key, string $value): void {
60 | if ($value === '') {
61 | $this->config->setAppValue(Application::APP_ID, $key, '');
62 | return;
63 | }
64 | $encryptedValue = $this->crypto->encrypt($value);
65 | $this->config->setAppValue(Application::APP_ID, $key, $encryptedValue);
66 | }
67 |
68 | /**
69 | * @param string $key
70 | * @return string
71 | * @throws \Exception
72 | */
73 | public function getEncryptedAppValue(string $key): string {
74 | $storedValue = $this->config->getAppValue(Application::APP_ID, $key);
75 | if ($storedValue === '') {
76 | return '';
77 | }
78 | return $this->crypto->decrypt($storedValue);
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/img/message.svg:
--------------------------------------------------------------------------------
1 |
2 |
15 |
17 |
18 |
20 | image/svg+xml
21 |
23 |
24 |
25 |
26 |
28 |
48 |
52 |
60 |
61 |
--------------------------------------------------------------------------------
/lib/Settings/Personal.php:
--------------------------------------------------------------------------------
1 | config->getUserValue($this->userId, Application::APP_ID, 'email');
37 | $accountId = $this->config->getUserValue($this->userId, Application::APP_ID, 'account_id');
38 | $userName = $this->config->getUserValue($this->userId, Application::APP_ID, 'user_name');
39 | $outputDir = $this->config->getUserValue($this->userId, Application::APP_ID, 'output_dir', '/Dropbox import');
40 |
41 | // for OAuth
42 | $clientID = $this->secretService->getEncryptedAppValue('client_id');
43 | $hasClientSecret = $this->secretService->getEncryptedAppValue('client_secret') !== '';
44 |
45 | // get free space
46 | $userFolder = $this->root->getUserFolder($this->userId);
47 | $freeSpace = $userFolder->getStorage()->free_space('/');
48 | $user = $this->userManager->get($this->userId);
49 |
50 | $userConfig = [
51 | 'has_client_secret' => $hasClientSecret,
52 | 'client_id' => $clientID,
53 | 'account_id' => $accountId,
54 | 'email' => $email,
55 | 'user_name' => $userName,
56 | 'free_space' => $freeSpace,
57 | 'user_quota' => $user?->getQuota(),
58 | 'output_dir' => $outputDir,
59 | ];
60 | $this->initialStateService->provideInitialState('user-config', $userConfig);
61 | return new TemplateResponse(Application::APP_ID, 'personalSettings');
62 | }
63 |
64 | public function getSection(): string {
65 | return 'migration';
66 | }
67 |
68 | public function getPriority(): int {
69 | return 10;
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/.github/workflows/lint-php.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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
7 | # SPDX-License-Identifier: MIT
8 |
9 | name: Lint php
10 |
11 | on: pull_request
12 |
13 | permissions:
14 | contents: read
15 |
16 | concurrency:
17 | group: lint-php-${{ github.head_ref || github.run_id }}
18 | cancel-in-progress: true
19 |
20 | jobs:
21 | matrix:
22 | runs-on: ubuntu-latest-low
23 | outputs:
24 | php-versions: ${{ steps.versions.outputs.php-versions }}
25 | steps:
26 | - name: Checkout app
27 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
28 | with:
29 | persist-credentials: false
30 |
31 | - name: Get version matrix
32 | id: versions
33 | uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.0.0
34 |
35 | php-lint:
36 | runs-on: ubuntu-latest
37 | needs: matrix
38 | strategy:
39 | matrix:
40 | php-versions: ${{fromJson(needs.matrix.outputs.php-versions)}}
41 |
42 | name: php-lint
43 |
44 | steps:
45 | - name: Checkout
46 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
47 | with:
48 | persist-credentials: false
49 |
50 | - name: Set up php ${{ matrix.php-versions }}
51 | uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0
52 | with:
53 | php-version: ${{ matrix.php-versions }}
54 | extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
55 | coverage: none
56 | ini-file: development
57 | env:
58 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59 |
60 | - name: Lint
61 | run: composer run lint
62 |
63 | summary:
64 | permissions:
65 | contents: none
66 | runs-on: ubuntu-latest-low
67 | needs: php-lint
68 |
69 | if: always()
70 |
71 | name: php-lint-summary
72 |
73 | steps:
74 | - name: Summary status
75 | run: if ${{ needs.php-lint.result != 'success' && needs.php-lint.result != 'skipped' }}; then exit 1; fi
76 |
--------------------------------------------------------------------------------
/l10n/fi.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Virheellinen pääsykoodi",
3 | "Dropbox" : "Dropbox",
4 | "Bad HTTP method" : "Virheellinen HTTP-metodi",
5 | "Bad credentials" : "Virheelliset kirjautumistiedot",
6 | "Token is not valid anymore. Impossible to refresh it." : "Valtuutus ei ole enää käyttökelpoinen. Sitä ei voida päivittää.",
7 | "OAuth access token refused" : "OAuth-valtuutus hylätty",
8 | "Connected accounts" : "Yhdistetyt tilit",
9 | "Data migration" : "Tietojen migraatio",
10 | "Dropbox integration" : "Dropbox-integraatio",
11 | "Import Dropbox data in Nextcloud" : "Tuo Dropbox-tiedot Nextcloudiin",
12 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox-integraatio mahdollistaa Dropbox-tiedostojen tuomisen automaattisesti Nextcloudiin.",
13 | "Dropbox developer settings" : "Dropbox-kehittäjäasetukset",
14 | "App key" : "Sovellusavain",
15 | "App secret" : "Sovellussalaisuus",
16 | "Last Dropbox import job at {date}" : "Viimeisin Dropbox-tuonti {date}",
17 | "Dropbox import process will begin soon" : "Dropbox-tuonti alkaa pian",
18 | "Dropbox options saved" : "Dropbox-asetukset tallennettu",
19 | "Failed to save Dropbox options" : "Dropbox-valintojen tallentaminen epäonnistui",
20 | "Successfully connected to Dropbox!" : "Yhdistetty Dropboxiin!",
21 | "Failed to connect to Dropbox" : "Yhdistäminen Dropboxiin epäonnistui",
22 | "Starting importing files in {targetPath} directory" : "Aloitetaan tiedostojen tuonti kohteeseen {targetPath}",
23 | "Choose where to write imported files" : "Valitse, mihin tiedostot tuodaan",
24 | "Authentication" : "Tunnistautuminen",
25 | "Connect to Dropbox to get an access code" : "Yhdistä Dropboxiin saadaksesi pääsykoodin",
26 | "Dropbox access code" : "Dropboxin pääsykoodi",
27 | "Access code" : "Pääsykoodi",
28 | "Connected as {user} ({email})" : "Yhdistetty käyttäjänä {user} ({email})",
29 | "Disconnect from Dropbox" : "Katkaise yhteys Dropboxiin",
30 | "Dropbox storage" : "Dropbox-tallennustila",
31 | "Import directory" : "Tuo kansio",
32 | "Dropbox storage size: {formSize}" : "Dropbox-tallennustilan koko: {formSize}",
33 | "Import Dropbox files" : "Tuo Dropbox-tiedostot",
34 | "Import job is currently running" : "Tuontityö on meneillään",
35 | "Cancel Dropbox files import" : "Peruuta Dropbox-tiedostojen tuonti",
36 | "Your Dropbox storage is empty" : "Dropbox-tallennustilasi on tyhjä",
37 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} tiedosto tuotu","{amount} tiedostoa tuotu"]
38 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
39 | }
--------------------------------------------------------------------------------
/l10n/fi.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Virheellinen pääsykoodi",
5 | "Dropbox" : "Dropbox",
6 | "Bad HTTP method" : "Virheellinen HTTP-metodi",
7 | "Bad credentials" : "Virheelliset kirjautumistiedot",
8 | "Token is not valid anymore. Impossible to refresh it." : "Valtuutus ei ole enää käyttökelpoinen. Sitä ei voida päivittää.",
9 | "OAuth access token refused" : "OAuth-valtuutus hylätty",
10 | "Connected accounts" : "Yhdistetyt tilit",
11 | "Data migration" : "Tietojen migraatio",
12 | "Dropbox integration" : "Dropbox-integraatio",
13 | "Import Dropbox data in Nextcloud" : "Tuo Dropbox-tiedot Nextcloudiin",
14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox-integraatio mahdollistaa Dropbox-tiedostojen tuomisen automaattisesti Nextcloudiin.",
15 | "Dropbox developer settings" : "Dropbox-kehittäjäasetukset",
16 | "App key" : "Sovellusavain",
17 | "App secret" : "Sovellussalaisuus",
18 | "Last Dropbox import job at {date}" : "Viimeisin Dropbox-tuonti {date}",
19 | "Dropbox import process will begin soon" : "Dropbox-tuonti alkaa pian",
20 | "Dropbox options saved" : "Dropbox-asetukset tallennettu",
21 | "Failed to save Dropbox options" : "Dropbox-valintojen tallentaminen epäonnistui",
22 | "Successfully connected to Dropbox!" : "Yhdistetty Dropboxiin!",
23 | "Failed to connect to Dropbox" : "Yhdistäminen Dropboxiin epäonnistui",
24 | "Starting importing files in {targetPath} directory" : "Aloitetaan tiedostojen tuonti kohteeseen {targetPath}",
25 | "Choose where to write imported files" : "Valitse, mihin tiedostot tuodaan",
26 | "Authentication" : "Tunnistautuminen",
27 | "Connect to Dropbox to get an access code" : "Yhdistä Dropboxiin saadaksesi pääsykoodin",
28 | "Dropbox access code" : "Dropboxin pääsykoodi",
29 | "Access code" : "Pääsykoodi",
30 | "Connected as {user} ({email})" : "Yhdistetty käyttäjänä {user} ({email})",
31 | "Disconnect from Dropbox" : "Katkaise yhteys Dropboxiin",
32 | "Dropbox storage" : "Dropbox-tallennustila",
33 | "Import directory" : "Tuo kansio",
34 | "Dropbox storage size: {formSize}" : "Dropbox-tallennustilan koko: {formSize}",
35 | "Import Dropbox files" : "Tuo Dropbox-tiedostot",
36 | "Import job is currently running" : "Tuontityö on meneillään",
37 | "Cancel Dropbox files import" : "Peruuta Dropbox-tiedostojen tuonti",
38 | "Your Dropbox storage is empty" : "Dropbox-tallennustilasi on tyhjä",
39 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} tiedosto tuotu","{amount} tiedostoa tuotu"]
40 | },
41 | "nplurals=2; plural=(n != 1);");
42 |
--------------------------------------------------------------------------------
/lib/Notification/Notifier.php:
--------------------------------------------------------------------------------
1 | factory->get('integration_dropbox')->t('Dropbox');
46 | }
47 |
48 | /**
49 | * @param INotification $notification
50 | * @param string $languageCode The code of the language that should be used to prepare the notification
51 | * @return INotification
52 | * @throws InvalidArgumentException When the notification was not prepared by a notifier
53 | * @since 9.0.0
54 | */
55 | public function prepare(INotification $notification, string $languageCode): INotification {
56 | if ($notification->getApp() !== 'integration_dropbox') {
57 | // Not my app => throw
58 | throw new InvalidArgumentException();
59 | }
60 |
61 | $l = $this->factory->get('integration_dropbox', $languageCode);
62 |
63 | switch ($notification->getSubject()) {
64 | case 'import_dropbox_finished':
65 | $p = $notification->getSubjectParameters();
66 | $nbImported = (int)($p['nbImported'] ?? 0);
67 | /** @var string $targetPath */
68 | $targetPath = $p['targetPath'];
69 | $content = $l->n('%n file was imported from Dropbox storage.', '%n files were imported from Dropbox storage.', $nbImported);
70 |
71 | $notification->setParsedSubject($content)
72 | ->setIcon($this->url->getAbsoluteURL($this->url->imagePath(Application::APP_ID, 'app-dark.svg')))
73 | ->setLink($this->url->linkToRouteAbsolute('files.view.index', ['dir' => $targetPath]));
74 | return $notification;
75 |
76 | default:
77 | // Unknown subject => Unknown notification => throw
78 | throw new InvalidArgumentException();
79 | }
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/.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: nextcloud/pr-feedback-action@1883b38a033fb16f576875e0cf45f98b857655c4 # main
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 |
--------------------------------------------------------------------------------
/.github/workflows/lint-eslint.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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
7 | # SPDX-License-Identifier: MIT
8 |
9 | name: Lint eslint
10 |
11 | on: pull_request
12 |
13 | permissions:
14 | contents: read
15 |
16 | concurrency:
17 | group: lint-eslint-${{ github.head_ref || github.run_id }}
18 | cancel-in-progress: true
19 |
20 | jobs:
21 | changes:
22 | runs-on: ubuntu-latest-low
23 | permissions:
24 | contents: read
25 | pull-requests: read
26 |
27 | outputs:
28 | src: ${{ steps.changes.outputs.src}}
29 |
30 | steps:
31 | - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
32 | id: changes
33 | continue-on-error: true
34 | with:
35 | filters: |
36 | src:
37 | - '.github/workflows/**'
38 | - 'src/**'
39 | - 'appinfo/info.xml'
40 | - 'package.json'
41 | - 'package-lock.json'
42 | - 'tsconfig.json'
43 | - '.eslintrc.*'
44 | - '.eslintignore'
45 | - '**.js'
46 | - '**.ts'
47 | - '**.vue'
48 |
49 | lint:
50 | runs-on: ubuntu-latest
51 |
52 | needs: changes
53 | if: needs.changes.outputs.src != 'false'
54 |
55 | name: NPM lint
56 |
57 | steps:
58 | - name: Checkout
59 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
60 | with:
61 | persist-credentials: false
62 |
63 | - name: Read package.json node and npm engines version
64 | uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
65 | id: versions
66 | with:
67 | fallbackNode: '^20'
68 | fallbackNpm: '^10'
69 |
70 | - name: Set up node ${{ steps.versions.outputs.nodeVersion }}
71 | uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
72 | with:
73 | node-version: ${{ steps.versions.outputs.nodeVersion }}
74 |
75 | - name: Set up npm ${{ steps.versions.outputs.npmVersion }}
76 | run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
77 |
78 | - name: Install dependencies
79 | env:
80 | CYPRESS_INSTALL_BINARY: 0
81 | PUPPETEER_SKIP_DOWNLOAD: true
82 | run: npm ci
83 |
84 | - name: Lint
85 | run: npm run lint
86 |
87 | summary:
88 | permissions:
89 | contents: none
90 | runs-on: ubuntu-latest-low
91 | needs: [changes, lint]
92 |
93 | if: always()
94 |
95 | # This is the summary, we just avoid to rename it so that branch protection rules still match
96 | name: eslint
97 |
98 | steps:
99 | - name: Summary status
100 | run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
101 |
--------------------------------------------------------------------------------
/.github/workflows/psalm-matrix.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: 2022-2024 Nextcloud GmbH and Nextcloud contributors
7 | # SPDX-License-Identifier: MIT
8 |
9 | name: Static analysis
10 |
11 | on:
12 | pull_request:
13 | push:
14 | branches:
15 | - master
16 | - main
17 | - stable*
18 |
19 | concurrency:
20 | group: psalm-${{ github.head_ref || github.run_id }}
21 | cancel-in-progress: true
22 |
23 | permissions:
24 | contents: read
25 |
26 | jobs:
27 | matrix:
28 | runs-on: ubuntu-latest-low
29 | outputs:
30 | ocp-matrix: ${{ steps.versions.outputs.ocp-matrix }}
31 | steps:
32 | - name: Checkout app
33 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
34 | with:
35 | persist-credentials: false
36 |
37 | - name: Get version matrix
38 | id: versions
39 | uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
40 |
41 | - name: Check enforcement of minimum PHP version ${{ steps.versions.outputs.php-min }} in psalm.xml
42 | run: grep 'phpVersion="${{ steps.versions.outputs.php-min }}' psalm.xml
43 |
44 | static-analysis:
45 | runs-on: ubuntu-latest
46 | needs: matrix
47 | strategy:
48 | # do not stop on another job's failure
49 | fail-fast: false
50 | matrix: ${{ fromJson(needs.matrix.outputs.ocp-matrix) }}
51 |
52 | name: static-psalm-analysis ${{ matrix.ocp-version }}
53 | steps:
54 | - name: Checkout
55 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
56 | with:
57 | persist-credentials: false
58 |
59 | - name: Set up php${{ matrix.php-versions }}
60 | uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2.33.0
61 | with:
62 | php-version: ${{ matrix.php-versions }}
63 | extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
64 | coverage: none
65 | ini-file: development
66 | # Temporary workaround for missing pcntl_* in PHP 8.3
67 | ini-values: disable_functions=
68 | env:
69 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70 |
71 | - name: Install dependencies
72 | run: |
73 | composer remove nextcloud/ocp --dev
74 | composer i
75 |
76 |
77 | - name: Install dependencies # zizmor: ignore[template-injection]
78 | run: composer require --dev 'nextcloud/ocp:${{ matrix.ocp-version }}' --ignore-platform-reqs --with-dependencies
79 |
80 | - name: Run coding standards check
81 | run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github
82 |
83 | summary:
84 | runs-on: ubuntu-latest-low
85 | needs: static-analysis
86 |
87 | if: always()
88 |
89 | name: static-psalm-analysis-summary
90 |
91 | steps:
92 | - name: Summary status
93 | run: if ${{ needs.static-analysis.result != 'success' }}; then exit 1; fi
94 |
--------------------------------------------------------------------------------
/.github/workflows/node.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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
7 | # SPDX-License-Identifier: MIT
8 |
9 | name: Node
10 |
11 | on: pull_request
12 |
13 | permissions:
14 | contents: read
15 |
16 | concurrency:
17 | group: node-${{ github.head_ref || github.run_id }}
18 | cancel-in-progress: true
19 |
20 | jobs:
21 | changes:
22 | runs-on: ubuntu-latest-low
23 | permissions:
24 | contents: read
25 | pull-requests: read
26 |
27 | outputs:
28 | src: ${{ steps.changes.outputs.src}}
29 |
30 | steps:
31 | - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
32 | id: changes
33 | continue-on-error: true
34 | with:
35 | filters: |
36 | src:
37 | - '.github/workflows/**'
38 | - 'src/**'
39 | - 'appinfo/info.xml'
40 | - 'package.json'
41 | - 'package-lock.json'
42 | - 'tsconfig.json'
43 | - '**.js'
44 | - '**.ts'
45 | - '**.vue'
46 |
47 | build:
48 | runs-on: ubuntu-latest
49 |
50 | needs: changes
51 | if: needs.changes.outputs.src != 'false'
52 |
53 | name: NPM build
54 | steps:
55 | - name: Checkout
56 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
57 | with:
58 | persist-credentials: false
59 |
60 | - name: Read package.json node and npm engines version
61 | uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
62 | id: versions
63 | with:
64 | fallbackNode: '^20'
65 | fallbackNpm: '^10'
66 |
67 | - name: Set up node ${{ steps.versions.outputs.nodeVersion }}
68 | uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
69 | with:
70 | node-version: ${{ steps.versions.outputs.nodeVersion }}
71 |
72 | - name: Set up npm ${{ steps.versions.outputs.npmVersion }}
73 | run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
74 |
75 | - name: Install dependencies & build
76 | env:
77 | CYPRESS_INSTALL_BINARY: 0
78 | PUPPETEER_SKIP_DOWNLOAD: true
79 | run: |
80 | npm ci
81 | npm run build --if-present
82 |
83 | - name: Check webpack build changes
84 | run: |
85 | bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets, see the section \"Show changes on failure\" for details' && exit 1)"
86 |
87 | - name: Show changes on failure
88 | if: failure()
89 | run: |
90 | git status
91 | git --no-pager diff
92 | exit 1 # make it red to grab attention
93 |
94 | summary:
95 | permissions:
96 | contents: none
97 | runs-on: ubuntu-latest-low
98 | needs: [changes, build]
99 |
100 | if: always()
101 |
102 | # This is the summary, we just avoid to rename it so that branch protection rules still match
103 | name: node
104 |
105 | steps:
106 | - name: Summary status
107 | run: if ${{ needs.changes.outputs.src != 'false' && needs.build.result != 'success' }}; then exit 1; fi
108 |
--------------------------------------------------------------------------------
/l10n/zh_TW.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "無效的存取代碼",
3 | "Dropbox" : "Dropbox",
4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["從 Dropbox 儲存空間匯入了 %n 個檔案。"],
5 | "Bad HTTP method" : "錯誤的 HTTP 方法",
6 | "Bad credentials" : "錯誤的憑證",
7 | "Token is not valid anymore. Impossible to refresh it." : "權杖不再有效。無法重新整理。",
8 | "Could not access file due to failed authentication." : "因為驗證失敗,無法存取檔案。",
9 | "OAuth access token refused" : "OAuth 存取權杖被拒絕",
10 | "Connected accounts" : "已連線的帳號",
11 | "Data migration" : "資料遷移",
12 | "Dropbox integration" : "Dropbox 整合",
13 | "Import Dropbox data in Nextcloud" : "將 Dropbox 資料匯入 Nextcloud",
14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox 整合讓您自動匯入您的 Dropbox 檔案至 Nextcloud。",
15 | "Dropbox admin options saved" : "Dropbox 管理選項已儲存",
16 | "Failed to save Dropbox admin options" : "儲存 Dropbox 管理選項失敗",
17 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "若您想要讓您的 Nextcloud 使用者驗證以使用您的 Dropbox OAuth 應用程式,請在 Dropbox 中建立一個。",
18 | "Dropbox developer settings" : "Dropbox 開發者設定",
19 | "Make sure your give those permissions to your app:" : "確認將這些權限授予給您的應用程式:",
20 | "No need to add any redirect URI." : "不需要新增任何重新導向 URI。",
21 | "Then set the app key and app secret below." : "然後在下方設定應用程式金鑰與應用程式密碼。",
22 | "App key" : "應用程式金鑰",
23 | "Your Dropbox application key" : "您的 Dropbox 應用程式金鑰",
24 | "App secret" : "應用程式密碼",
25 | "Your Dropbox application secret" : "您的 Dropbox 應用程式密碼",
26 | "Last Dropbox import job at {date}" : "上次 Dropbox 匯入作業進行日期為 {date}",
27 | "Dropbox import process will begin soon" : "Dropbox 匯入流程即將開始",
28 | "Dropbox options saved" : "Dropbox 選項已儲存",
29 | "Failed to save Dropbox options" : "儲存 Dropbox 選項失敗",
30 | "Successfully connected to Dropbox!" : "成功連線至 Dropbox!",
31 | "Failed to connect to Dropbox" : "連線至 Dropbox 失敗",
32 | "Failed to get Dropbox storage information" : "取得 Dropbox 儲存空間資訊失敗",
33 | "Starting importing files in {targetPath} directory" : "開始匯入檔案至 {targetPath} 目錄",
34 | "Failed to start importing Dropbox storage" : "無法開始匯入 Dropbox 儲存空間",
35 | "Choose where to write imported files" : "選擇要寫入匯入檔案的位置",
36 | "Dropbox data migration" : "Dropbox 資料轉移",
37 | "Your administrator has not yet configured this integration." : "您的管理員尚未設定此整合。",
38 | "Authentication" : "驗證",
39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "若您無法通過身份驗證,請要求您的 Nextcloud 管理員檢查 Dropbox 管理設定。",
40 | "Connect to Dropbox to get an access code" : "連線至 Dropbox 以取得存取代碼",
41 | "Dropbox access code" : "Dropbox 存取代碼",
42 | "Access code" : "存取代碼",
43 | "Connected as {user} ({email})" : "以 {user} ({email}) 身份連結",
44 | "Disconnect from Dropbox" : "從 Dropbox 斷線",
45 | "Dropbox storage" : "Dropbox 儲存空間",
46 | "Import directory" : "匯入目錄",
47 | "Dropbox storage size: {formSize}" : "Dropbox 儲存空間大小:{formSize}",
48 | "Import Dropbox files" : "匯入 Dropbox 檔案",
49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "您的 Dropbox 儲存空間大於您的剩餘空間 ({formSpace})",
50 | "Import job is currently running" : "匯入作業正在執行",
51 | "An error occured during the import: {error}" : "匯入時發生錯誤:{error}",
52 | "Cancel Dropbox files import" : "取消 Dropbox 檔案匯入",
53 | "Your Dropbox storage is empty" : "您的 Dropbox 儲存空間為空",
54 | "_{amount} file imported_::_{amount} files imported_" : ["已匯入 {amount} 個檔案"]
55 | },"pluralForm" :"nplurals=1; plural=0;"
56 | }
--------------------------------------------------------------------------------
/l10n/zh_HK.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "無效的存取代碼",
3 | "Dropbox" : "Dropbox",
4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["從 Dropbox 儲存空間匯入了 %n 個檔案。"],
5 | "Bad HTTP method" : "不正確的 HTTP 方法",
6 | "Bad credentials" : "錯誤的憑證",
7 | "Token is not valid anymore. Impossible to refresh it." : "權杖不再有效。不可能刷新它。",
8 | "Could not access file due to failed authentication." : "由於身份驗證失敗,無法存取檔案。",
9 | "OAuth access token refused" : "OAuth 存取權杖被拒絕",
10 | "Connected accounts" : "已連線的賬號",
11 | "Data migration" : "數據遷移",
12 | "Dropbox integration" : "Dropbox 整合",
13 | "Import Dropbox data in Nextcloud" : "將 Dropbox 數據導入 Nextcloud",
14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox 整合讓您自動導入您的 Dropbox 檔案至 Nextcloud。",
15 | "Dropbox admin options saved" : "已儲存 Dropbox 管理員選項",
16 | "Failed to save Dropbox admin options" : "儲存 Dropbox 管理選項失敗",
17 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "若您想要您的 Nextcloud 用戶驗證以使用你的 Dropbox OAuth 應用程式,請在 Dropbox 中建立一個。",
18 | "Dropbox developer settings" : "Dropbox 開發人員應用程序設置",
19 | "Make sure your give those permissions to your app:" : "確認將這些權限授予給您的應用程式:",
20 | "No need to add any redirect URI." : "不需要新增任何重新導向 URI。",
21 | "Then set the app key and app secret below." : "然後在下方設定應用程式密鑰與應用程式密碼。",
22 | "App key" : "App 密鑰",
23 | "Your Dropbox application key" : "您的 Dropbox 應用程式密鑰",
24 | "App secret" : "App 密碼",
25 | "Your Dropbox application secret" : "您的 Dropbox 應用程式密碼",
26 | "Last Dropbox import job at {date}" : "上次 Dropbox 導入作業於 {date} 執行",
27 | "Dropbox import process will begin soon" : "DropBox 導入後台作業進程即將開始。",
28 | "Dropbox options saved" : "Dropbox 選項已保存",
29 | "Failed to save Dropbox options" : "保存 Dropbox 選項失敗",
30 | "Successfully connected to Dropbox!" : "成功連線至 Dropbox!",
31 | "Failed to connect to Dropbox" : "連接至 Dropbox 失敗",
32 | "Failed to get Dropbox storage information" : "無法獲取 Dropbox 儲存空間資訊",
33 | "Starting importing files in {targetPath} directory" : "開始將檔案導入到 {targetPath} 目錄",
34 | "Failed to start importing Dropbox storage" : "無法開始導入Dropbox 儲存空間",
35 | "Choose where to write imported files" : "選擇寫入導入檔案的位置",
36 | "Dropbox data migration" : "Dropbox 數據轉移",
37 | "Your administrator has not yet configured this integration." : "您的管理員尚未配置此整合。",
38 | "Authentication" : "驗證",
39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "若您無法通過身份驗證,請要求您的 Nextcloud 管理員檢查 Dropbox 管理設定。",
40 | "Connect to Dropbox to get an access code" : "連線至 Dropbox 以取得存取代碼",
41 | "Dropbox access code" : "Dropbox 存取代碼",
42 | "Access code" : "存取代碼",
43 | "Connected as {user} ({email})" : "以 {user}({email})身分連線",
44 | "Disconnect from Dropbox" : "從 Dropbox 斷線",
45 | "Dropbox storage" : "Dropbox 儲存空間",
46 | "Import directory" : "導入資料夾",
47 | "Dropbox storage size: {formSize}" : "Dropbox 儲存空間大小:{formSize}",
48 | "Import Dropbox files" : "導入 Dropbox 檔案",
49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "您的 Dropbox 儲存大於剩餘空間({formSpace})",
50 | "Import job is currently running" : "導入作業目前正在運行",
51 | "An error occured during the import: {error}" : "匯入時發生錯誤:{error}",
52 | "Cancel Dropbox files import" : "取消 Dropbox 檔案導入",
53 | "Your Dropbox storage is empty" : "您的 Dropbox 儲存空間是空的",
54 | "_{amount} file imported_::_{amount} files imported_" : ["已導入 {amount} 個檔案"]
55 | },"pluralForm" :"nplurals=1; plural=0;"
56 | }
--------------------------------------------------------------------------------
/l10n/zh_TW.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "無效的存取代碼",
5 | "Dropbox" : "Dropbox",
6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["從 Dropbox 儲存空間匯入了 %n 個檔案。"],
7 | "Bad HTTP method" : "錯誤的 HTTP 方法",
8 | "Bad credentials" : "錯誤的憑證",
9 | "Token is not valid anymore. Impossible to refresh it." : "權杖不再有效。無法重新整理。",
10 | "Could not access file due to failed authentication." : "因為驗證失敗,無法存取檔案。",
11 | "OAuth access token refused" : "OAuth 存取權杖被拒絕",
12 | "Connected accounts" : "已連線的帳號",
13 | "Data migration" : "資料遷移",
14 | "Dropbox integration" : "Dropbox 整合",
15 | "Import Dropbox data in Nextcloud" : "將 Dropbox 資料匯入 Nextcloud",
16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox 整合讓您自動匯入您的 Dropbox 檔案至 Nextcloud。",
17 | "Dropbox admin options saved" : "Dropbox 管理選項已儲存",
18 | "Failed to save Dropbox admin options" : "儲存 Dropbox 管理選項失敗",
19 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "若您想要讓您的 Nextcloud 使用者驗證以使用您的 Dropbox OAuth 應用程式,請在 Dropbox 中建立一個。",
20 | "Dropbox developer settings" : "Dropbox 開發者設定",
21 | "Make sure your give those permissions to your app:" : "確認將這些權限授予給您的應用程式:",
22 | "No need to add any redirect URI." : "不需要新增任何重新導向 URI。",
23 | "Then set the app key and app secret below." : "然後在下方設定應用程式金鑰與應用程式密碼。",
24 | "App key" : "應用程式金鑰",
25 | "Your Dropbox application key" : "您的 Dropbox 應用程式金鑰",
26 | "App secret" : "應用程式密碼",
27 | "Your Dropbox application secret" : "您的 Dropbox 應用程式密碼",
28 | "Last Dropbox import job at {date}" : "上次 Dropbox 匯入作業進行日期為 {date}",
29 | "Dropbox import process will begin soon" : "Dropbox 匯入流程即將開始",
30 | "Dropbox options saved" : "Dropbox 選項已儲存",
31 | "Failed to save Dropbox options" : "儲存 Dropbox 選項失敗",
32 | "Successfully connected to Dropbox!" : "成功連線至 Dropbox!",
33 | "Failed to connect to Dropbox" : "連線至 Dropbox 失敗",
34 | "Failed to get Dropbox storage information" : "取得 Dropbox 儲存空間資訊失敗",
35 | "Starting importing files in {targetPath} directory" : "開始匯入檔案至 {targetPath} 目錄",
36 | "Failed to start importing Dropbox storage" : "無法開始匯入 Dropbox 儲存空間",
37 | "Choose where to write imported files" : "選擇要寫入匯入檔案的位置",
38 | "Dropbox data migration" : "Dropbox 資料轉移",
39 | "Your administrator has not yet configured this integration." : "您的管理員尚未設定此整合。",
40 | "Authentication" : "驗證",
41 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "若您無法通過身份驗證,請要求您的 Nextcloud 管理員檢查 Dropbox 管理設定。",
42 | "Connect to Dropbox to get an access code" : "連線至 Dropbox 以取得存取代碼",
43 | "Dropbox access code" : "Dropbox 存取代碼",
44 | "Access code" : "存取代碼",
45 | "Connected as {user} ({email})" : "以 {user} ({email}) 身份連結",
46 | "Disconnect from Dropbox" : "從 Dropbox 斷線",
47 | "Dropbox storage" : "Dropbox 儲存空間",
48 | "Import directory" : "匯入目錄",
49 | "Dropbox storage size: {formSize}" : "Dropbox 儲存空間大小:{formSize}",
50 | "Import Dropbox files" : "匯入 Dropbox 檔案",
51 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "您的 Dropbox 儲存空間大於您的剩餘空間 ({formSpace})",
52 | "Import job is currently running" : "匯入作業正在執行",
53 | "An error occured during the import: {error}" : "匯入時發生錯誤:{error}",
54 | "Cancel Dropbox files import" : "取消 Dropbox 檔案匯入",
55 | "Your Dropbox storage is empty" : "您的 Dropbox 儲存空間為空",
56 | "_{amount} file imported_::_{amount} files imported_" : ["已匯入 {amount} 個檔案"]
57 | },
58 | "nplurals=1; plural=0;");
59 |
--------------------------------------------------------------------------------
/l10n/zh_HK.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "無效的存取代碼",
5 | "Dropbox" : "Dropbox",
6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["從 Dropbox 儲存空間匯入了 %n 個檔案。"],
7 | "Bad HTTP method" : "不正確的 HTTP 方法",
8 | "Bad credentials" : "錯誤的憑證",
9 | "Token is not valid anymore. Impossible to refresh it." : "權杖不再有效。不可能刷新它。",
10 | "Could not access file due to failed authentication." : "由於身份驗證失敗,無法存取檔案。",
11 | "OAuth access token refused" : "OAuth 存取權杖被拒絕",
12 | "Connected accounts" : "已連線的賬號",
13 | "Data migration" : "數據遷移",
14 | "Dropbox integration" : "Dropbox 整合",
15 | "Import Dropbox data in Nextcloud" : "將 Dropbox 數據導入 Nextcloud",
16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox 整合讓您自動導入您的 Dropbox 檔案至 Nextcloud。",
17 | "Dropbox admin options saved" : "已儲存 Dropbox 管理員選項",
18 | "Failed to save Dropbox admin options" : "儲存 Dropbox 管理選項失敗",
19 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "若您想要您的 Nextcloud 用戶驗證以使用你的 Dropbox OAuth 應用程式,請在 Dropbox 中建立一個。",
20 | "Dropbox developer settings" : "Dropbox 開發人員應用程序設置",
21 | "Make sure your give those permissions to your app:" : "確認將這些權限授予給您的應用程式:",
22 | "No need to add any redirect URI." : "不需要新增任何重新導向 URI。",
23 | "Then set the app key and app secret below." : "然後在下方設定應用程式密鑰與應用程式密碼。",
24 | "App key" : "App 密鑰",
25 | "Your Dropbox application key" : "您的 Dropbox 應用程式密鑰",
26 | "App secret" : "App 密碼",
27 | "Your Dropbox application secret" : "您的 Dropbox 應用程式密碼",
28 | "Last Dropbox import job at {date}" : "上次 Dropbox 導入作業於 {date} 執行",
29 | "Dropbox import process will begin soon" : "DropBox 導入後台作業進程即將開始。",
30 | "Dropbox options saved" : "Dropbox 選項已保存",
31 | "Failed to save Dropbox options" : "保存 Dropbox 選項失敗",
32 | "Successfully connected to Dropbox!" : "成功連線至 Dropbox!",
33 | "Failed to connect to Dropbox" : "連接至 Dropbox 失敗",
34 | "Failed to get Dropbox storage information" : "無法獲取 Dropbox 儲存空間資訊",
35 | "Starting importing files in {targetPath} directory" : "開始將檔案導入到 {targetPath} 目錄",
36 | "Failed to start importing Dropbox storage" : "無法開始導入Dropbox 儲存空間",
37 | "Choose where to write imported files" : "選擇寫入導入檔案的位置",
38 | "Dropbox data migration" : "Dropbox 數據轉移",
39 | "Your administrator has not yet configured this integration." : "您的管理員尚未配置此整合。",
40 | "Authentication" : "驗證",
41 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "若您無法通過身份驗證,請要求您的 Nextcloud 管理員檢查 Dropbox 管理設定。",
42 | "Connect to Dropbox to get an access code" : "連線至 Dropbox 以取得存取代碼",
43 | "Dropbox access code" : "Dropbox 存取代碼",
44 | "Access code" : "存取代碼",
45 | "Connected as {user} ({email})" : "以 {user}({email})身分連線",
46 | "Disconnect from Dropbox" : "從 Dropbox 斷線",
47 | "Dropbox storage" : "Dropbox 儲存空間",
48 | "Import directory" : "導入資料夾",
49 | "Dropbox storage size: {formSize}" : "Dropbox 儲存空間大小:{formSize}",
50 | "Import Dropbox files" : "導入 Dropbox 檔案",
51 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "您的 Dropbox 儲存大於剩餘空間({formSpace})",
52 | "Import job is currently running" : "導入作業目前正在運行",
53 | "An error occured during the import: {error}" : "匯入時發生錯誤:{error}",
54 | "Cancel Dropbox files import" : "取消 Dropbox 檔案導入",
55 | "Your Dropbox storage is empty" : "您的 Dropbox 儲存空間是空的",
56 | "_{amount} file imported_::_{amount} files imported_" : ["已導入 {amount} 個檔案"]
57 | },
58 | "nplurals=1; plural=0;");
59 |
--------------------------------------------------------------------------------
/lib/Controller/DropboxAPIController.php:
--------------------------------------------------------------------------------
1 | accessToken = $this->secretService->getEncryptedUserValue($this->userId, 'token');
38 | $this->refreshToken = $this->secretService->getEncryptedUserValue($this->userId, 'refresh_token');
39 | $this->clientID = $this->secretService->getEncryptedAppValue('client_id');
40 | $this->clientSecret = $this->secretService->getEncryptedAppValue('client_secret');
41 | }
42 |
43 | /**
44 | * @return DataResponse
45 | */
46 | #[NoAdminRequired]
47 | public function getStorageSize(): DataResponse {
48 | if ($this->userId === null) {
49 | return new DataResponse([], Http::STATUS_BAD_REQUEST);
50 | }
51 | if ($this->accessToken === '') {
52 | return new DataResponse([], Http::STATUS_BAD_REQUEST);
53 | }
54 | $result = $this->dropboxStorageApiService->getStorageSize(
55 | $this->accessToken, $this->refreshToken, $this->clientID, $this->clientSecret, $this->userId
56 | );
57 |
58 | if (isset($result['error'])) {
59 | return new DataResponse($result['error'], Http::STATUS_UNAUTHORIZED);
60 | }
61 |
62 | return new DataResponse($result);
63 | }
64 |
65 | /**
66 | * @return DataResponse
67 | */
68 | #[NoAdminRequired]
69 | public function importDropbox(): DataResponse {
70 | if ($this->userId === null) {
71 | return new DataResponse([], Http::STATUS_BAD_REQUEST);
72 | }
73 | if ($this->accessToken === '') {
74 | return new DataResponse([], Http::STATUS_BAD_REQUEST);
75 | }
76 | $result = $this->dropboxStorageApiService->startImportDropbox($this->userId);
77 | if (isset($result['error'])) {
78 | return new DataResponse($result['error'], Http::STATUS_UNAUTHORIZED);
79 | }
80 |
81 | return new DataResponse($result);
82 | }
83 |
84 | /**
85 | * @return DataResponse
86 | */
87 | #[NoAdminRequired]
88 | public function getImportDropboxInformation(): DataResponse {
89 | if ($this->accessToken === '') {
90 | return new DataResponse([], Http::STATUS_BAD_REQUEST);
91 | }
92 | return new DataResponse([
93 | 'last_import_error' => $this->config->getUserValue($this->userId, Application::APP_ID, 'last_import_error', '') !== '',
94 | 'dropbox_import_running' => $this->config->getUserValue($this->userId, Application::APP_ID, 'dropbox_import_running') === '1',
95 | 'importing_dropbox' => $this->config->getUserValue($this->userId, Application::APP_ID, 'importing_dropbox') === '1',
96 | 'last_dropbox_import_timestamp' => (int)$this->config->getUserValue($this->userId, Application::APP_ID, 'last_dropbox_import_timestamp', '0'),
97 | 'nb_imported_files' => (int)$this->config->getUserValue($this->userId, Application::APP_ID, 'nb_imported_files', '0'),
98 | ]);
99 | }
100 | }
101 |
--------------------------------------------------------------------------------
/tests/psalm-baseline.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
--------------------------------------------------------------------------------
/l10n/hu.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Érvénytelen hozzáférési kód",
3 | "Dropbox" : "Dropbox",
4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n fájl importálva a Dropbox-tárolóból.","%n fájl importálva a Dropbox-tárolóból."],
5 | "Bad HTTP method" : "Hibás HTTP metódus",
6 | "Bad credentials" : "Hibás hitelesítő adatok",
7 | "Token is not valid anymore. Impossible to refresh it." : "A token már nem érvényes. Lehetetlen frissíteni.",
8 | "Could not access file due to failed authentication." : "Hitelesítési hiba miatt a fájl nem hozzáférhető.",
9 | "OAuth access token refused" : "Az OAuth hozzáférési token lekérése visszautasítva",
10 | "Connected accounts" : "Kapcsolt fiókok",
11 | "Data migration" : "Adatköltöztetés",
12 | "Dropbox integration" : "Dropbox integráció",
13 | "Import Dropbox data in Nextcloud" : "Dropbox adatok imoprtálása a Nextcloudba",
14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "A Dropbox integráció lehetővé teszi, hogy automatikusan importálja a Dropboxban lévő fájlokat a Nextcloudba.",
15 | "Dropbox admin options saved" : "Dropbox rendszergazdai beállítások elmentve",
16 | "Failed to save Dropbox admin options" : "A Dropbox rendszergazdai beállításainak mentése sikertelen",
17 | "Dropbox developer settings" : "Dropbox fejlesztői beállítások",
18 | "Make sure your give those permissions to your app:" : "Adja meg a következő engedélyeket az alkalmazás számára:",
19 | "No need to add any redirect URI." : "Nincs szükség átirányító hivatkozásra.",
20 | "Then set the app key and app secret below." : "Majd állítsa be az alkalmazáskulcsot és alkalmazástitkot.",
21 | "App key" : "Alkalmazáskulcs",
22 | "Your Dropbox application key" : "Dropbox alkalmazás kulcs",
23 | "App secret" : "Alkalmazás titka",
24 | "Your Dropbox application secret" : "Dropbox alkalmazás titok",
25 | "Last Dropbox import job at {date}" : "Az utolsó Dropbox importálási feladat ideje: {date}",
26 | "Dropbox import process will begin soon" : "A Dropbox importálás folyamat hamarosan indul",
27 | "Dropbox options saved" : "Dropbox beállítások elmentve",
28 | "Failed to save Dropbox options" : "A Dropbox beállításainak mentése sikertelen",
29 | "Successfully connected to Dropbox!" : "Sikeresen csatlakozott a Dropbox-hoz!",
30 | "Failed to connect to Dropbox" : "Sikertelen kapcsolódás a Dropboxhoz",
31 | "Failed to get Dropbox storage information" : "Nem sikerült a Dropbox tárolóinformációk lekérése",
32 | "Starting importing files in {targetPath} directory" : "Fájlok importálásának megkezdése a(z) {targetPath} könyvtárban",
33 | "Failed to start importing Dropbox storage" : "Nem sikerült a Dropbox tárhelyből történő importálás elindítása",
34 | "Choose where to write imported files" : "Válassza ki az importált fájlok helyét",
35 | "Dropbox data migration" : "Dropbox adatmigráció",
36 | "Authentication" : "Hitelesítés",
37 | "Connect to Dropbox to get an access code" : "Kapcsolódjon a Dropboxhoz, hogy megkapja a hozzáférési kódot",
38 | "Dropbox access code" : "Dropbox hozzáférési kód",
39 | "Access code" : "Hozzáférési kód",
40 | "Connected as {user} ({email})" : "Kapcsolódva mint {user} ({email})",
41 | "Disconnect from Dropbox" : "Leválasztás a Dropbox-ról",
42 | "Dropbox storage" : "Dropbox tárhely",
43 | "Import directory" : "Mappa importálása",
44 | "Dropbox storage size: {formSize}" : "Dropbox tárhely méret: {formSize}",
45 | "Import Dropbox files" : "Dropbox fájlok importálása",
46 | "Import job is currently running" : "Az importálási feladat jelenleg fut",
47 | "An error occured during the import: {error}" : "Hiba történt az importálás során: {error}",
48 | "Cancel Dropbox files import" : "Dropbox fájlok importálásának megszakítása",
49 | "Your Dropbox storage is empty" : "A Dropbox tárhely üres",
50 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fájl importálva","{amount} fájl importálva"]
51 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
52 | }
--------------------------------------------------------------------------------
/l10n/hu.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Érvénytelen hozzáférési kód",
5 | "Dropbox" : "Dropbox",
6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n fájl importálva a Dropbox-tárolóból.","%n fájl importálva a Dropbox-tárolóból."],
7 | "Bad HTTP method" : "Hibás HTTP metódus",
8 | "Bad credentials" : "Hibás hitelesítő adatok",
9 | "Token is not valid anymore. Impossible to refresh it." : "A token már nem érvényes. Lehetetlen frissíteni.",
10 | "Could not access file due to failed authentication." : "Hitelesítési hiba miatt a fájl nem hozzáférhető.",
11 | "OAuth access token refused" : "Az OAuth hozzáférési token lekérése visszautasítva",
12 | "Connected accounts" : "Kapcsolt fiókok",
13 | "Data migration" : "Adatköltöztetés",
14 | "Dropbox integration" : "Dropbox integráció",
15 | "Import Dropbox data in Nextcloud" : "Dropbox adatok imoprtálása a Nextcloudba",
16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "A Dropbox integráció lehetővé teszi, hogy automatikusan importálja a Dropboxban lévő fájlokat a Nextcloudba.",
17 | "Dropbox admin options saved" : "Dropbox rendszergazdai beállítások elmentve",
18 | "Failed to save Dropbox admin options" : "A Dropbox rendszergazdai beállításainak mentése sikertelen",
19 | "Dropbox developer settings" : "Dropbox fejlesztői beállítások",
20 | "Make sure your give those permissions to your app:" : "Adja meg a következő engedélyeket az alkalmazás számára:",
21 | "No need to add any redirect URI." : "Nincs szükség átirányító hivatkozásra.",
22 | "Then set the app key and app secret below." : "Majd állítsa be az alkalmazáskulcsot és alkalmazástitkot.",
23 | "App key" : "Alkalmazáskulcs",
24 | "Your Dropbox application key" : "Dropbox alkalmazás kulcs",
25 | "App secret" : "Alkalmazás titka",
26 | "Your Dropbox application secret" : "Dropbox alkalmazás titok",
27 | "Last Dropbox import job at {date}" : "Az utolsó Dropbox importálási feladat ideje: {date}",
28 | "Dropbox import process will begin soon" : "A Dropbox importálás folyamat hamarosan indul",
29 | "Dropbox options saved" : "Dropbox beállítások elmentve",
30 | "Failed to save Dropbox options" : "A Dropbox beállításainak mentése sikertelen",
31 | "Successfully connected to Dropbox!" : "Sikeresen csatlakozott a Dropbox-hoz!",
32 | "Failed to connect to Dropbox" : "Sikertelen kapcsolódás a Dropboxhoz",
33 | "Failed to get Dropbox storage information" : "Nem sikerült a Dropbox tárolóinformációk lekérése",
34 | "Starting importing files in {targetPath} directory" : "Fájlok importálásának megkezdése a(z) {targetPath} könyvtárban",
35 | "Failed to start importing Dropbox storage" : "Nem sikerült a Dropbox tárhelyből történő importálás elindítása",
36 | "Choose where to write imported files" : "Válassza ki az importált fájlok helyét",
37 | "Dropbox data migration" : "Dropbox adatmigráció",
38 | "Authentication" : "Hitelesítés",
39 | "Connect to Dropbox to get an access code" : "Kapcsolódjon a Dropboxhoz, hogy megkapja a hozzáférési kódot",
40 | "Dropbox access code" : "Dropbox hozzáférési kód",
41 | "Access code" : "Hozzáférési kód",
42 | "Connected as {user} ({email})" : "Kapcsolódva mint {user} ({email})",
43 | "Disconnect from Dropbox" : "Leválasztás a Dropbox-ról",
44 | "Dropbox storage" : "Dropbox tárhely",
45 | "Import directory" : "Mappa importálása",
46 | "Dropbox storage size: {formSize}" : "Dropbox tárhely méret: {formSize}",
47 | "Import Dropbox files" : "Dropbox fájlok importálása",
48 | "Import job is currently running" : "Az importálási feladat jelenleg fut",
49 | "An error occured during the import: {error}" : "Hiba történt az importálás során: {error}",
50 | "Cancel Dropbox files import" : "Dropbox fájlok importálásának megszakítása",
51 | "Your Dropbox storage is empty" : "A Dropbox tárhely üres",
52 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fájl importálva","{amount} fájl importálva"]
53 | },
54 | "nplurals=2; plural=(n != 1);");
55 |
--------------------------------------------------------------------------------
/l10n/fa.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Invalid access code",
3 | "Dropbox" : "Dropbox",
4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n file was imported from Dropbox storage.","%n files were imported from Dropbox storage."],
5 | "Bad HTTP method" : "روش HTTP بد",
6 | "Bad credentials" : "اعتبارنامه بد",
7 | "Token is not valid anymore. Impossible to refresh it." : "Token is not valid anymore. Impossible to refresh it.",
8 | "Could not access file due to failed authentication." : "Could not access file due to failed authentication.",
9 | "OAuth access token refused" : "نشانه دسترسی OAuth رد شد",
10 | "Connected accounts" : "حسابهای متصل",
11 | "Data migration" : "Data migration",
12 | "Dropbox integration" : "Dropbox integration",
13 | "Import Dropbox data in Nextcloud" : "Import Dropbox data in Nextcloud",
14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud.",
15 | "Dropbox admin options saved" : "Dropbox admin options saved",
16 | "Failed to save Dropbox admin options" : "Failed to save Dropbox admin options",
17 | "Dropbox developer settings" : "Dropbox developer settings",
18 | "Make sure your give those permissions to your app:" : "Make sure your give those permissions to your app:",
19 | "No need to add any redirect URI." : "No need to add any redirect URI.",
20 | "Then set the app key and app secret below." : "Then set the app key and app secret below.",
21 | "App key" : "کلید برنامه",
22 | "Your Dropbox application key" : "Your Dropbox application key",
23 | "App secret" : "کد برنامه",
24 | "Your Dropbox application secret" : "Your Dropbox application secret",
25 | "Last Dropbox import job at {date}" : "Last Dropbox import job at {date}",
26 | "Dropbox import process will begin soon" : "Dropbox import process will begin soon",
27 | "Dropbox options saved" : "Dropbox options saved",
28 | "Failed to save Dropbox options" : "Failed to save Dropbox options",
29 | "Successfully connected to Dropbox!" : "Successfully connected to Dropbox!",
30 | "Failed to connect to Dropbox" : "Failed to connect to Dropbox",
31 | "Failed to get Dropbox storage information" : "Failed to get Dropbox storage information",
32 | "Starting importing files in {targetPath} directory" : "Starting importing files in {targetPath} directory",
33 | "Failed to start importing Dropbox storage" : "Failed to start importing Dropbox storage",
34 | "Choose where to write imported files" : "Choose where to write imported files",
35 | "Dropbox data migration" : "Dropbox data migration",
36 | "Authentication" : "احراز هویت",
37 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings.",
38 | "Connect to Dropbox to get an access code" : "Connect to Dropbox to get an access code",
39 | "Dropbox access code" : "Dropbox access code",
40 | "Access code" : "Access code",
41 | "Connected as {user} ({email})" : "Connected as {user} ({email})",
42 | "Disconnect from Dropbox" : "Disconnect from Dropbox",
43 | "Dropbox storage" : "Dropbox storage",
44 | "Import directory" : "Import directory",
45 | "Dropbox storage size: {formSize}" : "Dropbox storage size: {formSize}",
46 | "Import Dropbox files" : "Import Dropbox files",
47 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Your Dropbox storage is bigger than your remaining space left ({formSpace})",
48 | "Import job is currently running" : "Import job is currently running",
49 | "An error occured during the import: {error}" : "An error occured during the import: {error}",
50 | "Cancel Dropbox files import" : "Cancel Dropbox files import",
51 | "Your Dropbox storage is empty" : "Your Dropbox storage is empty",
52 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} file imported","{amount} files imported"]
53 | },"pluralForm" :"nplurals=2; plural=(n > 1);"
54 | }
--------------------------------------------------------------------------------
/l10n/fa.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Invalid access code",
5 | "Dropbox" : "Dropbox",
6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n file was imported from Dropbox storage.","%n files were imported from Dropbox storage."],
7 | "Bad HTTP method" : "روش HTTP بد",
8 | "Bad credentials" : "اعتبارنامه بد",
9 | "Token is not valid anymore. Impossible to refresh it." : "Token is not valid anymore. Impossible to refresh it.",
10 | "Could not access file due to failed authentication." : "Could not access file due to failed authentication.",
11 | "OAuth access token refused" : "نشانه دسترسی OAuth رد شد",
12 | "Connected accounts" : "حسابهای متصل",
13 | "Data migration" : "Data migration",
14 | "Dropbox integration" : "Dropbox integration",
15 | "Import Dropbox data in Nextcloud" : "Import Dropbox data in Nextcloud",
16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud.",
17 | "Dropbox admin options saved" : "Dropbox admin options saved",
18 | "Failed to save Dropbox admin options" : "Failed to save Dropbox admin options",
19 | "Dropbox developer settings" : "Dropbox developer settings",
20 | "Make sure your give those permissions to your app:" : "Make sure your give those permissions to your app:",
21 | "No need to add any redirect URI." : "No need to add any redirect URI.",
22 | "Then set the app key and app secret below." : "Then set the app key and app secret below.",
23 | "App key" : "کلید برنامه",
24 | "Your Dropbox application key" : "Your Dropbox application key",
25 | "App secret" : "کد برنامه",
26 | "Your Dropbox application secret" : "Your Dropbox application secret",
27 | "Last Dropbox import job at {date}" : "Last Dropbox import job at {date}",
28 | "Dropbox import process will begin soon" : "Dropbox import process will begin soon",
29 | "Dropbox options saved" : "Dropbox options saved",
30 | "Failed to save Dropbox options" : "Failed to save Dropbox options",
31 | "Successfully connected to Dropbox!" : "Successfully connected to Dropbox!",
32 | "Failed to connect to Dropbox" : "Failed to connect to Dropbox",
33 | "Failed to get Dropbox storage information" : "Failed to get Dropbox storage information",
34 | "Starting importing files in {targetPath} directory" : "Starting importing files in {targetPath} directory",
35 | "Failed to start importing Dropbox storage" : "Failed to start importing Dropbox storage",
36 | "Choose where to write imported files" : "Choose where to write imported files",
37 | "Dropbox data migration" : "Dropbox data migration",
38 | "Authentication" : "احراز هویت",
39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings.",
40 | "Connect to Dropbox to get an access code" : "Connect to Dropbox to get an access code",
41 | "Dropbox access code" : "Dropbox access code",
42 | "Access code" : "Access code",
43 | "Connected as {user} ({email})" : "Connected as {user} ({email})",
44 | "Disconnect from Dropbox" : "Disconnect from Dropbox",
45 | "Dropbox storage" : "Dropbox storage",
46 | "Import directory" : "Import directory",
47 | "Dropbox storage size: {formSize}" : "Dropbox storage size: {formSize}",
48 | "Import Dropbox files" : "Import Dropbox files",
49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Your Dropbox storage is bigger than your remaining space left ({formSpace})",
50 | "Import job is currently running" : "Import job is currently running",
51 | "An error occured during the import: {error}" : "An error occured during the import: {error}",
52 | "Cancel Dropbox files import" : "Cancel Dropbox files import",
53 | "Your Dropbox storage is empty" : "Your Dropbox storage is empty",
54 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} file imported","{amount} files imported"]
55 | },
56 | "nplurals=2; plural=(n > 1);");
57 |
--------------------------------------------------------------------------------
/l10n/nb.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Ugyldig aksesskode",
3 | "Dropbox" : "Dropbox",
4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n fil ble importert fra Dropbox-lagring.","%n filer ble importert fra Dropbox-lagring."],
5 | "Bad HTTP method" : "HTTP-metode er feil",
6 | "Bad credentials" : "Påloggingsdetaljene er feil",
7 | "Token is not valid anymore. Impossible to refresh it." : "Tokenet er ikke gyldig lenger. Umulig å oppfriske det.",
8 | "Could not access file due to failed authentication." : "Kan ikke få tilgang til filen på grunn av feilet autentisering.",
9 | "OAuth access token refused" : "OAuth access token ble avslått",
10 | "Connected accounts" : "Tilknyttede kontoer",
11 | "Data migration" : "Datamigrering",
12 | "Dropbox integration" : "Dropbox-integrasjon",
13 | "Import Dropbox data in Nextcloud" : "Importer Dropbox-data i Nextcloud",
14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox-integrasjon lar deg automatisk importere Dropbox-filene dine til Nextcloud.",
15 | "Dropbox admin options saved" : "Administrasjonsalternativer for Dropbox lagret",
16 | "Failed to save Dropbox admin options" : "Lagring av administrasjonsalternativer for Dropbox feilet",
17 | "Dropbox developer settings" : "Innstillinger for utvikling av Dropbox",
18 | "Make sure your give those permissions to your app:" : "Pass på at du gir disse tillatelsene til appen din:",
19 | "No need to add any redirect URI." : "Det er ingen behov for å legge til omdirigerings-URI.",
20 | "Then set the app key and app secret below." : "Deretter angi app-nøkkel og app-hemmelighet nedenfor.",
21 | "App key" : "App-nøkkel",
22 | "Your Dropbox application key" : "Din Dropbox-applikasjonsnøkkel",
23 | "App secret" : "App-hemmelighet",
24 | "Your Dropbox application secret" : "Din Dropbox-applikasjonshemmelighet",
25 | "Last Dropbox import job at {date}" : "Siste Dropbox-importjobb den {date}",
26 | "Dropbox import process will begin soon" : "Dropbox-importprosessen begynner snart",
27 | "Dropbox options saved" : "Alternativer for Dropbox lagret",
28 | "Failed to save Dropbox options" : "Lagring av alternativer for Dropbox feilet",
29 | "Successfully connected to Dropbox!" : "Koblet til Dropbox!",
30 | "Failed to connect to Dropbox" : "Kobling til Dropbox feilet",
31 | "Failed to get Dropbox storage information" : "Kunne ikke hente Dropbox-lagringsinformasjon",
32 | "Starting importing files in {targetPath} directory" : "Begynner å importere filer i {targetPath}-katalogen",
33 | "Failed to start importing Dropbox storage" : "Kunne ikke begynne å importere Dropbox-lagring",
34 | "Choose where to write imported files" : "Velg hvor du vil skrive importerte filer",
35 | "Dropbox data migration" : "Dropbox-datamigrering",
36 | "Authentication" : "Autentisering",
37 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Hvis du har problemer med å autentisere, kan du be Nextcloud-administratoren om å sjekke administratorinnstillingene for Dropbox.",
38 | "Connect to Dropbox to get an access code" : "Koble til Dropbox for å få en aksesskode",
39 | "Dropbox access code" : "Dropbox-aksesskode",
40 | "Access code" : "Aksesskode",
41 | "Connected as {user} ({email})" : "Tilkoblet som {user} ({email})",
42 | "Disconnect from Dropbox" : "Koble fra Dropbox",
43 | "Dropbox storage" : "Dropbox-lagring",
44 | "Import directory" : "Importkatalog",
45 | "Dropbox storage size: {formSize}" : "Dropbox-lagringsstørrelse: {formSize}",
46 | "Import Dropbox files" : "Importer Dropbox-filer",
47 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Dropbox-lagringsplassen er større enn den gjenværende plassen som er igjen ({formSpace})",
48 | "Import job is currently running" : "Importjobben kjører for øyeblikket",
49 | "An error occured during the import: {error}" : "Det oppstod en feil under importen: {error}",
50 | "Cancel Dropbox files import" : "Avbryt filimporten fra Dropbox",
51 | "Your Dropbox storage is empty" : "Dropbox-lagringsplassen din er tom",
52 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fil importert","{amount} filer importert"]
53 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
54 | }
--------------------------------------------------------------------------------
/l10n/bg.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Невалиден код за достъп",
3 | "Dropbox" : "Dropbox",
4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n файлове бяха импортирани от Dropbox хранилище.","%n файлове бяха импортирани от Dropbox хранилище."],
5 | "Bad HTTP method" : "Лош HTTP метод",
6 | "Bad credentials" : "Лоши идентификационни данни",
7 | "Token is not valid anymore. Impossible to refresh it." : "Маркерът вече не е валиден. Не е възможно да го обновите.",
8 | "OAuth access token refused" : " Маркерът за достъп OAuth е отказан",
9 | "Connected accounts" : "Свързани профили",
10 | "Data migration" : "Миграция на данни",
11 | "Dropbox integration" : "Dropbox интеграция",
12 | "Import Dropbox data in Nextcloud" : "Импортиране на данни от Dropbox в Nextcloud",
13 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Интеграцията с Dropbox ви позволява автоматично да импортирате вашите файлове от Dropbox в Nextcloud.",
14 | "Dropbox admin options saved" : "Опциите за администратор на Dropbox са записани",
15 | "Failed to save Dropbox admin options" : "Неуспешно записване на опциите за администратор на Dropbox",
16 | "Dropbox developer settings" : "Настройки за разработчици на Dropbox",
17 | "Make sure your give those permissions to your app:" : "Уверете се, че сте дали тези права на приложението си:",
18 | "No need to add any redirect URI." : "Не е необходимо да добавяте URI за пренасочване.",
19 | "Then set the app key and app secret below." : "След това задайте ключ на приложението и тайна на приложението по-долу.",
20 | "App key" : " Ключ на приложение",
21 | "Your Dropbox application key" : "Вашият ключ за Dropbox приложение",
22 | "App secret" : "Тайна на приложение",
23 | "Your Dropbox application secret" : "Вашата тайна за Dropbox приложение",
24 | "Last Dropbox import job at {date}" : "Последна задача за импортиране в Dropbox на {date}",
25 | "Dropbox import process will begin soon" : "Процесът на импортиране в Dropbox ще започне скоро",
26 | "Dropbox options saved" : "Опциите на Dropbox са записани",
27 | "Failed to save Dropbox options" : "Неуспешно записване на опциите на Dropbox",
28 | "Successfully connected to Dropbox!" : "Успешно свързване с Dropbox!",
29 | "Failed to connect to Dropbox" : "Неуспешно свързване с Dropbox",
30 | "Failed to get Dropbox storage information" : "Неуспешно получаване на информация за Dropbox хранилище",
31 | "Starting importing files in {targetPath} directory" : "Започва импортирането на файлове в директория {targetPath}",
32 | "Failed to start importing Dropbox storage" : "Неуспешно стартиране на импортирането на хранилище в Dropbox",
33 | "Choose where to write imported files" : "Изберете къде да запишете импортирани файлове",
34 | "Dropbox data migration" : "Миграция на данни в Dropbox",
35 | "Authentication" : "Удостоверяване",
36 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Ако имате проблеми с удостоверяването, помолете вашия администратор на Nextcloud да провери настройките за администратор на Dropbox.",
37 | "Connect to Dropbox to get an access code" : "Свържете се с Dropbox, за да получите код за достъп",
38 | "Dropbox access code" : "Код за достъп до Dropbox",
39 | "Access code" : "Код за достъп",
40 | "Connected as {user} ({email})" : "Свързан като {user} ({email})",
41 | "Disconnect from Dropbox" : "Прекъсване на връзката с Dropbox",
42 | "Dropbox storage" : "Dropbox хранилище",
43 | "Import directory" : "Директория за импортиране",
44 | "Dropbox storage size: {formSize}" : "Размер на хранилище в Dropbox: {formSize}",
45 | "Import Dropbox files" : "Импортиране на файлове от Dropbox",
46 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Вашето хранилище в Dropbox е по-голямо от оставащото ви пространство ({formSpace})",
47 | "Import job is currently running" : "В момента се изпълнява задачата за импортиране",
48 | "Cancel Dropbox files import" : "Отказ на импортирането на файлове от Dropbox",
49 | "Your Dropbox storage is empty" : "Вашето Dropbox хранилище е празно",
50 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} импортирани файлове","{amount} импортирани файлове"]
51 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
52 | }
--------------------------------------------------------------------------------
/l10n/nb.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Ugyldig aksesskode",
5 | "Dropbox" : "Dropbox",
6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n fil ble importert fra Dropbox-lagring.","%n filer ble importert fra Dropbox-lagring."],
7 | "Bad HTTP method" : "HTTP-metode er feil",
8 | "Bad credentials" : "Påloggingsdetaljene er feil",
9 | "Token is not valid anymore. Impossible to refresh it." : "Tokenet er ikke gyldig lenger. Umulig å oppfriske det.",
10 | "Could not access file due to failed authentication." : "Kan ikke få tilgang til filen på grunn av feilet autentisering.",
11 | "OAuth access token refused" : "OAuth access token ble avslått",
12 | "Connected accounts" : "Tilknyttede kontoer",
13 | "Data migration" : "Datamigrering",
14 | "Dropbox integration" : "Dropbox-integrasjon",
15 | "Import Dropbox data in Nextcloud" : "Importer Dropbox-data i Nextcloud",
16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox-integrasjon lar deg automatisk importere Dropbox-filene dine til Nextcloud.",
17 | "Dropbox admin options saved" : "Administrasjonsalternativer for Dropbox lagret",
18 | "Failed to save Dropbox admin options" : "Lagring av administrasjonsalternativer for Dropbox feilet",
19 | "Dropbox developer settings" : "Innstillinger for utvikling av Dropbox",
20 | "Make sure your give those permissions to your app:" : "Pass på at du gir disse tillatelsene til appen din:",
21 | "No need to add any redirect URI." : "Det er ingen behov for å legge til omdirigerings-URI.",
22 | "Then set the app key and app secret below." : "Deretter angi app-nøkkel og app-hemmelighet nedenfor.",
23 | "App key" : "App-nøkkel",
24 | "Your Dropbox application key" : "Din Dropbox-applikasjonsnøkkel",
25 | "App secret" : "App-hemmelighet",
26 | "Your Dropbox application secret" : "Din Dropbox-applikasjonshemmelighet",
27 | "Last Dropbox import job at {date}" : "Siste Dropbox-importjobb den {date}",
28 | "Dropbox import process will begin soon" : "Dropbox-importprosessen begynner snart",
29 | "Dropbox options saved" : "Alternativer for Dropbox lagret",
30 | "Failed to save Dropbox options" : "Lagring av alternativer for Dropbox feilet",
31 | "Successfully connected to Dropbox!" : "Koblet til Dropbox!",
32 | "Failed to connect to Dropbox" : "Kobling til Dropbox feilet",
33 | "Failed to get Dropbox storage information" : "Kunne ikke hente Dropbox-lagringsinformasjon",
34 | "Starting importing files in {targetPath} directory" : "Begynner å importere filer i {targetPath}-katalogen",
35 | "Failed to start importing Dropbox storage" : "Kunne ikke begynne å importere Dropbox-lagring",
36 | "Choose where to write imported files" : "Velg hvor du vil skrive importerte filer",
37 | "Dropbox data migration" : "Dropbox-datamigrering",
38 | "Authentication" : "Autentisering",
39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Hvis du har problemer med å autentisere, kan du be Nextcloud-administratoren om å sjekke administratorinnstillingene for Dropbox.",
40 | "Connect to Dropbox to get an access code" : "Koble til Dropbox for å få en aksesskode",
41 | "Dropbox access code" : "Dropbox-aksesskode",
42 | "Access code" : "Aksesskode",
43 | "Connected as {user} ({email})" : "Tilkoblet som {user} ({email})",
44 | "Disconnect from Dropbox" : "Koble fra Dropbox",
45 | "Dropbox storage" : "Dropbox-lagring",
46 | "Import directory" : "Importkatalog",
47 | "Dropbox storage size: {formSize}" : "Dropbox-lagringsstørrelse: {formSize}",
48 | "Import Dropbox files" : "Importer Dropbox-filer",
49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Dropbox-lagringsplassen er større enn den gjenværende plassen som er igjen ({formSpace})",
50 | "Import job is currently running" : "Importjobben kjører for øyeblikket",
51 | "An error occured during the import: {error}" : "Det oppstod en feil under importen: {error}",
52 | "Cancel Dropbox files import" : "Avbryt filimporten fra Dropbox",
53 | "Your Dropbox storage is empty" : "Dropbox-lagringsplassen din er tom",
54 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} fil importert","{amount} filer importert"]
55 | },
56 | "nplurals=2; plural=(n != 1);");
57 |
--------------------------------------------------------------------------------
/l10n/bg.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Невалиден код за достъп",
5 | "Dropbox" : "Dropbox",
6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n файлове бяха импортирани от Dropbox хранилище.","%n файлове бяха импортирани от Dropbox хранилище."],
7 | "Bad HTTP method" : "Лош HTTP метод",
8 | "Bad credentials" : "Лоши идентификационни данни",
9 | "Token is not valid anymore. Impossible to refresh it." : "Маркерът вече не е валиден. Не е възможно да го обновите.",
10 | "OAuth access token refused" : " Маркерът за достъп OAuth е отказан",
11 | "Connected accounts" : "Свързани профили",
12 | "Data migration" : "Миграция на данни",
13 | "Dropbox integration" : "Dropbox интеграция",
14 | "Import Dropbox data in Nextcloud" : "Импортиране на данни от Dropbox в Nextcloud",
15 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Интеграцията с Dropbox ви позволява автоматично да импортирате вашите файлове от Dropbox в Nextcloud.",
16 | "Dropbox admin options saved" : "Опциите за администратор на Dropbox са записани",
17 | "Failed to save Dropbox admin options" : "Неуспешно записване на опциите за администратор на Dropbox",
18 | "Dropbox developer settings" : "Настройки за разработчици на Dropbox",
19 | "Make sure your give those permissions to your app:" : "Уверете се, че сте дали тези права на приложението си:",
20 | "No need to add any redirect URI." : "Не е необходимо да добавяте URI за пренасочване.",
21 | "Then set the app key and app secret below." : "След това задайте ключ на приложението и тайна на приложението по-долу.",
22 | "App key" : " Ключ на приложение",
23 | "Your Dropbox application key" : "Вашият ключ за Dropbox приложение",
24 | "App secret" : "Тайна на приложение",
25 | "Your Dropbox application secret" : "Вашата тайна за Dropbox приложение",
26 | "Last Dropbox import job at {date}" : "Последна задача за импортиране в Dropbox на {date}",
27 | "Dropbox import process will begin soon" : "Процесът на импортиране в Dropbox ще започне скоро",
28 | "Dropbox options saved" : "Опциите на Dropbox са записани",
29 | "Failed to save Dropbox options" : "Неуспешно записване на опциите на Dropbox",
30 | "Successfully connected to Dropbox!" : "Успешно свързване с Dropbox!",
31 | "Failed to connect to Dropbox" : "Неуспешно свързване с Dropbox",
32 | "Failed to get Dropbox storage information" : "Неуспешно получаване на информация за Dropbox хранилище",
33 | "Starting importing files in {targetPath} directory" : "Започва импортирането на файлове в директория {targetPath}",
34 | "Failed to start importing Dropbox storage" : "Неуспешно стартиране на импортирането на хранилище в Dropbox",
35 | "Choose where to write imported files" : "Изберете къде да запишете импортирани файлове",
36 | "Dropbox data migration" : "Миграция на данни в Dropbox",
37 | "Authentication" : "Удостоверяване",
38 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Ако имате проблеми с удостоверяването, помолете вашия администратор на Nextcloud да провери настройките за администратор на Dropbox.",
39 | "Connect to Dropbox to get an access code" : "Свържете се с Dropbox, за да получите код за достъп",
40 | "Dropbox access code" : "Код за достъп до Dropbox",
41 | "Access code" : "Код за достъп",
42 | "Connected as {user} ({email})" : "Свързан като {user} ({email})",
43 | "Disconnect from Dropbox" : "Прекъсване на връзката с Dropbox",
44 | "Dropbox storage" : "Dropbox хранилище",
45 | "Import directory" : "Директория за импортиране",
46 | "Dropbox storage size: {formSize}" : "Размер на хранилище в Dropbox: {formSize}",
47 | "Import Dropbox files" : "Импортиране на файлове от Dropbox",
48 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Вашето хранилище в Dropbox е по-голямо от оставащото ви пространство ({formSpace})",
49 | "Import job is currently running" : "В момента се изпълнява задачата за импортиране",
50 | "Cancel Dropbox files import" : "Отказ на импортирането на файлове от Dropbox",
51 | "Your Dropbox storage is empty" : "Вашето Dropbox хранилище е празно",
52 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} импортирани файлове","{amount} импортирани файлове"]
53 | },
54 | "nplurals=2; plural=(n != 1);");
55 |
--------------------------------------------------------------------------------
/l10n/eu.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Sarbide-kode baliogabea",
3 | "Dropbox" : "Dropbox",
4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["Fitxategi %s inportatu da Dropbox biltegitik.","%n fitxategi inportatu dira Dropbox biltegitik."],
5 | "Bad HTTP method" : "HTTP metodo okerra",
6 | "Bad credentials" : "Kredentzial okerrak",
7 | "Token is not valid anymore. Impossible to refresh it." : "Token honek ez du balio dagoeneko. Ezin izan da freskatu.",
8 | "Could not access file due to failed authentication." : "Ezin izan da fitxategia atzitu, autentifikazioak kale egin duelako.",
9 | "OAuth access token refused" : "OAuth sarbide tokena ukatua izan da",
10 | "Connected accounts" : "Konektatutako kontuak",
11 | "Data migration" : "Datu migrazioa",
12 | "Dropbox integration" : "Dropbox integrazioa",
13 | "Import Dropbox data in Nextcloud" : "Inportatu Dropbox datuak Nextcloud-era",
14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox integrazioarekin zure Dropbox fitxategiak automatikoki inporta ditzakezu Nextcloudera.",
15 | "Dropbox admin options saved" : "Dropbox administratzaile aukerak ondo gorde dira",
16 | "Failed to save Dropbox admin options" : "Ezin izan dira gorde Dropbox administratzailearen aukerak gorde",
17 | "Dropbox developer settings" : "Dropbox garatzaile ezarpenak",
18 | "Make sure your give those permissions to your app:" : "Ziurtatu zure aplikazioari baimen hauek ematen dizkiozula:",
19 | "No need to add any redirect URI." : "Ez da birbideratze URI-rik gehitu beharrik.",
20 | "Then set the app key and app secret below." : "Ondoren ezarri aplikazioaren gakoa eta aplikazioaren sekretua azpian.",
21 | "App key" : "Aplikazio-gakoa",
22 | "Your Dropbox application key" : "Zure Dropbox aplikazioaren gakoa",
23 | "App secret" : "Aplikazio-sekretua",
24 | "Your Dropbox application secret" : "Zure Dropbox aplikazioaren sekretua",
25 | "Last Dropbox import job at {date}" : "Egindako azken Dropbox inportazioa: {date}",
26 | "Dropbox import process will begin soon" : "Dropbox inportatzeko prozesua laster hasiko da",
27 | "Dropbox options saved" : "Dropbox aukerak gorde dira",
28 | "Failed to save Dropbox options" : "Dropbox aukerak gordetzeak huts egin du",
29 | "Successfully connected to Dropbox!" : "Ondo egin da konexioa Dropboxekin!",
30 | "Failed to connect to Dropbox" : "Dropbox-era konektatzeak huts egin du",
31 | "Failed to get Dropbox storage information" : "Ezin izan da Dropbox bilegiko informazioa lortu",
32 | "Starting importing files in {targetPath} directory" : "Fitxategiak {targetPath} direktoriora inportatzea abiatzen",
33 | "Failed to start importing Dropbox storage" : "Ezin izan da Dropbox biltegia inportatzen hasi",
34 | "Choose where to write imported files" : "Aukeratu non idatzi inportatutako fitxategiak",
35 | "Dropbox data migration" : "Dropbox datu migrazioa",
36 | "Authentication" : "Autentifikazioa",
37 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Autentifikatzeko arazoak baldin badauzkazu, galdegin zure Nextcloud administratzaileari Dropbox administratzaile ezarpenak begiratzeko.",
38 | "Connect to Dropbox to get an access code" : "Konektatu Dropboxekin, atzitzeko kode bat lortzeko.",
39 | "Dropbox access code" : "Dropbox sarbide-kodea",
40 | "Access code" : "Sarbide-kodea",
41 | "Connected as {user} ({email})" : "{user} ({email}) gisa konektatuta",
42 | "Disconnect from Dropbox" : "Deskonektatu Dropbox-etik",
43 | "Dropbox storage" : "Dropbox biltegia",
44 | "Import directory" : "Inportatu direktorioa",
45 | "Dropbox storage size: {formSize}" : "Dropbox biltegiaren tamaina: {formSize}",
46 | "Import Dropbox files" : "Inportatu Dropbox fitxategiak",
47 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Zure Dropbox biltegia handiagoa da gelditzen zaizun lekua baino ({formSpace})",
48 | "Import job is currently running" : "Inportazio lana martxan dago",
49 | "An error occured during the import: {error}" : "Errorea gertatu da inportazioan zehar: {error}",
50 | "Cancel Dropbox files import" : "Utzi bertan behera Dropbox inportazioa",
51 | "Your Dropbox storage is empty" : "Zure Dropbox biltegia hutsik dago",
52 | "_{amount} file imported_::_{amount} files imported_" : ["Fitxategi {amount} inportatu da","{amount} fitxategi inportatu dira"]
53 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
54 | }
--------------------------------------------------------------------------------
/src/components/AdminSettings.vue:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 | {{ t('integration_dropbox', 'Dropbox integration') }}
10 |
11 |
12 |
13 | {{ t('integration_dropbox', 'If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox.') }}
14 |
15 |
16 | {{ t('integration_dropbox', 'Dropbox developer settings') }}
17 |
18 |
19 | {{ t('integration_dropbox', 'Make sure your give those permissions to your app:') }}
20 |
21 |
22 | account_info.read - files.metadata.read - files.content.read
23 |
24 |
25 | {{ t('integration_dropbox', 'No need to add any redirect URI.') }}
26 | {{ t('integration_dropbox', 'Then set the app key and app secret below.') }}
27 |
28 |
29 |
57 |
58 |
59 |
60 |
128 |
129 |
161 |
--------------------------------------------------------------------------------
/l10n/en_GB.json:
--------------------------------------------------------------------------------
1 | { "translations": {
2 | "Invalid access code" : "Invalid access code",
3 | "Dropbox" : "Dropbox",
4 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n file was imported from Dropbox storage.","%n files were imported from Dropbox storage."],
5 | "Bad HTTP method" : "Bad HTTP method",
6 | "Bad credentials" : "Bad credentials",
7 | "Token is not valid anymore. Impossible to refresh it." : "Token is not valid anymore. Impossible to refresh it.",
8 | "Could not access file due to failed authentication." : "Could not access file due to failed authentication.",
9 | "OAuth access token refused" : "OAuth access token refused",
10 | "Connected accounts" : "Connected accounts",
11 | "Data migration" : "Data migration",
12 | "Dropbox integration" : "Dropbox integration",
13 | "Import Dropbox data in Nextcloud" : "Import Dropbox data in Nextcloud",
14 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud.",
15 | "Dropbox admin options saved" : "Dropbox admin options saved",
16 | "Failed to save Dropbox admin options" : "Failed to save Dropbox admin options",
17 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox.",
18 | "Dropbox developer settings" : "Dropbox developer settings",
19 | "Make sure your give those permissions to your app:" : "Make sure your give those permissions to your app:",
20 | "No need to add any redirect URI." : "No need to add any redirect URI.",
21 | "Then set the app key and app secret below." : "Then set the app key and app secret below.",
22 | "App key" : "App key",
23 | "Your Dropbox application key" : "Your Dropbox application key",
24 | "App secret" : "App secret",
25 | "Your Dropbox application secret" : "Your Dropbox application secret",
26 | "Last Dropbox import job at {date}" : "Last Dropbox import job at {date}",
27 | "Dropbox import process will begin soon" : "Dropbox import process will begin soon",
28 | "Dropbox options saved" : "Dropbox options saved",
29 | "Failed to save Dropbox options" : "Failed to save Dropbox options",
30 | "Successfully connected to Dropbox!" : "Successfully connected to Dropbox!",
31 | "Failed to connect to Dropbox" : "Failed to connect to Dropbox",
32 | "Failed to get Dropbox storage information" : "Failed to get Dropbox storage information",
33 | "Starting importing files in {targetPath} directory" : "Starting importing files in {targetPath} directory",
34 | "Failed to start importing Dropbox storage" : "Failed to start importing Dropbox storage",
35 | "Choose where to write imported files" : "Choose where to write imported files",
36 | "Dropbox data migration" : "Dropbox data migration",
37 | "Your administrator has not yet configured this integration." : "Your administrator has not yet configured this integration.",
38 | "Authentication" : "Authentication",
39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings.",
40 | "Connect to Dropbox to get an access code" : "Connect to Dropbox to get an access code",
41 | "Dropbox access code" : "Dropbox access code",
42 | "Access code" : "Access code",
43 | "Connected as {user} ({email})" : "Connected as {user} ({email})",
44 | "Disconnect from Dropbox" : "Disconnect from Dropbox",
45 | "Dropbox storage" : "Dropbox storage",
46 | "Import directory" : "Import directory",
47 | "Dropbox storage size: {formSize}" : "Dropbox storage size: {formSize}",
48 | "Import Dropbox files" : "Import Dropbox files",
49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Your Dropbox storage is bigger than your remaining space left ({formSpace})",
50 | "Import job is currently running" : "Import job is currently running",
51 | "An error occured during the import: {error}" : "An error occurred during the import: {error}",
52 | "Cancel Dropbox files import" : "Cancel Dropbox files import",
53 | "Your Dropbox storage is empty" : "Your Dropbox storage is empty",
54 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} file imported","{amount} files imported"]
55 | },"pluralForm" :"nplurals=2; plural=(n != 1);"
56 | }
--------------------------------------------------------------------------------
/l10n/eu.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Sarbide-kode baliogabea",
5 | "Dropbox" : "Dropbox",
6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["Fitxategi %s inportatu da Dropbox biltegitik.","%n fitxategi inportatu dira Dropbox biltegitik."],
7 | "Bad HTTP method" : "HTTP metodo okerra",
8 | "Bad credentials" : "Kredentzial okerrak",
9 | "Token is not valid anymore. Impossible to refresh it." : "Token honek ez du balio dagoeneko. Ezin izan da freskatu.",
10 | "Could not access file due to failed authentication." : "Ezin izan da fitxategia atzitu, autentifikazioak kale egin duelako.",
11 | "OAuth access token refused" : "OAuth sarbide tokena ukatua izan da",
12 | "Connected accounts" : "Konektatutako kontuak",
13 | "Data migration" : "Datu migrazioa",
14 | "Dropbox integration" : "Dropbox integrazioa",
15 | "Import Dropbox data in Nextcloud" : "Inportatu Dropbox datuak Nextcloud-era",
16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox integrazioarekin zure Dropbox fitxategiak automatikoki inporta ditzakezu Nextcloudera.",
17 | "Dropbox admin options saved" : "Dropbox administratzaile aukerak ondo gorde dira",
18 | "Failed to save Dropbox admin options" : "Ezin izan dira gorde Dropbox administratzailearen aukerak gorde",
19 | "Dropbox developer settings" : "Dropbox garatzaile ezarpenak",
20 | "Make sure your give those permissions to your app:" : "Ziurtatu zure aplikazioari baimen hauek ematen dizkiozula:",
21 | "No need to add any redirect URI." : "Ez da birbideratze URI-rik gehitu beharrik.",
22 | "Then set the app key and app secret below." : "Ondoren ezarri aplikazioaren gakoa eta aplikazioaren sekretua azpian.",
23 | "App key" : "Aplikazio-gakoa",
24 | "Your Dropbox application key" : "Zure Dropbox aplikazioaren gakoa",
25 | "App secret" : "Aplikazio-sekretua",
26 | "Your Dropbox application secret" : "Zure Dropbox aplikazioaren sekretua",
27 | "Last Dropbox import job at {date}" : "Egindako azken Dropbox inportazioa: {date}",
28 | "Dropbox import process will begin soon" : "Dropbox inportatzeko prozesua laster hasiko da",
29 | "Dropbox options saved" : "Dropbox aukerak gorde dira",
30 | "Failed to save Dropbox options" : "Dropbox aukerak gordetzeak huts egin du",
31 | "Successfully connected to Dropbox!" : "Ondo egin da konexioa Dropboxekin!",
32 | "Failed to connect to Dropbox" : "Dropbox-era konektatzeak huts egin du",
33 | "Failed to get Dropbox storage information" : "Ezin izan da Dropbox bilegiko informazioa lortu",
34 | "Starting importing files in {targetPath} directory" : "Fitxategiak {targetPath} direktoriora inportatzea abiatzen",
35 | "Failed to start importing Dropbox storage" : "Ezin izan da Dropbox biltegia inportatzen hasi",
36 | "Choose where to write imported files" : "Aukeratu non idatzi inportatutako fitxategiak",
37 | "Dropbox data migration" : "Dropbox datu migrazioa",
38 | "Authentication" : "Autentifikazioa",
39 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "Autentifikatzeko arazoak baldin badauzkazu, galdegin zure Nextcloud administratzaileari Dropbox administratzaile ezarpenak begiratzeko.",
40 | "Connect to Dropbox to get an access code" : "Konektatu Dropboxekin, atzitzeko kode bat lortzeko.",
41 | "Dropbox access code" : "Dropbox sarbide-kodea",
42 | "Access code" : "Sarbide-kodea",
43 | "Connected as {user} ({email})" : "{user} ({email}) gisa konektatuta",
44 | "Disconnect from Dropbox" : "Deskonektatu Dropbox-etik",
45 | "Dropbox storage" : "Dropbox biltegia",
46 | "Import directory" : "Inportatu direktorioa",
47 | "Dropbox storage size: {formSize}" : "Dropbox biltegiaren tamaina: {formSize}",
48 | "Import Dropbox files" : "Inportatu Dropbox fitxategiak",
49 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Zure Dropbox biltegia handiagoa da gelditzen zaizun lekua baino ({formSpace})",
50 | "Import job is currently running" : "Inportazio lana martxan dago",
51 | "An error occured during the import: {error}" : "Errorea gertatu da inportazioan zehar: {error}",
52 | "Cancel Dropbox files import" : "Utzi bertan behera Dropbox inportazioa",
53 | "Your Dropbox storage is empty" : "Zure Dropbox biltegia hutsik dago",
54 | "_{amount} file imported_::_{amount} files imported_" : ["Fitxategi {amount} inportatu da","{amount} fitxategi inportatu dira"]
55 | },
56 | "nplurals=2; plural=(n != 1);");
57 |
--------------------------------------------------------------------------------
/l10n/en_GB.js:
--------------------------------------------------------------------------------
1 | OC.L10N.register(
2 | "integration_dropbox",
3 | {
4 | "Invalid access code" : "Invalid access code",
5 | "Dropbox" : "Dropbox",
6 | "_%n file was imported from Dropbox storage._::_%n files were imported from Dropbox storage._" : ["%n file was imported from Dropbox storage.","%n files were imported from Dropbox storage."],
7 | "Bad HTTP method" : "Bad HTTP method",
8 | "Bad credentials" : "Bad credentials",
9 | "Token is not valid anymore. Impossible to refresh it." : "Token is not valid anymore. Impossible to refresh it.",
10 | "Could not access file due to failed authentication." : "Could not access file due to failed authentication.",
11 | "OAuth access token refused" : "OAuth access token refused",
12 | "Connected accounts" : "Connected accounts",
13 | "Data migration" : "Data migration",
14 | "Dropbox integration" : "Dropbox integration",
15 | "Import Dropbox data in Nextcloud" : "Import Dropbox data in Nextcloud",
16 | "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud." : "Dropbox integration allows you to automatically import your Dropbox files into Nextcloud.",
17 | "Dropbox admin options saved" : "Dropbox admin options saved",
18 | "Failed to save Dropbox admin options" : "Failed to save Dropbox admin options",
19 | "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox." : "If you want your Nextcloud users to authenticate to Dropbox using your Dropbox OAuth app, create one in Dropbox.",
20 | "Dropbox developer settings" : "Dropbox developer settings",
21 | "Make sure your give those permissions to your app:" : "Make sure your give those permissions to your app:",
22 | "No need to add any redirect URI." : "No need to add any redirect URI.",
23 | "Then set the app key and app secret below." : "Then set the app key and app secret below.",
24 | "App key" : "App key",
25 | "Your Dropbox application key" : "Your Dropbox application key",
26 | "App secret" : "App secret",
27 | "Your Dropbox application secret" : "Your Dropbox application secret",
28 | "Last Dropbox import job at {date}" : "Last Dropbox import job at {date}",
29 | "Dropbox import process will begin soon" : "Dropbox import process will begin soon",
30 | "Dropbox options saved" : "Dropbox options saved",
31 | "Failed to save Dropbox options" : "Failed to save Dropbox options",
32 | "Successfully connected to Dropbox!" : "Successfully connected to Dropbox!",
33 | "Failed to connect to Dropbox" : "Failed to connect to Dropbox",
34 | "Failed to get Dropbox storage information" : "Failed to get Dropbox storage information",
35 | "Starting importing files in {targetPath} directory" : "Starting importing files in {targetPath} directory",
36 | "Failed to start importing Dropbox storage" : "Failed to start importing Dropbox storage",
37 | "Choose where to write imported files" : "Choose where to write imported files",
38 | "Dropbox data migration" : "Dropbox data migration",
39 | "Your administrator has not yet configured this integration." : "Your administrator has not yet configured this integration.",
40 | "Authentication" : "Authentication",
41 | "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings." : "If you have trouble authenticating, ask your Nextcloud administrator to check Dropbox admin settings.",
42 | "Connect to Dropbox to get an access code" : "Connect to Dropbox to get an access code",
43 | "Dropbox access code" : "Dropbox access code",
44 | "Access code" : "Access code",
45 | "Connected as {user} ({email})" : "Connected as {user} ({email})",
46 | "Disconnect from Dropbox" : "Disconnect from Dropbox",
47 | "Dropbox storage" : "Dropbox storage",
48 | "Import directory" : "Import directory",
49 | "Dropbox storage size: {formSize}" : "Dropbox storage size: {formSize}",
50 | "Import Dropbox files" : "Import Dropbox files",
51 | "Your Dropbox storage is bigger than your remaining space left ({formSpace})" : "Your Dropbox storage is bigger than your remaining space left ({formSpace})",
52 | "Import job is currently running" : "Import job is currently running",
53 | "An error occured during the import: {error}" : "An error occurred during the import: {error}",
54 | "Cancel Dropbox files import" : "Cancel Dropbox files import",
55 | "Your Dropbox storage is empty" : "Your Dropbox storage is empty",
56 | "_{amount} file imported_::_{amount} files imported_" : ["{amount} file imported","{amount} files imported"]
57 | },
58 | "nplurals=2; plural=(n != 1);");
59 |
--------------------------------------------------------------------------------