diff options
author | Côme Chilliet <91878298+come-nc@users.noreply.github.com> | 2023-04-20 16:52:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-20 16:52:38 +0200 |
commit | b294edad804f40618a96116845615831302d0357 (patch) | |
tree | 71023e0f6d2185d44a4a62200e5613efa8aee089 /lib | |
parent | 8d5165e8dc40289b5d523523c4140f780b2fe293 (diff) | |
parent | 590c202797e6f5018635e45cdb2ed79ecd1c9865 (diff) | |
download | nextcloud-server-b294edad804f40618a96116845615831302d0357.tar.gz nextcloud-server-b294edad804f40618a96116845615831302d0357.zip |
Merge branch 'master' into enh/type-iconfig-getter-calls
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Diffstat (limited to 'lib')
196 files changed, 1128 insertions, 431 deletions
diff --git a/lib/base.php b/lib/base.php index e0ec23151e3..9c588bdaa76 100644 --- a/lib/base.php +++ b/lib/base.php @@ -570,7 +570,9 @@ class OC { // Debug mode gets access to the resources without strict cookie // due to the fact that the SabreDAV browser also lives there. if (!$config->getSystemValueBool('debug', false)) { - http_response_code(\OCP\AppFramework\Http::STATUS_SERVICE_UNAVAILABLE); + http_response_code(\OCP\AppFramework\Http::STATUS_PRECONDITION_FAILED); + header('Content-Type: application/json'); + echo json_encode(['error' => 'Strict Cookie has not been found in request']); exit(); } } @@ -1027,6 +1029,7 @@ class OC { // Always load authentication apps OC_App::loadApps(['authentication']); + OC_App::loadApps(['extended_authentication']); // Load minimum set of apps if (!\OCP\Util::needUpgrade() diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index 2b320c82424..55b9dcaa10e 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -573,6 +573,11 @@ return array( 'OCP\\Share_Backend' => $baseDir . '/lib/public/Share_Backend.php', 'OCP\\Share_Backend_Collection' => $baseDir . '/lib/public/Share_Backend_Collection.php', 'OCP\\Share_Backend_File_Dependent' => $baseDir . '/lib/public/Share_Backend_File_Dependent.php', + 'OCP\\SpeechToText\\Events\\AbstractTranscriptionEvent' => $baseDir . '/lib/public/SpeechToText/Events/AbstractTranscriptionEvent.php', + 'OCP\\SpeechToText\\Events\\TranscriptionFailedEvent' => $baseDir . '/lib/public/SpeechToText/Events/TranscriptionFailedEvent.php', + 'OCP\\SpeechToText\\Events\\TranscriptionSuccessfulEvent' => $baseDir . '/lib/public/SpeechToText/Events/TranscriptionSuccessfulEvent.php', + 'OCP\\SpeechToText\\ISpeechToTextManager' => $baseDir . '/lib/public/SpeechToText/ISpeechToTextManager.php', + 'OCP\\SpeechToText\\ISpeechToTextProvider' => $baseDir . '/lib/public/SpeechToText/ISpeechToTextProvider.php', 'OCP\\Support\\CrashReport\\ICollectBreadcrumbs' => $baseDir . '/lib/public/Support/CrashReport/ICollectBreadcrumbs.php', 'OCP\\Support\\CrashReport\\IMessageReporter' => $baseDir . '/lib/public/Support/CrashReport/IMessageReporter.php', 'OCP\\Support\\CrashReport\\IRegistry' => $baseDir . '/lib/public/Support/CrashReport/IRegistry.php', @@ -1584,6 +1589,8 @@ return array( 'OC\\Share\\Constants' => $baseDir . '/lib/private/Share/Constants.php', 'OC\\Share\\Helper' => $baseDir . '/lib/private/Share/Helper.php', 'OC\\Share\\Share' => $baseDir . '/lib/private/Share/Share.php', + 'OC\\SpeechToText\\SpeechToTextManager' => $baseDir . '/lib/private/SpeechToText/SpeechToTextManager.php', + 'OC\\SpeechToText\\TranscriptionJob' => $baseDir . '/lib/private/SpeechToText/TranscriptionJob.php', 'OC\\StreamImage' => $baseDir . '/lib/private/StreamImage.php', 'OC\\Streamer' => $baseDir . '/lib/private/Streamer.php', 'OC\\SubAdmin' => $baseDir . '/lib/private/SubAdmin.php', @@ -1614,9 +1621,9 @@ return array( 'OC\\Translation\\TranslationManager' => $baseDir . '/lib/private/Translation/TranslationManager.php', 'OC\\URLGenerator' => $baseDir . '/lib/private/URLGenerator.php', 'OC\\Updater' => $baseDir . '/lib/private/Updater.php', + 'OC\\Updater\\Changes' => $baseDir . '/lib/private/Updater/Changes.php', 'OC\\Updater\\ChangesCheck' => $baseDir . '/lib/private/Updater/ChangesCheck.php', 'OC\\Updater\\ChangesMapper' => $baseDir . '/lib/private/Updater/ChangesMapper.php', - 'OC\\Updater\\ChangesResult' => $baseDir . '/lib/private/Updater/ChangesResult.php', 'OC\\Updater\\VersionCheck' => $baseDir . '/lib/private/Updater/VersionCheck.php', 'OC\\UserStatus\\ISettableProvider' => $baseDir . '/lib/private/UserStatus/ISettableProvider.php', 'OC\\UserStatus\\Manager' => $baseDir . '/lib/private/UserStatus/Manager.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index a920e67a772..33a43479a2f 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -606,6 +606,11 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OCP\\Share_Backend' => __DIR__ . '/../../..' . '/lib/public/Share_Backend.php', 'OCP\\Share_Backend_Collection' => __DIR__ . '/../../..' . '/lib/public/Share_Backend_Collection.php', 'OCP\\Share_Backend_File_Dependent' => __DIR__ . '/../../..' . '/lib/public/Share_Backend_File_Dependent.php', + 'OCP\\SpeechToText\\Events\\AbstractTranscriptionEvent' => __DIR__ . '/../../..' . '/lib/public/SpeechToText/Events/AbstractTranscriptionEvent.php', + 'OCP\\SpeechToText\\Events\\TranscriptionFailedEvent' => __DIR__ . '/../../..' . '/lib/public/SpeechToText/Events/TranscriptionFailedEvent.php', + 'OCP\\SpeechToText\\Events\\TranscriptionSuccessfulEvent' => __DIR__ . '/../../..' . '/lib/public/SpeechToText/Events/TranscriptionSuccessfulEvent.php', + 'OCP\\SpeechToText\\ISpeechToTextManager' => __DIR__ . '/../../..' . '/lib/public/SpeechToText/ISpeechToTextManager.php', + 'OCP\\SpeechToText\\ISpeechToTextProvider' => __DIR__ . '/../../..' . '/lib/public/SpeechToText/ISpeechToTextProvider.php', 'OCP\\Support\\CrashReport\\ICollectBreadcrumbs' => __DIR__ . '/../../..' . '/lib/public/Support/CrashReport/ICollectBreadcrumbs.php', 'OCP\\Support\\CrashReport\\IMessageReporter' => __DIR__ . '/../../..' . '/lib/public/Support/CrashReport/IMessageReporter.php', 'OCP\\Support\\CrashReport\\IRegistry' => __DIR__ . '/../../..' . '/lib/public/Support/CrashReport/IRegistry.php', @@ -1617,6 +1622,8 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OC\\Share\\Constants' => __DIR__ . '/../../..' . '/lib/private/Share/Constants.php', 'OC\\Share\\Helper' => __DIR__ . '/../../..' . '/lib/private/Share/Helper.php', 'OC\\Share\\Share' => __DIR__ . '/../../..' . '/lib/private/Share/Share.php', + 'OC\\SpeechToText\\SpeechToTextManager' => __DIR__ . '/../../..' . '/lib/private/SpeechToText/SpeechToTextManager.php', + 'OC\\SpeechToText\\TranscriptionJob' => __DIR__ . '/../../..' . '/lib/private/SpeechToText/TranscriptionJob.php', 'OC\\StreamImage' => __DIR__ . '/../../..' . '/lib/private/StreamImage.php', 'OC\\Streamer' => __DIR__ . '/../../..' . '/lib/private/Streamer.php', 'OC\\SubAdmin' => __DIR__ . '/../../..' . '/lib/private/SubAdmin.php', @@ -1647,9 +1654,9 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OC\\Translation\\TranslationManager' => __DIR__ . '/../../..' . '/lib/private/Translation/TranslationManager.php', 'OC\\URLGenerator' => __DIR__ . '/../../..' . '/lib/private/URLGenerator.php', 'OC\\Updater' => __DIR__ . '/../../..' . '/lib/private/Updater.php', + 'OC\\Updater\\Changes' => __DIR__ . '/../../..' . '/lib/private/Updater/Changes.php', 'OC\\Updater\\ChangesCheck' => __DIR__ . '/../../..' . '/lib/private/Updater/ChangesCheck.php', 'OC\\Updater\\ChangesMapper' => __DIR__ . '/../../..' . '/lib/private/Updater/ChangesMapper.php', - 'OC\\Updater\\ChangesResult' => __DIR__ . '/../../..' . '/lib/private/Updater/ChangesResult.php', 'OC\\Updater\\VersionCheck' => __DIR__ . '/../../..' . '/lib/private/Updater/VersionCheck.php', 'OC\\UserStatus\\ISettableProvider' => __DIR__ . '/../../..' . '/lib/private/UserStatus/ISettableProvider.php', 'OC\\UserStatus\\Manager' => __DIR__ . '/../../..' . '/lib/private/UserStatus/Manager.php', diff --git a/lib/l10n/af.js b/lib/l10n/af.js index 18c890357f9..c36eda26cb4 100644 --- a/lib/l10n/af.js +++ b/lib/l10n/af.js @@ -19,7 +19,6 @@ OC.L10N.register( "Address" : "Adres", "Profile picture" : "Profielprent", "About" : "Oor", - "Full name" : "Volle naam", "Unknown user" : "Onbekende gebruiker", "Open »%s«" : "Open »%s«", "Sunday" : "Sondag", @@ -30,6 +29,7 @@ OC.L10N.register( "Friday" : "Vrydag", "Saturday" : "Saterdag", "a safe home for all your data" : "’n veilige tuiste vir al u data", - "Storage is temporarily not available" : "Berging is tydelik nie beskikbaar nie" + "Storage is temporarily not available" : "Berging is tydelik nie beskikbaar nie", + "Full name" : "Volle naam" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/af.json b/lib/l10n/af.json index 995b4753285..48d4be15283 100644 --- a/lib/l10n/af.json +++ b/lib/l10n/af.json @@ -17,7 +17,6 @@ "Address" : "Adres", "Profile picture" : "Profielprent", "About" : "Oor", - "Full name" : "Volle naam", "Unknown user" : "Onbekende gebruiker", "Open »%s«" : "Open »%s«", "Sunday" : "Sondag", @@ -28,6 +27,7 @@ "Friday" : "Vrydag", "Saturday" : "Saterdag", "a safe home for all your data" : "’n veilige tuiste vir al u data", - "Storage is temporarily not available" : "Berging is tydelik nie beskikbaar nie" + "Storage is temporarily not available" : "Berging is tydelik nie beskikbaar nie", + "Full name" : "Volle naam" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/ar.js b/lib/l10n/ar.js index f781b3ced25..a91bc8126a3 100644 --- a/lib/l10n/ar.js +++ b/lib/l10n/ar.js @@ -52,7 +52,7 @@ OC.L10N.register( "Address" : "العنوان", "Profile picture" : "صورة الملف الشخصي", "About" : "عن", - "Full name" : "الاسم الكامل", + "Display name" : "الاسم المعروض", "Role" : "الدور", "Unknown user" : "المستخدم غير معروف", "Additional settings" : "الإعدادات المتقدمة", @@ -127,6 +127,7 @@ OC.L10N.register( "Adjusting this setting in php.ini will make Nextcloud run again" : "تضبيط الإعدادات في ملف php.ini سوف يُمكّن نيكست كلاود من العمل مجدداً", "libxml2 2.7.0 is at least required. Currently %s is installed." : "نحتاج النسخة 2.7.0 من libxml2 على الأقل. النسخة المتوافرة حالياً هي %s", "Storage is temporarily not available" : "وحدة التخزين غير متوفرة", + "Full name" : "الاسم الكامل", "%s enter the database username and name." : "%s أدخِل اسم قاعدة البيانات واسم مستخدمها.", "%s enter the database username." : "%s ادخل اسم المستخدم الخاص بقاعدة البيانات.", "%s enter the database name." : "%s ادخل اسم فاعدة البيانات", diff --git a/lib/l10n/ar.json b/lib/l10n/ar.json index c37fdbf6b45..c542ccbd686 100644 --- a/lib/l10n/ar.json +++ b/lib/l10n/ar.json @@ -50,7 +50,7 @@ "Address" : "العنوان", "Profile picture" : "صورة الملف الشخصي", "About" : "عن", - "Full name" : "الاسم الكامل", + "Display name" : "الاسم المعروض", "Role" : "الدور", "Unknown user" : "المستخدم غير معروف", "Additional settings" : "الإعدادات المتقدمة", @@ -125,6 +125,7 @@ "Adjusting this setting in php.ini will make Nextcloud run again" : "تضبيط الإعدادات في ملف php.ini سوف يُمكّن نيكست كلاود من العمل مجدداً", "libxml2 2.7.0 is at least required. Currently %s is installed." : "نحتاج النسخة 2.7.0 من libxml2 على الأقل. النسخة المتوافرة حالياً هي %s", "Storage is temporarily not available" : "وحدة التخزين غير متوفرة", + "Full name" : "الاسم الكامل", "%s enter the database username and name." : "%s أدخِل اسم قاعدة البيانات واسم مستخدمها.", "%s enter the database username." : "%s ادخل اسم المستخدم الخاص بقاعدة البيانات.", "%s enter the database name." : "%s ادخل اسم فاعدة البيانات", diff --git a/lib/l10n/ast.js b/lib/l10n/ast.js index d4e5734e115..c1b54398e63 100644 --- a/lib/l10n/ast.js +++ b/lib/l10n/ast.js @@ -50,7 +50,6 @@ OC.L10N.register( "Address" : "Direición", "Profile picture" : "Semeya de perfil", "About" : "Tocante a", - "Full name" : "Nome completu", "Unknown user" : "Usuariu desconocíu", "Additional settings" : "Axustes adicionales", "You need to enter details of an existing account." : "Precises introducir los detalles d'una cuenta esistente.", @@ -147,6 +146,7 @@ OC.L10N.register( "Storage connection error. %s" : "Fallu de conexón al almacenamientu. %s", "Storage is temporarily not available" : "L'almacenamientu ta temporalmente non disponible", "Storage connection timeout. %s" : "Tiempu escosao de conexón al almacenamientu. %s", + "Full name" : "Nome completu", "%s enter the database username and name." : "%s introducir el nome d'usuariu y el nome de la base de datos .", "%s enter the database username." : "%s introducir l'usuariu de la base de datos.", "%s enter the database name." : "%s introducir nome de la base de datos.", diff --git a/lib/l10n/ast.json b/lib/l10n/ast.json index 415ee8eae0f..166173ec2ab 100644 --- a/lib/l10n/ast.json +++ b/lib/l10n/ast.json @@ -48,7 +48,6 @@ "Address" : "Direición", "Profile picture" : "Semeya de perfil", "About" : "Tocante a", - "Full name" : "Nome completu", "Unknown user" : "Usuariu desconocíu", "Additional settings" : "Axustes adicionales", "You need to enter details of an existing account." : "Precises introducir los detalles d'una cuenta esistente.", @@ -145,6 +144,7 @@ "Storage connection error. %s" : "Fallu de conexón al almacenamientu. %s", "Storage is temporarily not available" : "L'almacenamientu ta temporalmente non disponible", "Storage connection timeout. %s" : "Tiempu escosao de conexón al almacenamientu. %s", + "Full name" : "Nome completu", "%s enter the database username and name." : "%s introducir el nome d'usuariu y el nome de la base de datos .", "%s enter the database username." : "%s introducir l'usuariu de la base de datos.", "%s enter the database name." : "%s introducir nome de la base de datos.", diff --git a/lib/l10n/az.js b/lib/l10n/az.js index faae1a43d09..d01be851b87 100644 --- a/lib/l10n/az.js +++ b/lib/l10n/az.js @@ -17,7 +17,6 @@ OC.L10N.register( "Address" : "Ünvan", "Profile picture" : "Profil şəkli", "About" : "Haqqında", - "Full name" : "Tam ad", "Unknown user" : "Istifadəçi tanınmır ", "Oracle connection could not be established" : "Oracle qoşulması alınmır", "Oracle username and/or password not valid" : "Oracle istifadəçi adı və/ya şifrəsi düzgün deyil", @@ -68,6 +67,7 @@ OC.L10N.register( "Authentication error" : "Təyinat metodikası", "Token expired. Please reload page." : "Token vaxtı bitib. Xahiş olunur səhifəni yenidən yükləyəsiniz.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu ola bilər ki, cache/accelerator such tərəfindən cağırılıb hansi ki, Zend OPcache və eAccelerator-da olduğu kimidir.", + "Full name" : "Tam ad", "%s enter the database username." : "Verilənlər bazası istifadəçi adını %s daxil et.", "%s enter the database name." : "Verilənlər bazası adını %s daxil et." }, diff --git a/lib/l10n/az.json b/lib/l10n/az.json index a51653cd483..6e30bc136d3 100644 --- a/lib/l10n/az.json +++ b/lib/l10n/az.json @@ -15,7 +15,6 @@ "Address" : "Ünvan", "Profile picture" : "Profil şəkli", "About" : "Haqqında", - "Full name" : "Tam ad", "Unknown user" : "Istifadəçi tanınmır ", "Oracle connection could not be established" : "Oracle qoşulması alınmır", "Oracle username and/or password not valid" : "Oracle istifadəçi adı və/ya şifrəsi düzgün deyil", @@ -66,6 +65,7 @@ "Authentication error" : "Təyinat metodikası", "Token expired. Please reload page." : "Token vaxtı bitib. Xahiş olunur səhifəni yenidən yükləyəsiniz.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Bu ola bilər ki, cache/accelerator such tərəfindən cağırılıb hansi ki, Zend OPcache və eAccelerator-da olduğu kimidir.", + "Full name" : "Tam ad", "%s enter the database username." : "Verilənlər bazası istifadəçi adını %s daxil et.", "%s enter the database name." : "Verilənlər bazası adını %s daxil et." },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/lib/l10n/bg.js b/lib/l10n/bg.js index efdd63e76a7..bdd236a0f7f 100644 --- a/lib/l10n/bg.js +++ b/lib/l10n/bg.js @@ -114,7 +114,6 @@ OC.L10N.register( "Address" : "Адрес", "Profile picture" : "Снимка на профила", "About" : "Относно", - "Full name" : "Пълно име", "Headline" : "Заглавие", "Organisation" : "Организация", "Role" : "Роля", @@ -265,6 +264,7 @@ OC.L10N.register( "Storage connection error. %s" : "Грешка при свързването с хранилище. %s", "Storage is temporarily not available" : "Временно хранилището не е налично", "Storage connection timeout. %s" : "Време за изчакване при свързването с хранилище. %s", + "Full name" : "Пълно име", "%s enter the database username and name." : "%s въведете потребителско име и име за базата данни", "%s enter the database username." : "%s въведете потребител за базата данни.", "%s enter the database name." : "%s въведи име на базата данни.", diff --git a/lib/l10n/bg.json b/lib/l10n/bg.json index b24298e44b7..725522b6f9e 100644 --- a/lib/l10n/bg.json +++ b/lib/l10n/bg.json @@ -112,7 +112,6 @@ "Address" : "Адрес", "Profile picture" : "Снимка на профила", "About" : "Относно", - "Full name" : "Пълно име", "Headline" : "Заглавие", "Organisation" : "Организация", "Role" : "Роля", @@ -263,6 +262,7 @@ "Storage connection error. %s" : "Грешка при свързването с хранилище. %s", "Storage is temporarily not available" : "Временно хранилището не е налично", "Storage connection timeout. %s" : "Време за изчакване при свързването с хранилище. %s", + "Full name" : "Пълно име", "%s enter the database username and name." : "%s въведете потребителско име и име за базата данни", "%s enter the database username." : "%s въведете потребител за базата данни.", "%s enter the database name." : "%s въведи име на базата данни.", diff --git a/lib/l10n/br.js b/lib/l10n/br.js index 5d47b69d361..691cfd12615 100644 --- a/lib/l10n/br.js +++ b/lib/l10n/br.js @@ -36,7 +36,7 @@ OC.L10N.register( "Address" : "Chom-lec'h", "Profile picture" : "Skeudenn trolinenn", "About" : "Diwar-benn", - "Full name" : "Tout an anv", + "Display name" : "Anv ardivink", "Role" : "Roll", "Unknown user" : "Implijer dianv", "Additional settings" : "Stummoù ouzhpenn", @@ -53,6 +53,7 @@ OC.L10N.register( "Token expired. Please reload page." : "Jedouer re gozh. Adkargit ar bajenn.", "PHP module %s not installed." : "Modul %s PHPn n'eo ket staliet.", "Storage connection error. %s" : "Fazi renkañ kenstag. %s", - "Storage is temporarily not available" : "N'haller ket tizhout ar skor roadennoù evit ar poent" + "Storage is temporarily not available" : "N'haller ket tizhout ar skor roadennoù evit ar poent", + "Full name" : "Tout an anv" }, "nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"); diff --git a/lib/l10n/br.json b/lib/l10n/br.json index 0e28f897f3d..8170e542f2c 100644 --- a/lib/l10n/br.json +++ b/lib/l10n/br.json @@ -34,7 +34,7 @@ "Address" : "Chom-lec'h", "Profile picture" : "Skeudenn trolinenn", "About" : "Diwar-benn", - "Full name" : "Tout an anv", + "Display name" : "Anv ardivink", "Role" : "Roll", "Unknown user" : "Implijer dianv", "Additional settings" : "Stummoù ouzhpenn", @@ -51,6 +51,7 @@ "Token expired. Please reload page." : "Jedouer re gozh. Adkargit ar bajenn.", "PHP module %s not installed." : "Modul %s PHPn n'eo ket staliet.", "Storage connection error. %s" : "Fazi renkañ kenstag. %s", - "Storage is temporarily not available" : "N'haller ket tizhout ar skor roadennoù evit ar poent" + "Storage is temporarily not available" : "N'haller ket tizhout ar skor roadennoù evit ar poent", + "Full name" : "Tout an anv" },"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);" }
\ No newline at end of file diff --git a/lib/l10n/ca.js b/lib/l10n/ca.js index 719c238023b..5d2cdeaca82 100644 --- a/lib/l10n/ca.js +++ b/lib/l10n/ca.js @@ -114,7 +114,6 @@ OC.L10N.register( "Address" : "Adreça", "Profile picture" : "Foto de perfil", "About" : "Quant a", - "Full name" : "Nom complet", "Headline" : "Titular", "Organisation" : "Organització", "Role" : "Càrrec", @@ -265,6 +264,7 @@ OC.L10N.register( "Storage connection error. %s" : "Error de connexió d’emmagatzematge. %s", "Storage is temporarily not available" : "Emmagatzematge temporalment no disponible", "Storage connection timeout. %s" : "Temps d’espera exhaurit en la connexió d’emmagatzematge. %s", + "Full name" : "Nom complet", "%s enter the database username and name." : "%s escriviu el nom d'usuari i el nom de la base de dades.", "%s enter the database username." : "%s escriviu el nom d'usuari de la base de dades.", "%s enter the database name." : "%s escriviu el nom de la base de dades.", diff --git a/lib/l10n/ca.json b/lib/l10n/ca.json index 93772e90cb0..7a025fe0c47 100644 --- a/lib/l10n/ca.json +++ b/lib/l10n/ca.json @@ -112,7 +112,6 @@ "Address" : "Adreça", "Profile picture" : "Foto de perfil", "About" : "Quant a", - "Full name" : "Nom complet", "Headline" : "Titular", "Organisation" : "Organització", "Role" : "Càrrec", @@ -263,6 +262,7 @@ "Storage connection error. %s" : "Error de connexió d’emmagatzematge. %s", "Storage is temporarily not available" : "Emmagatzematge temporalment no disponible", "Storage connection timeout. %s" : "Temps d’espera exhaurit en la connexió d’emmagatzematge. %s", + "Full name" : "Nom complet", "%s enter the database username and name." : "%s escriviu el nom d'usuari i el nom de la base de dades.", "%s enter the database username." : "%s escriviu el nom d'usuari de la base de dades.", "%s enter the database name." : "%s escriviu el nom de la base de dades.", diff --git a/lib/l10n/cs.js b/lib/l10n/cs.js index 73cff4b0be4..7c08e08c896 100644 --- a/lib/l10n/cs.js +++ b/lib/l10n/cs.js @@ -114,7 +114,6 @@ OC.L10N.register( "Address" : "Adresa", "Profile picture" : "Profilový obrázek", "About" : "O uživateli", - "Full name" : "Celé jméno", "Headline" : "Nadpis", "Organisation" : "Organizace", "Role" : "Role", @@ -265,6 +264,7 @@ OC.L10N.register( "Storage connection error. %s" : "Chyba připojení úložiště. %s", "Storage is temporarily not available" : "Úložiště je dočasně nedostupné", "Storage connection timeout. %s" : "Překročen časový limit připojování k úložišti. %s", + "Full name" : "Celé jméno", "%s enter the database username and name." : "%s zadejte databázové uživatelské jméno a jméno.", "%s enter the database username." : "Zadejte uživatelské jméno %s databáze.", "%s enter the database name." : "Zadejte název databáze pro %s databázi.", diff --git a/lib/l10n/cs.json b/lib/l10n/cs.json index 34b4eda940b..7cbddca4bc2 100644 --- a/lib/l10n/cs.json +++ b/lib/l10n/cs.json @@ -112,7 +112,6 @@ "Address" : "Adresa", "Profile picture" : "Profilový obrázek", "About" : "O uživateli", - "Full name" : "Celé jméno", "Headline" : "Nadpis", "Organisation" : "Organizace", "Role" : "Role", @@ -263,6 +262,7 @@ "Storage connection error. %s" : "Chyba připojení úložiště. %s", "Storage is temporarily not available" : "Úložiště je dočasně nedostupné", "Storage connection timeout. %s" : "Překročen časový limit připojování k úložišti. %s", + "Full name" : "Celé jméno", "%s enter the database username and name." : "%s zadejte databázové uživatelské jméno a jméno.", "%s enter the database username." : "Zadejte uživatelské jméno %s databáze.", "%s enter the database name." : "Zadejte název databáze pro %s databázi.", diff --git a/lib/l10n/da.js b/lib/l10n/da.js index a9df27e11a7..76d2f886471 100644 --- a/lib/l10n/da.js +++ b/lib/l10n/da.js @@ -111,7 +111,7 @@ OC.L10N.register( "Address" : "Adresse", "Profile picture" : "Profilbillede", "About" : "Om", - "Full name" : "Fulde navn", + "Display name" : "Vist navn", "Headline" : "Overskrift", "Organisation" : "Organisation", "Role" : "Rolle", @@ -260,6 +260,7 @@ OC.L10N.register( "Storage connection error. %s" : "Forbindelses fejl til lageret. %s", "Storage is temporarily not available" : "Lagerplads er midlertidigt ikke tilgængeligt", "Storage connection timeout. %s" : "Lageret svarer ikke. %s", + "Full name" : "Fulde navn", "%s enter the database username and name." : "%s indtast brugernavn og navn til databasen.", "%s enter the database username." : "%s indtast database brugernavnet.", "%s enter the database name." : "%s indtast database navnet.", diff --git a/lib/l10n/da.json b/lib/l10n/da.json index 4a832bdd555..6cf402ff7dd 100644 --- a/lib/l10n/da.json +++ b/lib/l10n/da.json @@ -109,7 +109,7 @@ "Address" : "Adresse", "Profile picture" : "Profilbillede", "About" : "Om", - "Full name" : "Fulde navn", + "Display name" : "Vist navn", "Headline" : "Overskrift", "Organisation" : "Organisation", "Role" : "Rolle", @@ -258,6 +258,7 @@ "Storage connection error. %s" : "Forbindelses fejl til lageret. %s", "Storage is temporarily not available" : "Lagerplads er midlertidigt ikke tilgængeligt", "Storage connection timeout. %s" : "Lageret svarer ikke. %s", + "Full name" : "Fulde navn", "%s enter the database username and name." : "%s indtast brugernavn og navn til databasen.", "%s enter the database username." : "%s indtast database brugernavnet.", "%s enter the database name." : "%s indtast database navnet.", diff --git a/lib/l10n/de.js b/lib/l10n/de.js index 2c60580dc5c..991e483e0db 100644 --- a/lib/l10n/de.js +++ b/lib/l10n/de.js @@ -114,7 +114,6 @@ OC.L10N.register( "Address" : "Adresse", "Profile picture" : "Profilbild", "About" : "Über", - "Full name" : "Vollständiger Name", "Headline" : "Überschrift", "Organisation" : "Organisation", "Role" : "Funktion", @@ -265,6 +264,7 @@ OC.L10N.register( "Storage connection error. %s" : "Verbindungsfehler zum Speicherplatz. %s", "Storage is temporarily not available" : "Speicher ist vorübergehend nicht verfügbar", "Storage connection timeout. %s" : "Zeitüberschreitung der Verbindung zum Speicherplatz. %s", + "Full name" : "Vollständiger Name", "%s enter the database username and name." : "%s gebe den Datenbank-Benutzernamen und den Datenbanknamen ein.", "%s enter the database username." : "%s gebe den Datenbank-Benutzernamen an.", "%s enter the database name." : "%s gebe den Datenbanknamen an.", diff --git a/lib/l10n/de.json b/lib/l10n/de.json index 2972ed80a82..e2b785b0288 100644 --- a/lib/l10n/de.json +++ b/lib/l10n/de.json @@ -112,7 +112,6 @@ "Address" : "Adresse", "Profile picture" : "Profilbild", "About" : "Über", - "Full name" : "Vollständiger Name", "Headline" : "Überschrift", "Organisation" : "Organisation", "Role" : "Funktion", @@ -263,6 +262,7 @@ "Storage connection error. %s" : "Verbindungsfehler zum Speicherplatz. %s", "Storage is temporarily not available" : "Speicher ist vorübergehend nicht verfügbar", "Storage connection timeout. %s" : "Zeitüberschreitung der Verbindung zum Speicherplatz. %s", + "Full name" : "Vollständiger Name", "%s enter the database username and name." : "%s gebe den Datenbank-Benutzernamen und den Datenbanknamen ein.", "%s enter the database username." : "%s gebe den Datenbank-Benutzernamen an.", "%s enter the database name." : "%s gebe den Datenbanknamen an.", diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js index 521e7e87798..7cbdbe334e7 100644 --- a/lib/l10n/de_DE.js +++ b/lib/l10n/de_DE.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "Adresse", "Profile picture" : "Profilbild", "About" : "Über", - "Full name" : "Vollständiger Name", + "Display name" : "Anzeigename", "Headline" : "Überschrift", "Organisation" : "Organisation", "Role" : "Funktion", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Verbindungsfehler zum Speicherplatz. %s", "Storage is temporarily not available" : "Speicher ist vorübergehend nicht verfügbar", "Storage connection timeout. %s" : "Zeitüberschreitung der Verbindung zum Speicherplatz. %s", + "Full name" : "Vollständiger Name", "%s enter the database username and name." : "%s geben Sie den Datenbank-Benutzernamen und den Datenbanknamen an.", "%s enter the database username." : "%s geben Sie den Datenbank-Benutzernamen an.", "%s enter the database name." : "%s geben Sie den Datenbanknamen an.", diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json index be61de32ffa..eb982f82faf 100644 --- a/lib/l10n/de_DE.json +++ b/lib/l10n/de_DE.json @@ -112,7 +112,7 @@ "Address" : "Adresse", "Profile picture" : "Profilbild", "About" : "Über", - "Full name" : "Vollständiger Name", + "Display name" : "Anzeigename", "Headline" : "Überschrift", "Organisation" : "Organisation", "Role" : "Funktion", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Verbindungsfehler zum Speicherplatz. %s", "Storage is temporarily not available" : "Speicher ist vorübergehend nicht verfügbar", "Storage connection timeout. %s" : "Zeitüberschreitung der Verbindung zum Speicherplatz. %s", + "Full name" : "Vollständiger Name", "%s enter the database username and name." : "%s geben Sie den Datenbank-Benutzernamen und den Datenbanknamen an.", "%s enter the database username." : "%s geben Sie den Datenbank-Benutzernamen an.", "%s enter the database name." : "%s geben Sie den Datenbanknamen an.", diff --git a/lib/l10n/el.js b/lib/l10n/el.js index 5ba083645c5..7e258afeb26 100644 --- a/lib/l10n/el.js +++ b/lib/l10n/el.js @@ -111,7 +111,6 @@ OC.L10N.register( "Address" : "Διεύθυνση", "Profile picture" : "Εικόνα προφίλ", "About" : "Σχετικά με", - "Full name" : "Πλήρες όνομα", "Headline" : "Τίτλος", "Organisation" : "Οργανισμός", "Role" : "Ρόλος/Θέση", @@ -255,6 +254,7 @@ OC.L10N.register( "Storage connection error. %s" : "Σφάλμα σύνδεσης με αποθηκευτικό χώρο. %s", "Storage is temporarily not available" : "Ο χώρος αποθήκευσης δεν είναι διαθέσιμος προσωρινά", "Storage connection timeout. %s" : "Λήξη χρονικού ορίου σύνδεσης με αποθηκευτικό χώρο.%s", + "Full name" : "Πλήρες όνομα", "%s enter the database username and name." : "%sπληκτρολογήστε όνομα χρήστη και όνομα βάσης δεδομένων.", "%s enter the database username." : "%s εισάγετε το όνομα χρήστη της βάσης δεδομένων.", "%s enter the database name." : "%s εισάγετε το όνομα της βάσης δεδομένων.", diff --git a/lib/l10n/el.json b/lib/l10n/el.json index 7e2eb8e117f..334aae45673 100644 --- a/lib/l10n/el.json +++ b/lib/l10n/el.json @@ -109,7 +109,6 @@ "Address" : "Διεύθυνση", "Profile picture" : "Εικόνα προφίλ", "About" : "Σχετικά με", - "Full name" : "Πλήρες όνομα", "Headline" : "Τίτλος", "Organisation" : "Οργανισμός", "Role" : "Ρόλος/Θέση", @@ -253,6 +252,7 @@ "Storage connection error. %s" : "Σφάλμα σύνδεσης με αποθηκευτικό χώρο. %s", "Storage is temporarily not available" : "Ο χώρος αποθήκευσης δεν είναι διαθέσιμος προσωρινά", "Storage connection timeout. %s" : "Λήξη χρονικού ορίου σύνδεσης με αποθηκευτικό χώρο.%s", + "Full name" : "Πλήρες όνομα", "%s enter the database username and name." : "%sπληκτρολογήστε όνομα χρήστη και όνομα βάσης δεδομένων.", "%s enter the database username." : "%s εισάγετε το όνομα χρήστη της βάσης δεδομένων.", "%s enter the database name." : "%s εισάγετε το όνομα της βάσης δεδομένων.", diff --git a/lib/l10n/en_GB.js b/lib/l10n/en_GB.js index 84d0de20934..12a015d02af 100644 --- a/lib/l10n/en_GB.js +++ b/lib/l10n/en_GB.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "Address", "Profile picture" : "Profile picture", "About" : "About", - "Full name" : "Full name", + "Display name" : "Display name", "Headline" : "Headline", "Organisation" : "Organisation", "Role" : "Role", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Storage connection error. %s", "Storage is temporarily not available" : "Storage is temporarily not available", "Storage connection timeout. %s" : "Storage connection timeout. %s", + "Full name" : "Full name", "%s enter the database username and name." : "%s enter the database username and name.", "%s enter the database username." : "%s enter the database username.", "%s enter the database name." : "%s enter the database name.", diff --git a/lib/l10n/en_GB.json b/lib/l10n/en_GB.json index 72aec2bb2c3..374c1c27639 100644 --- a/lib/l10n/en_GB.json +++ b/lib/l10n/en_GB.json @@ -112,7 +112,7 @@ "Address" : "Address", "Profile picture" : "Profile picture", "About" : "About", - "Full name" : "Full name", + "Display name" : "Display name", "Headline" : "Headline", "Organisation" : "Organisation", "Role" : "Role", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Storage connection error. %s", "Storage is temporarily not available" : "Storage is temporarily not available", "Storage connection timeout. %s" : "Storage connection timeout. %s", + "Full name" : "Full name", "%s enter the database username and name." : "%s enter the database username and name.", "%s enter the database username." : "%s enter the database username.", "%s enter the database name." : "%s enter the database name.", diff --git a/lib/l10n/eo.js b/lib/l10n/eo.js index 2683966d111..99feebdc1ae 100644 --- a/lib/l10n/eo.js +++ b/lib/l10n/eo.js @@ -91,7 +91,7 @@ OC.L10N.register( "Address" : "Adreso", "Profile picture" : "Profila bildo", "About" : "Pri", - "Full name" : "Plena nomo", + "Display name" : "Vidiga nomo", "Unknown user" : "Nekonata uzanto", "Additional settings" : "Plia agordo", "MySQL username and/or password not valid" : "La uzantnomo kaj/aŭ pasvorto de MySQL ne estas valida", @@ -207,6 +207,7 @@ OC.L10N.register( "Storage connection error. %s" : "Konekta eraro al konservejo. %s", "Storage is temporarily not available" : "Konservejo provizore ne disponeblas", "Storage connection timeout. %s" : "Konekto al konservejo eltempiĝis. %s", + "Full name" : "Plena nomo", "%s enter the database username and name." : "%s entajpu la nomon kaj la uzantnomon de la datumbazo.", "%s enter the database username." : "%s entajpu la datumbazan uzantnomon.", "%s enter the database name." : "%s entajpu la datumbazan nomon.", diff --git a/lib/l10n/eo.json b/lib/l10n/eo.json index 3d5a8597873..e0ace3c0a6b 100644 --- a/lib/l10n/eo.json +++ b/lib/l10n/eo.json @@ -89,7 +89,7 @@ "Address" : "Adreso", "Profile picture" : "Profila bildo", "About" : "Pri", - "Full name" : "Plena nomo", + "Display name" : "Vidiga nomo", "Unknown user" : "Nekonata uzanto", "Additional settings" : "Plia agordo", "MySQL username and/or password not valid" : "La uzantnomo kaj/aŭ pasvorto de MySQL ne estas valida", @@ -205,6 +205,7 @@ "Storage connection error. %s" : "Konekta eraro al konservejo. %s", "Storage is temporarily not available" : "Konservejo provizore ne disponeblas", "Storage connection timeout. %s" : "Konekto al konservejo eltempiĝis. %s", + "Full name" : "Plena nomo", "%s enter the database username and name." : "%s entajpu la nomon kaj la uzantnomon de la datumbazo.", "%s enter the database username." : "%s entajpu la datumbazan uzantnomon.", "%s enter the database name." : "%s entajpu la datumbazan nomon.", diff --git a/lib/l10n/es.js b/lib/l10n/es.js index b9e0a81b866..b4b0cd14ed3 100644 --- a/lib/l10n/es.js +++ b/lib/l10n/es.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Imagen de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", + "Display name" : "Nombre para mostrar", "Headline" : "Titular", "Organisation" : "Organización", "Role" : "Puesto", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Error de conexión de almacenamiento. %s", "Storage is temporarily not available" : "El almacenamiento no esta disponible temporalmente", "Storage connection timeout. %s" : "Tiempo de conexión de almacenamiento agotado. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s introduzca el nombre de usuario y la contraseña de la BBDD.", "%s enter the database username." : "%s introduzca el usuario de la base de datos.", "%s enter the database name." : "%s introduzca el nombre de la base de datos", diff --git a/lib/l10n/es.json b/lib/l10n/es.json index 31a2590ecf7..6cf087c5c35 100644 --- a/lib/l10n/es.json +++ b/lib/l10n/es.json @@ -112,7 +112,7 @@ "Address" : "Dirección", "Profile picture" : "Imagen de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", + "Display name" : "Nombre para mostrar", "Headline" : "Titular", "Organisation" : "Organización", "Role" : "Puesto", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Error de conexión de almacenamiento. %s", "Storage is temporarily not available" : "El almacenamiento no esta disponible temporalmente", "Storage connection timeout. %s" : "Tiempo de conexión de almacenamiento agotado. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s introduzca el nombre de usuario y la contraseña de la BBDD.", "%s enter the database username." : "%s introduzca el usuario de la base de datos.", "%s enter the database name." : "%s introduzca el nombre de la base de datos", diff --git a/lib/l10n/es_419.js b/lib/l10n/es_419.js index 78c0b46e7e8..901e64c67ee 100644 --- a/lib/l10n/es_419.js +++ b/lib/l10n/es_419.js @@ -67,7 +67,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -168,6 +167,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_419.json b/lib/l10n/es_419.json index b96b289abe5..7b61c9705e0 100644 --- a/lib/l10n/es_419.json +++ b/lib/l10n/es_419.json @@ -65,7 +65,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -166,6 +165,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_AR.js b/lib/l10n/es_AR.js index 712a57a5f93..afbb45db7a2 100644 --- a/lib/l10n/es_AR.js +++ b/lib/l10n/es_AR.js @@ -56,7 +56,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesita ingresar los detalles de una cuenta existente.", @@ -154,6 +153,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "Se agotó el tiempo de conexión del almacenamiento. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingrese el nombre del usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresar el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_AR.json b/lib/l10n/es_AR.json index 3b431bb63ba..56e0c62abd6 100644 --- a/lib/l10n/es_AR.json +++ b/lib/l10n/es_AR.json @@ -54,7 +54,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesita ingresar los detalles de una cuenta existente.", @@ -152,6 +151,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "Se agotó el tiempo de conexión del almacenamiento. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingrese el nombre del usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresar el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_CL.js b/lib/l10n/es_CL.js index 5539f06bdb5..defcc9e75e7 100644 --- a/lib/l10n/es_CL.js +++ b/lib/l10n/es_CL.js @@ -68,7 +68,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -169,6 +168,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_CL.json b/lib/l10n/es_CL.json index 63cb3d8566b..51ae1f9ef7d 100644 --- a/lib/l10n/es_CL.json +++ b/lib/l10n/es_CL.json @@ -66,7 +66,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -167,6 +166,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_CO.js b/lib/l10n/es_CO.js index c39d6a6ce94..5f90b1870e1 100644 --- a/lib/l10n/es_CO.js +++ b/lib/l10n/es_CO.js @@ -68,7 +68,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -169,6 +168,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_CO.json b/lib/l10n/es_CO.json index b16ab2b3208..c8ffbc2d5bb 100644 --- a/lib/l10n/es_CO.json +++ b/lib/l10n/es_CO.json @@ -66,7 +66,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -167,6 +166,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_CR.js b/lib/l10n/es_CR.js index 6652a547a21..92958cff19a 100644 --- a/lib/l10n/es_CR.js +++ b/lib/l10n/es_CR.js @@ -68,7 +68,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -169,6 +168,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_CR.json b/lib/l10n/es_CR.json index 499768ed8da..7149dff1c8c 100644 --- a/lib/l10n/es_CR.json +++ b/lib/l10n/es_CR.json @@ -66,7 +66,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -167,6 +166,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_DO.js b/lib/l10n/es_DO.js index be64719d53b..e30b512aa54 100644 --- a/lib/l10n/es_DO.js +++ b/lib/l10n/es_DO.js @@ -68,7 +68,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -169,6 +168,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_DO.json b/lib/l10n/es_DO.json index 9fe35041000..14a590c0f29 100644 --- a/lib/l10n/es_DO.json +++ b/lib/l10n/es_DO.json @@ -66,7 +66,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -167,6 +166,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_EC.js b/lib/l10n/es_EC.js index 9fa6c552597..43654699810 100644 --- a/lib/l10n/es_EC.js +++ b/lib/l10n/es_EC.js @@ -68,7 +68,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -169,6 +168,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_EC.json b/lib/l10n/es_EC.json index ccb9cf9c9f8..8c3928534bf 100644 --- a/lib/l10n/es_EC.json +++ b/lib/l10n/es_EC.json @@ -66,7 +66,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -167,6 +166,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_GT.js b/lib/l10n/es_GT.js index f1a0662a5c9..1a4e1bad10a 100644 --- a/lib/l10n/es_GT.js +++ b/lib/l10n/es_GT.js @@ -68,7 +68,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -169,6 +168,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_GT.json b/lib/l10n/es_GT.json index d84ee475499..04c74711708 100644 --- a/lib/l10n/es_GT.json +++ b/lib/l10n/es_GT.json @@ -66,7 +66,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -167,6 +166,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_HN.js b/lib/l10n/es_HN.js index 27e37dd5494..956476c398b 100644 --- a/lib/l10n/es_HN.js +++ b/lib/l10n/es_HN.js @@ -67,7 +67,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -168,6 +167,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_HN.json b/lib/l10n/es_HN.json index da5c94cce8b..1c99392a438 100644 --- a/lib/l10n/es_HN.json +++ b/lib/l10n/es_HN.json @@ -65,7 +65,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -166,6 +165,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js index 5423ed8a4af..bbd24bedbdf 100644 --- a/lib/l10n/es_MX.js +++ b/lib/l10n/es_MX.js @@ -69,7 +69,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -170,6 +169,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json index ae058ba41f2..1f3020d87f9 100644 --- a/lib/l10n/es_MX.json +++ b/lib/l10n/es_MX.json @@ -67,7 +67,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -168,6 +167,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_NI.js b/lib/l10n/es_NI.js index 4801b5d9a03..b75d4651527 100644 --- a/lib/l10n/es_NI.js +++ b/lib/l10n/es_NI.js @@ -67,7 +67,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -168,6 +167,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_NI.json b/lib/l10n/es_NI.json index f606720fa99..b87b7ced66c 100644 --- a/lib/l10n/es_NI.json +++ b/lib/l10n/es_NI.json @@ -65,7 +65,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -166,6 +165,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_PA.js b/lib/l10n/es_PA.js index 3b8e1a2b556..c2afc8d660f 100644 --- a/lib/l10n/es_PA.js +++ b/lib/l10n/es_PA.js @@ -67,7 +67,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -168,6 +167,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_PA.json b/lib/l10n/es_PA.json index df9c6343bca..357727b836f 100644 --- a/lib/l10n/es_PA.json +++ b/lib/l10n/es_PA.json @@ -65,7 +65,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -166,6 +165,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_PE.js b/lib/l10n/es_PE.js index 38e134b96af..37d2c5b82a0 100644 --- a/lib/l10n/es_PE.js +++ b/lib/l10n/es_PE.js @@ -67,7 +67,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -168,6 +167,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_PE.json b/lib/l10n/es_PE.json index 49724e32fa4..1532a54640a 100644 --- a/lib/l10n/es_PE.json +++ b/lib/l10n/es_PE.json @@ -65,7 +65,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -166,6 +165,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_PR.js b/lib/l10n/es_PR.js index 4c0e0b734bc..b7d2840b5d5 100644 --- a/lib/l10n/es_PR.js +++ b/lib/l10n/es_PR.js @@ -67,7 +67,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -168,6 +167,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_PR.json b/lib/l10n/es_PR.json index 1981a10957a..4e5454fc4db 100644 --- a/lib/l10n/es_PR.json +++ b/lib/l10n/es_PR.json @@ -65,7 +65,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -166,6 +165,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_PY.js b/lib/l10n/es_PY.js index 291c6f884b8..6bfaa95ce15 100644 --- a/lib/l10n/es_PY.js +++ b/lib/l10n/es_PY.js @@ -67,7 +67,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -168,6 +167,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_PY.json b/lib/l10n/es_PY.json index 424ff12c5ef..5ca29f4567f 100644 --- a/lib/l10n/es_PY.json +++ b/lib/l10n/es_PY.json @@ -65,7 +65,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -166,6 +165,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_SV.js b/lib/l10n/es_SV.js index 30141e79c7e..e6b431b706d 100644 --- a/lib/l10n/es_SV.js +++ b/lib/l10n/es_SV.js @@ -68,7 +68,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -169,6 +168,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_SV.json b/lib/l10n/es_SV.json index b1043ff268b..d8fc964f791 100644 --- a/lib/l10n/es_SV.json +++ b/lib/l10n/es_SV.json @@ -66,7 +66,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -167,6 +166,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_UY.js b/lib/l10n/es_UY.js index 4320b082b50..663223a7633 100644 --- a/lib/l10n/es_UY.js +++ b/lib/l10n/es_UY.js @@ -67,7 +67,6 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -168,6 +167,7 @@ OC.L10N.register( "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/es_UY.json b/lib/l10n/es_UY.json index 7ff403c2cf3..0b0aa3baf06 100644 --- a/lib/l10n/es_UY.json +++ b/lib/l10n/es_UY.json @@ -65,7 +65,6 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca", - "Full name" : "Nombre completo", "Unknown user" : "Ususario desconocido", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.", @@ -166,6 +165,7 @@ "Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s", "Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible", "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s", + "Full name" : "Nombre completo", "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos", "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.", "%s enter the database name." : "%s ingresar el nombre de la base de datos", diff --git a/lib/l10n/et_EE.js b/lib/l10n/et_EE.js index ccdcb435f27..b30ed8330db 100644 --- a/lib/l10n/et_EE.js +++ b/lib/l10n/et_EE.js @@ -58,7 +58,7 @@ OC.L10N.register( "Address" : "Aadress", "Profile picture" : "Profiili pilt", "About" : "Info", - "Full name" : "Täisnimi", + "Display name" : "Kuvatav nimi", "Organisation" : "Organisatsioon", "Role" : "Roll", "Unknown user" : "Tundmatu kasutaja", @@ -150,6 +150,7 @@ OC.L10N.register( "Your data directory is invalid." : "Sinu andmekataloog on vigane", "Could not obtain lock type %d on \"%s\"." : "Ei suutnud hankida %d tüüpi lukustust \"%s\".", "Storage is temporarily not available" : "Salvestusruum pole ajutiselt kättesaadav", + "Full name" : "Täisnimi", "%s enter the database username and name." : "%s sisesta andmebaasi kasutajatunnus ja nimi.", "%s enter the database username." : "%s sisesta andmebaasi kasutajatunnus.", "%s enter the database name." : "%s sisesta andmebaasi nimi.", diff --git a/lib/l10n/et_EE.json b/lib/l10n/et_EE.json index bce275edcc4..89b5e5bf9b7 100644 --- a/lib/l10n/et_EE.json +++ b/lib/l10n/et_EE.json @@ -56,7 +56,7 @@ "Address" : "Aadress", "Profile picture" : "Profiili pilt", "About" : "Info", - "Full name" : "Täisnimi", + "Display name" : "Kuvatav nimi", "Organisation" : "Organisatsioon", "Role" : "Roll", "Unknown user" : "Tundmatu kasutaja", @@ -148,6 +148,7 @@ "Your data directory is invalid." : "Sinu andmekataloog on vigane", "Could not obtain lock type %d on \"%s\"." : "Ei suutnud hankida %d tüüpi lukustust \"%s\".", "Storage is temporarily not available" : "Salvestusruum pole ajutiselt kättesaadav", + "Full name" : "Täisnimi", "%s enter the database username and name." : "%s sisesta andmebaasi kasutajatunnus ja nimi.", "%s enter the database username." : "%s sisesta andmebaasi kasutajatunnus.", "%s enter the database name." : "%s sisesta andmebaasi nimi.", diff --git a/lib/l10n/eu.js b/lib/l10n/eu.js index c18fc76f9c4..4efa658565f 100644 --- a/lib/l10n/eu.js +++ b/lib/l10n/eu.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "Helbidea", "Profile picture" : "Profil-irudia", "About" : "Honi buruz", - "Full name" : "Izen osoa", + "Display name" : "Erakusteko izena", "Headline" : "Izenburua", "Organisation" : "Erakundea", "Role" : "Zeregina", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Biltegiratze-konexioaren errorea. %s", "Storage is temporarily not available" : "Biltegia ez dago erabilgarri aldi baterako", "Storage connection timeout. %s" : "Biltegiratze-konexioa denboraz kanpo geratu da. %s", + "Full name" : "Izen osoa", "%s enter the database username and name." : "%s sartu datu-basearen erabiltzaile-izena eta izena.", "%s enter the database username." : "%s sartu datu-basearen erabiltzaile-izena.", "%s enter the database name." : "%s sartu datu-basearen izena.", diff --git a/lib/l10n/eu.json b/lib/l10n/eu.json index 84dcb81a9a4..9dbda9e61ab 100644 --- a/lib/l10n/eu.json +++ b/lib/l10n/eu.json @@ -112,7 +112,7 @@ "Address" : "Helbidea", "Profile picture" : "Profil-irudia", "About" : "Honi buruz", - "Full name" : "Izen osoa", + "Display name" : "Erakusteko izena", "Headline" : "Izenburua", "Organisation" : "Erakundea", "Role" : "Zeregina", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Biltegiratze-konexioaren errorea. %s", "Storage is temporarily not available" : "Biltegia ez dago erabilgarri aldi baterako", "Storage connection timeout. %s" : "Biltegiratze-konexioa denboraz kanpo geratu da. %s", + "Full name" : "Izen osoa", "%s enter the database username and name." : "%s sartu datu-basearen erabiltzaile-izena eta izena.", "%s enter the database username." : "%s sartu datu-basearen erabiltzaile-izena.", "%s enter the database name." : "%s sartu datu-basearen izena.", diff --git a/lib/l10n/fa.js b/lib/l10n/fa.js index 6241f1cec52..7085484776d 100644 --- a/lib/l10n/fa.js +++ b/lib/l10n/fa.js @@ -101,7 +101,6 @@ OC.L10N.register( "Address" : "نشانی", "Profile picture" : "تصویر نمایه", "About" : "درباره", - "Full name" : "نام کامل", "Headline" : "عنوان", "Organisation" : "سازمان", "Role" : "نقش", @@ -222,6 +221,7 @@ OC.L10N.register( "Storage connection error. %s" : "خطای اتصال ذخیره سازی%s", "Storage is temporarily not available" : "ذخیره سازی به طور موقت در دسترس نیست", "Storage connection timeout. %s" : "مدت زمان اتصال ذخیره سازی%s", + "Full name" : "نام کامل", "%s enter the database username and name." : "نام کاربری و نام پایگاه داده را وارد کنید.%s", "%s enter the database username." : "%s نام کاربری پایگاه داده را وارد نمایید.", "%s enter the database name." : "%s نام پایگاه داده را وارد نمایید.", diff --git a/lib/l10n/fa.json b/lib/l10n/fa.json index 1fb3a2c0805..632ba8d3fcb 100644 --- a/lib/l10n/fa.json +++ b/lib/l10n/fa.json @@ -99,7 +99,6 @@ "Address" : "نشانی", "Profile picture" : "تصویر نمایه", "About" : "درباره", - "Full name" : "نام کامل", "Headline" : "عنوان", "Organisation" : "سازمان", "Role" : "نقش", @@ -220,6 +219,7 @@ "Storage connection error. %s" : "خطای اتصال ذخیره سازی%s", "Storage is temporarily not available" : "ذخیره سازی به طور موقت در دسترس نیست", "Storage connection timeout. %s" : "مدت زمان اتصال ذخیره سازی%s", + "Full name" : "نام کامل", "%s enter the database username and name." : "نام کاربری و نام پایگاه داده را وارد کنید.%s", "%s enter the database username." : "%s نام کاربری پایگاه داده را وارد نمایید.", "%s enter the database name." : "%s نام پایگاه داده را وارد نمایید.", diff --git a/lib/l10n/fi.js b/lib/l10n/fi.js index 4f6f2d53404..69230bdef06 100644 --- a/lib/l10n/fi.js +++ b/lib/l10n/fi.js @@ -100,7 +100,6 @@ OC.L10N.register( "Address" : "Osoite", "Profile picture" : "Profiilikuva", "About" : "Tietoja", - "Full name" : "Koko nimi", "Headline" : "Otsikko", "Organisation" : "Organisaatio", "Role" : "Rooli", @@ -229,6 +228,7 @@ OC.L10N.register( "Storage connection error. %s" : "Tallennustilan yhteysvirhe. %s", "Storage is temporarily not available" : "Tallennustila on tilapäisesti pois käytöstä", "Storage connection timeout. %s" : "Tallennustilan yhteyden aikakatkaisu. %s", + "Full name" : "Koko nimi", "%s enter the database username and name." : "%s anna tietokannan käyttäjätunnus ja nimi.", "%s enter the database username." : "%s anna tietokannan käyttäjätunnus.", "%s enter the database name." : "%s anna tietokannan nimi.", diff --git a/lib/l10n/fi.json b/lib/l10n/fi.json index 009642f9b57..79cee78e0ce 100644 --- a/lib/l10n/fi.json +++ b/lib/l10n/fi.json @@ -98,7 +98,6 @@ "Address" : "Osoite", "Profile picture" : "Profiilikuva", "About" : "Tietoja", - "Full name" : "Koko nimi", "Headline" : "Otsikko", "Organisation" : "Organisaatio", "Role" : "Rooli", @@ -227,6 +226,7 @@ "Storage connection error. %s" : "Tallennustilan yhteysvirhe. %s", "Storage is temporarily not available" : "Tallennustila on tilapäisesti pois käytöstä", "Storage connection timeout. %s" : "Tallennustilan yhteyden aikakatkaisu. %s", + "Full name" : "Koko nimi", "%s enter the database username and name." : "%s anna tietokannan käyttäjätunnus ja nimi.", "%s enter the database username." : "%s anna tietokannan käyttäjätunnus.", "%s enter the database name." : "%s anna tietokannan nimi.", diff --git a/lib/l10n/fo.js b/lib/l10n/fo.js index bd90bb90829..f5d2d603a55 100644 --- a/lib/l10n/fo.js +++ b/lib/l10n/fo.js @@ -7,7 +7,7 @@ OC.L10N.register( "Website" : "Heimasíða", "Address" : "Adressa", "Profile picture" : "Profil mynd", - "Full name" : "Fulla navn", - "Authentication error" : "Samgildis feilur" + "Authentication error" : "Samgildis feilur", + "Full name" : "Fulla navn" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/fo.json b/lib/l10n/fo.json index 614b44e753d..25e541ec21d 100644 --- a/lib/l10n/fo.json +++ b/lib/l10n/fo.json @@ -5,7 +5,7 @@ "Website" : "Heimasíða", "Address" : "Adressa", "Profile picture" : "Profil mynd", - "Full name" : "Fulla navn", - "Authentication error" : "Samgildis feilur" + "Authentication error" : "Samgildis feilur", + "Full name" : "Fulla navn" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js index 429e0e2bb9d..340bda2bcc6 100644 --- a/lib/l10n/fr.js +++ b/lib/l10n/fr.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "Adresse", "Profile picture" : "Photo de profil", "About" : "À propos", - "Full name" : "Nom complet", + "Display name" : "Nom d'affichage", "Headline" : "Titre", "Organisation" : "Organisme", "Role" : "Fonction", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Erreur de connexion à l'espace stockage. %s", "Storage is temporarily not available" : "Le support de stockage est temporairement indisponible", "Storage connection timeout. %s" : "Le délai d'attente pour la connexion à l'espace de stockage a été dépassé. %s", + "Full name" : "Nom complet", "%s enter the database username and name." : "%s entrez le nom d'utilisateur et le nom de la base de données.", "%s enter the database username." : "%s entrez le nom d'utilisateur de la base de données.", "%s enter the database name." : "%s entrez le nom de la base de données.", diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json index 8cea0c36dfe..c1faedea16f 100644 --- a/lib/l10n/fr.json +++ b/lib/l10n/fr.json @@ -112,7 +112,7 @@ "Address" : "Adresse", "Profile picture" : "Photo de profil", "About" : "À propos", - "Full name" : "Nom complet", + "Display name" : "Nom d'affichage", "Headline" : "Titre", "Organisation" : "Organisme", "Role" : "Fonction", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Erreur de connexion à l'espace stockage. %s", "Storage is temporarily not available" : "Le support de stockage est temporairement indisponible", "Storage connection timeout. %s" : "Le délai d'attente pour la connexion à l'espace de stockage a été dépassé. %s", + "Full name" : "Nom complet", "%s enter the database username and name." : "%s entrez le nom d'utilisateur et le nom de la base de données.", "%s enter the database username." : "%s entrez le nom d'utilisateur de la base de données.", "%s enter the database name." : "%s entrez le nom de la base de données.", diff --git a/lib/l10n/gl.js b/lib/l10n/gl.js index d6645f44d9c..cd43ac96e86 100644 --- a/lib/l10n/gl.js +++ b/lib/l10n/gl.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "Enderezo", "Profile picture" : "Imaxe do perfil", "About" : "Sobre", - "Full name" : "Nome completo", + "Display name" : "Nome a amosar", "Headline" : "Titular", "Organisation" : "Organización", "Role" : "Cargo", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Produciuse un erro na conexión ao almacenamento. %s", "Storage is temporarily not available" : "O almacenamento non está dispoñíbel temporalmente", "Storage connection timeout. %s" : "Esgotouse o tempo de conexión co almacenamento. %s", + "Full name" : "Nome completo", "%s enter the database username and name." : "%s introduza o nome de usuario e o nome da base de datos", "%s enter the database username." : "%s introduza o nome de usuario da base de datos", "%s enter the database name." : "%s introduza o nome da base de datos", diff --git a/lib/l10n/gl.json b/lib/l10n/gl.json index 528e61a5b7b..773df489984 100644 --- a/lib/l10n/gl.json +++ b/lib/l10n/gl.json @@ -112,7 +112,7 @@ "Address" : "Enderezo", "Profile picture" : "Imaxe do perfil", "About" : "Sobre", - "Full name" : "Nome completo", + "Display name" : "Nome a amosar", "Headline" : "Titular", "Organisation" : "Organización", "Role" : "Cargo", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Produciuse un erro na conexión ao almacenamento. %s", "Storage is temporarily not available" : "O almacenamento non está dispoñíbel temporalmente", "Storage connection timeout. %s" : "Esgotouse o tempo de conexión co almacenamento. %s", + "Full name" : "Nome completo", "%s enter the database username and name." : "%s introduza o nome de usuario e o nome da base de datos", "%s enter the database username." : "%s introduza o nome de usuario da base de datos", "%s enter the database name." : "%s introduza o nome da base de datos", diff --git a/lib/l10n/he.js b/lib/l10n/he.js index 2c8b581059a..0529868bb0e 100644 --- a/lib/l10n/he.js +++ b/lib/l10n/he.js @@ -71,7 +71,6 @@ OC.L10N.register( "Address" : "כתובת", "Profile picture" : "תמונת פרופיל", "About" : "על אודות", - "Full name" : "שם מלא", "Unknown user" : "משתמש לא ידוע", "Additional settings" : "הגדרות נוספות", "MySQL username and/or password not valid" : "שם המשתמש ו/או הססמה של MySQL אינם תקינים", @@ -184,6 +183,7 @@ OC.L10N.register( "Storage connection error. %s" : "שגיאת חיבור אחסון. %s", "Storage is temporarily not available" : "האחסון אינו זמין כרגע", "Storage connection timeout. %s" : "פסק זמן חיבור אחסון. %s", + "Full name" : "שם מלא", "%s enter the database username and name." : "%s יש להכניס את שם המשתמש ושם מסד הנתונים.", "%s enter the database username." : "%s נכנס למסד נתוני שמות המשתמשים.", "%s enter the database name." : "%s נכנס למסד נתוני השמות.", diff --git a/lib/l10n/he.json b/lib/l10n/he.json index ee6fc4c3b12..df2706061d4 100644 --- a/lib/l10n/he.json +++ b/lib/l10n/he.json @@ -69,7 +69,6 @@ "Address" : "כתובת", "Profile picture" : "תמונת פרופיל", "About" : "על אודות", - "Full name" : "שם מלא", "Unknown user" : "משתמש לא ידוע", "Additional settings" : "הגדרות נוספות", "MySQL username and/or password not valid" : "שם המשתמש ו/או הססמה של MySQL אינם תקינים", @@ -182,6 +181,7 @@ "Storage connection error. %s" : "שגיאת חיבור אחסון. %s", "Storage is temporarily not available" : "האחסון אינו זמין כרגע", "Storage connection timeout. %s" : "פסק זמן חיבור אחסון. %s", + "Full name" : "שם מלא", "%s enter the database username and name." : "%s יש להכניס את שם המשתמש ושם מסד הנתונים.", "%s enter the database username." : "%s נכנס למסד נתוני שמות המשתמשים.", "%s enter the database name." : "%s נכנס למסד נתוני השמות.", diff --git a/lib/l10n/hr.js b/lib/l10n/hr.js index abbc7e04bc0..d2fb30885e4 100644 --- a/lib/l10n/hr.js +++ b/lib/l10n/hr.js @@ -105,7 +105,6 @@ OC.L10N.register( "Address" : "Adresa", "Profile picture" : "Profilna slika", "About" : "Informacije", - "Full name" : "Puno ime", "Headline" : "Naslov", "Organisation" : "Organizacija", "Role" : "Uloga", @@ -229,6 +228,7 @@ OC.L10N.register( "Storage connection error. %s" : "Pogreška veze pohrane. %s", "Storage is temporarily not available" : "Pohrana privremeno nije dostupna", "Storage connection timeout. %s" : "Istek veze pohrane. %s", + "Full name" : "Puno ime", "%s enter the database username and name." : "%s unesite korisničko ime i naziv baze podataka.", "%s enter the database username." : "%s unesite korisničko ime baze podataka.", "%s enter the database name." : "%s unesite naziv baze podataka.", diff --git a/lib/l10n/hr.json b/lib/l10n/hr.json index 887bbbf5230..8d49da24511 100644 --- a/lib/l10n/hr.json +++ b/lib/l10n/hr.json @@ -103,7 +103,6 @@ "Address" : "Adresa", "Profile picture" : "Profilna slika", "About" : "Informacije", - "Full name" : "Puno ime", "Headline" : "Naslov", "Organisation" : "Organizacija", "Role" : "Uloga", @@ -227,6 +226,7 @@ "Storage connection error. %s" : "Pogreška veze pohrane. %s", "Storage is temporarily not available" : "Pohrana privremeno nije dostupna", "Storage connection timeout. %s" : "Istek veze pohrane. %s", + "Full name" : "Puno ime", "%s enter the database username and name." : "%s unesite korisničko ime i naziv baze podataka.", "%s enter the database username." : "%s unesite korisničko ime baze podataka.", "%s enter the database name." : "%s unesite naziv baze podataka.", diff --git a/lib/l10n/hu.js b/lib/l10n/hu.js index a53bc8a33b3..ca05cba6af7 100644 --- a/lib/l10n/hu.js +++ b/lib/l10n/hu.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "Cím", "Profile picture" : "Profilkép", "About" : "Névjegy", - "Full name" : "Teljes név", + "Display name" : "Megjelenítendő név", "Headline" : "Címsor", "Organisation" : "Szervezet", "Role" : "Szerepkör", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Tároló kapcsolódási hiba. %s", "Storage is temporarily not available" : "A tároló átmenetileg nem érhető el", "Storage connection timeout. %s" : "Időtúllépés a tárolókapcsolatban. %s", + "Full name" : "Teljes név", "%s enter the database username and name." : "%s adja meg az adatbázis nevét és a felhasználónevet.", "%s enter the database username." : "%s adja meg az adatbázishoz tartozó felhasználónevet.", "%s enter the database name." : "%s adja meg az adatbázis nevét.", diff --git a/lib/l10n/hu.json b/lib/l10n/hu.json index 9cc15a368f6..535825c9355 100644 --- a/lib/l10n/hu.json +++ b/lib/l10n/hu.json @@ -112,7 +112,7 @@ "Address" : "Cím", "Profile picture" : "Profilkép", "About" : "Névjegy", - "Full name" : "Teljes név", + "Display name" : "Megjelenítendő név", "Headline" : "Címsor", "Organisation" : "Szervezet", "Role" : "Szerepkör", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Tároló kapcsolódási hiba. %s", "Storage is temporarily not available" : "A tároló átmenetileg nem érhető el", "Storage connection timeout. %s" : "Időtúllépés a tárolókapcsolatban. %s", + "Full name" : "Teljes név", "%s enter the database username and name." : "%s adja meg az adatbázis nevét és a felhasználónevet.", "%s enter the database username." : "%s adja meg az adatbázishoz tartozó felhasználónevet.", "%s enter the database name." : "%s adja meg az adatbázis nevét.", diff --git a/lib/l10n/ia.js b/lib/l10n/ia.js index 4e4fc7aeafd..919e67979c6 100644 --- a/lib/l10n/ia.js +++ b/lib/l10n/ia.js @@ -18,7 +18,6 @@ OC.L10N.register( "Address" : "Adresse", "Profile picture" : "Pictura de profilo", "About" : "A proposito", - "Full name" : "Nomine complete", "Unknown user" : "Usator incognite", "Sunday" : "Dominica", "Monday" : "Lunedi", @@ -68,6 +67,7 @@ OC.L10N.register( "A valid password must be provided" : "Un contrasigno valide debe esser providite", "A valid username must be provided" : "Un nomine de usator valide debe esser providite", "Authentication error" : "Error in authentication", - "Storage is temporarily not available" : "Immagazinage es provisorimente non disponibile" + "Storage is temporarily not available" : "Immagazinage es provisorimente non disponibile", + "Full name" : "Nomine complete" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/ia.json b/lib/l10n/ia.json index 264d79724d0..dd9415eeb9c 100644 --- a/lib/l10n/ia.json +++ b/lib/l10n/ia.json @@ -16,7 +16,6 @@ "Address" : "Adresse", "Profile picture" : "Pictura de profilo", "About" : "A proposito", - "Full name" : "Nomine complete", "Unknown user" : "Usator incognite", "Sunday" : "Dominica", "Monday" : "Lunedi", @@ -66,6 +65,7 @@ "A valid password must be provided" : "Un contrasigno valide debe esser providite", "A valid username must be provided" : "Un nomine de usator valide debe esser providite", "Authentication error" : "Error in authentication", - "Storage is temporarily not available" : "Immagazinage es provisorimente non disponibile" + "Storage is temporarily not available" : "Immagazinage es provisorimente non disponibile", + "Full name" : "Nomine complete" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/id.js b/lib/l10n/id.js index 457b9654232..aa8b4b36d91 100644 --- a/lib/l10n/id.js +++ b/lib/l10n/id.js @@ -51,7 +51,6 @@ OC.L10N.register( "Address" : "Alamat", "Profile picture" : "Foto profil", "About" : "Tentang.", - "Full name" : "Nama lengkap", "Unknown user" : "Pengguna tidak dikenal", "Additional settings" : "Setelan tambahan", "Oracle connection could not be established" : "Koneksi Oracle tidak dapat dibuat", @@ -146,6 +145,7 @@ OC.L10N.register( "Storage connection error. %s" : "Koneksi penyimpanan bermasalah. %s", "Storage is temporarily not available" : "Penyimpanan sementara tidak tersedia", "Storage connection timeout. %s" : "Koneksi penyimpanan waktu-habis. %s", + "Full name" : "Nama lengkap", "%s enter the database username and name." : "%s masukkan nama pengguna database dan nama database.", "%s enter the database username." : "%s masukkan nama pengguna basis data.", "%s enter the database name." : "%s masukkan nama basis data.", diff --git a/lib/l10n/id.json b/lib/l10n/id.json index 7b79e0240d4..0df741941e5 100644 --- a/lib/l10n/id.json +++ b/lib/l10n/id.json @@ -49,7 +49,6 @@ "Address" : "Alamat", "Profile picture" : "Foto profil", "About" : "Tentang.", - "Full name" : "Nama lengkap", "Unknown user" : "Pengguna tidak dikenal", "Additional settings" : "Setelan tambahan", "Oracle connection could not be established" : "Koneksi Oracle tidak dapat dibuat", @@ -144,6 +143,7 @@ "Storage connection error. %s" : "Koneksi penyimpanan bermasalah. %s", "Storage is temporarily not available" : "Penyimpanan sementara tidak tersedia", "Storage connection timeout. %s" : "Koneksi penyimpanan waktu-habis. %s", + "Full name" : "Nama lengkap", "%s enter the database username and name." : "%s masukkan nama pengguna database dan nama database.", "%s enter the database username." : "%s masukkan nama pengguna basis data.", "%s enter the database name." : "%s masukkan nama basis data.", diff --git a/lib/l10n/is.js b/lib/l10n/is.js index 8832a247665..11bedcf43ba 100644 --- a/lib/l10n/is.js +++ b/lib/l10n/is.js @@ -85,7 +85,6 @@ OC.L10N.register( "Address" : "Vistfang", "Profile picture" : "Einkennismynd", "About" : "Um hugbúnaðinn", - "Full name" : "Fullt nafn", "Headline" : "Fyrirsögn", "Role" : "Role", "Unknown user" : "Óþekktur notandi", @@ -202,6 +201,7 @@ OC.L10N.register( "Storage connection error. %s" : "Villa í tengingu við gagnageymslu. %s", "Storage is temporarily not available" : "Gagnageymsla ekki tiltæk í augnablikinu", "Storage connection timeout. %s" : "Gagnageymsla féll á tíma. %s", + "Full name" : "Fullt nafn", "%s enter the database username and name." : "%s settu inn notandanafn og nafn á gagnagrunni.", "%s enter the database username." : "%s settu inn notandanafn í gagnagrunni.", "%s enter the database name." : "%s settu inn nafn á gagnagrunni.", diff --git a/lib/l10n/is.json b/lib/l10n/is.json index ab40d61c01e..4429452362d 100644 --- a/lib/l10n/is.json +++ b/lib/l10n/is.json @@ -83,7 +83,6 @@ "Address" : "Vistfang", "Profile picture" : "Einkennismynd", "About" : "Um hugbúnaðinn", - "Full name" : "Fullt nafn", "Headline" : "Fyrirsögn", "Role" : "Role", "Unknown user" : "Óþekktur notandi", @@ -200,6 +199,7 @@ "Storage connection error. %s" : "Villa í tengingu við gagnageymslu. %s", "Storage is temporarily not available" : "Gagnageymsla ekki tiltæk í augnablikinu", "Storage connection timeout. %s" : "Gagnageymsla féll á tíma. %s", + "Full name" : "Fullt nafn", "%s enter the database username and name." : "%s settu inn notandanafn og nafn á gagnagrunni.", "%s enter the database username." : "%s settu inn notandanafn í gagnagrunni.", "%s enter the database name." : "%s settu inn nafn á gagnagrunni.", diff --git a/lib/l10n/it.js b/lib/l10n/it.js index 8d169f4f6f1..d1097f31252 100644 --- a/lib/l10n/it.js +++ b/lib/l10n/it.js @@ -113,7 +113,6 @@ OC.L10N.register( "Address" : "Indirizzo", "Profile picture" : "Immagine di profilo", "About" : "Informazioni", - "Full name" : "Nome completo", "Headline" : "Titolo", "Organisation" : "Organizzazione", "Role" : "Ruolo", @@ -255,6 +254,7 @@ OC.L10N.register( "Storage connection error. %s" : "Errore di connessione all'archiviazione. %s", "Storage is temporarily not available" : "L'archiviazione è temporaneamente non disponibile", "Storage connection timeout. %s" : "Timeout di connessione all'archiviazione. %s", + "Full name" : "Nome completo", "%s enter the database username and name." : "%s digita il nome utente e il nome del database.", "%s enter the database username." : "%s digita il nome utente del database.", "%s enter the database name." : "%s digita il nome del database.", diff --git a/lib/l10n/it.json b/lib/l10n/it.json index 72955e49faa..d541209a6aa 100644 --- a/lib/l10n/it.json +++ b/lib/l10n/it.json @@ -111,7 +111,6 @@ "Address" : "Indirizzo", "Profile picture" : "Immagine di profilo", "About" : "Informazioni", - "Full name" : "Nome completo", "Headline" : "Titolo", "Organisation" : "Organizzazione", "Role" : "Ruolo", @@ -253,6 +252,7 @@ "Storage connection error. %s" : "Errore di connessione all'archiviazione. %s", "Storage is temporarily not available" : "L'archiviazione è temporaneamente non disponibile", "Storage connection timeout. %s" : "Timeout di connessione all'archiviazione. %s", + "Full name" : "Nome completo", "%s enter the database username and name." : "%s digita il nome utente e il nome del database.", "%s enter the database username." : "%s digita il nome utente del database.", "%s enter the database name." : "%s digita il nome del database.", diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js index cc8ec9cb55c..e1f4874ffc4 100644 --- a/lib/l10n/ja.js +++ b/lib/l10n/ja.js @@ -114,7 +114,6 @@ OC.L10N.register( "Address" : "アドレス", "Profile picture" : "プロフィールの写真", "About" : "詳細", - "Full name" : "フルネーム", "Headline" : "見出し", "Organisation" : "組織", "Role" : "ロール", @@ -265,6 +264,7 @@ OC.L10N.register( "Storage connection error. %s" : "ストレージへの接続エラー。 %s", "Storage is temporarily not available" : "ストレージは一時的に利用できません", "Storage connection timeout. %s" : "ストレージへの接続がタイムアウト。 %s", + "Full name" : "フルネーム", "%s enter the database username and name." : "%s データベース名とデータベースのユーザー名を入力してください。", "%s enter the database username." : "%s のデータベースのユーザー名を入力してください。", "%s enter the database name." : "%s のデータベース名を入力してください。", diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json index 9435bfe1933..a11e7a6d96f 100644 --- a/lib/l10n/ja.json +++ b/lib/l10n/ja.json @@ -112,7 +112,6 @@ "Address" : "アドレス", "Profile picture" : "プロフィールの写真", "About" : "詳細", - "Full name" : "フルネーム", "Headline" : "見出し", "Organisation" : "組織", "Role" : "ロール", @@ -263,6 +262,7 @@ "Storage connection error. %s" : "ストレージへの接続エラー。 %s", "Storage is temporarily not available" : "ストレージは一時的に利用できません", "Storage connection timeout. %s" : "ストレージへの接続がタイムアウト。 %s", + "Full name" : "フルネーム", "%s enter the database username and name." : "%s データベース名とデータベースのユーザー名を入力してください。", "%s enter the database username." : "%s のデータベースのユーザー名を入力してください。", "%s enter the database name." : "%s のデータベース名を入力してください。", diff --git a/lib/l10n/ka_GE.js b/lib/l10n/ka_GE.js index 2441783d4b4..ddf8eba5adb 100644 --- a/lib/l10n/ka_GE.js +++ b/lib/l10n/ka_GE.js @@ -68,7 +68,6 @@ OC.L10N.register( "Address" : "მისამართი", "Profile picture" : "პროფილის სურათი", "About" : "შესახებ", - "Full name" : "სრული სახელი", "Unknown user" : "ამოუცნობი მომხმარებელი", "Additional settings" : "დამატებითი პარამეტრები", "You need to enter details of an existing account." : "საჭიროა შეიყვანოთ არსებული ანგარიშის დეტალები.", @@ -169,6 +168,7 @@ OC.L10N.register( "Storage connection error. %s" : "საცავის კავშირის შეცდომა. %s", "Storage is temporarily not available" : "საცავი დროებით ხელმიუწვდომელია", "Storage connection timeout. %s" : "საცავის კავშირის დროის ამოწურვა. %s", + "Full name" : "სრული სახელი", "%s enter the database username and name." : "%s შეიყვანეთ მონაცემთა ბაზის მომხმარებლის სახელი და სახელი.", "%s enter the database username." : "%s შეიყვანეთ ბაზის მომხმარებლის სახელი.", "%s enter the database name." : "%s შეიყვანეთ ბაზის სახელი.", diff --git a/lib/l10n/ka_GE.json b/lib/l10n/ka_GE.json index b977b017690..9aa6122434c 100644 --- a/lib/l10n/ka_GE.json +++ b/lib/l10n/ka_GE.json @@ -66,7 +66,6 @@ "Address" : "მისამართი", "Profile picture" : "პროფილის სურათი", "About" : "შესახებ", - "Full name" : "სრული სახელი", "Unknown user" : "ამოუცნობი მომხმარებელი", "Additional settings" : "დამატებითი პარამეტრები", "You need to enter details of an existing account." : "საჭიროა შეიყვანოთ არსებული ანგარიშის დეტალები.", @@ -167,6 +166,7 @@ "Storage connection error. %s" : "საცავის კავშირის შეცდომა. %s", "Storage is temporarily not available" : "საცავი დროებით ხელმიუწვდომელია", "Storage connection timeout. %s" : "საცავის კავშირის დროის ამოწურვა. %s", + "Full name" : "სრული სახელი", "%s enter the database username and name." : "%s შეიყვანეთ მონაცემთა ბაზის მომხმარებლის სახელი და სახელი.", "%s enter the database username." : "%s შეიყვანეთ ბაზის მომხმარებლის სახელი.", "%s enter the database name." : "%s შეიყვანეთ ბაზის სახელი.", diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js index e64d8ed1b4c..3c04594af6b 100644 --- a/lib/l10n/ko.js +++ b/lib/l10n/ko.js @@ -33,7 +33,7 @@ OC.L10N.register( "Invalid image" : "잘못된 사진", "Avatar image is not square" : "아바타 사진이 정사각형이 아님", "Files" : "파일", - "View profile" : "프로파일 보기", + "View profile" : "프로필 보기", "today" : "오늘", "tomorrow" : "내일", "yesterday" : "어제", @@ -81,7 +81,6 @@ OC.L10N.register( "Address" : "주소", "Profile picture" : "프로필 사진", "About" : "정보", - "Full name" : "전체 이름", "Headline" : "표제", "Organisation" : "조직", "Role" : "직책", @@ -193,6 +192,7 @@ OC.L10N.register( "Storage connection error. %s" : "저장소 연결 오류입니다. %s", "Storage is temporarily not available" : "저장소를 임시로 사용할 수 없음", "Storage connection timeout. %s" : "저장소 연결 시간이 초과되었습니다. %s", + "Full name" : "전체 이름", "%s enter the database username and name." : "%s 데이터베이스 사용자 이름과 이름을 입력해 주십시오.", "%s enter the database username." : "%s 데이터베이스 사용자 이름을 입력해 주십시오.", "%s enter the database name." : "%s 데이터베이스 이름을 입력하십시오.", diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json index ecdee1a8697..97c844fdefc 100644 --- a/lib/l10n/ko.json +++ b/lib/l10n/ko.json @@ -31,7 +31,7 @@ "Invalid image" : "잘못된 사진", "Avatar image is not square" : "아바타 사진이 정사각형이 아님", "Files" : "파일", - "View profile" : "프로파일 보기", + "View profile" : "프로필 보기", "today" : "오늘", "tomorrow" : "내일", "yesterday" : "어제", @@ -79,7 +79,6 @@ "Address" : "주소", "Profile picture" : "프로필 사진", "About" : "정보", - "Full name" : "전체 이름", "Headline" : "표제", "Organisation" : "조직", "Role" : "직책", @@ -191,6 +190,7 @@ "Storage connection error. %s" : "저장소 연결 오류입니다. %s", "Storage is temporarily not available" : "저장소를 임시로 사용할 수 없음", "Storage connection timeout. %s" : "저장소 연결 시간이 초과되었습니다. %s", + "Full name" : "전체 이름", "%s enter the database username and name." : "%s 데이터베이스 사용자 이름과 이름을 입력해 주십시오.", "%s enter the database username." : "%s 데이터베이스 사용자 이름을 입력해 주십시오.", "%s enter the database name." : "%s 데이터베이스 이름을 입력하십시오.", diff --git a/lib/l10n/lo.js b/lib/l10n/lo.js index 42e8c77cf46..d5bd2961de3 100644 --- a/lib/l10n/lo.js +++ b/lib/l10n/lo.js @@ -16,8 +16,8 @@ OC.L10N.register( "Website" : "ເວັບໄຊ", "Address" : "ທີ່ຢູ່", "About" : "ກ່ຽວກັບ", - "Full name" : "ຊື່ເຕັມ", "Role" : "ພາລະບົດບາດ", - "User disabled" : "ປິດຊື່ຜູ້ໃຊ້" + "User disabled" : "ປິດຊື່ຜູ້ໃຊ້", + "Full name" : "ຊື່ເຕັມ" }, "nplurals=1; plural=0;"); diff --git a/lib/l10n/lo.json b/lib/l10n/lo.json index 703fd88a9f4..9c060b912e8 100644 --- a/lib/l10n/lo.json +++ b/lib/l10n/lo.json @@ -14,8 +14,8 @@ "Website" : "ເວັບໄຊ", "Address" : "ທີ່ຢູ່", "About" : "ກ່ຽວກັບ", - "Full name" : "ຊື່ເຕັມ", "Role" : "ພາລະບົດບາດ", - "User disabled" : "ປິດຊື່ຜູ້ໃຊ້" + "User disabled" : "ປິດຊື່ຜູ້ໃຊ້", + "Full name" : "ຊື່ເຕັມ" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/lib/l10n/lt_LT.js b/lib/l10n/lt_LT.js index 429392a48ca..176a3a389de 100644 --- a/lib/l10n/lt_LT.js +++ b/lib/l10n/lt_LT.js @@ -84,7 +84,6 @@ OC.L10N.register( "Address" : "Adresas", "Profile picture" : "Profilio paveikslėlis", "About" : "Apie", - "Full name" : "Vardas, pavardė", "Headline" : "Antraštė", "Organisation" : "Organizacija", "Role" : "Vaidmuo", @@ -192,6 +191,7 @@ OC.L10N.register( "Storage connection error. %s" : "Saugyklos sujungimo ryšio klaida. %s", "Storage is temporarily not available" : "Saugykla yra laikinai neprieinama", "Storage connection timeout. %s" : "Sujungimo su saugykla laikas baigėsi. %s", + "Full name" : "Vardas, pavardė", "%s enter the database username and name." : "%s įrašykite duomenų bazės naudotojo vardą ir pavadinimą.", "%s enter the database username." : "%s įrašykite duomenų bazės naudotojo vardą.", "%s enter the database name." : "%s įrašykite duomenų bazės pavadinimą.", diff --git a/lib/l10n/lt_LT.json b/lib/l10n/lt_LT.json index f13c13f0009..d8b229dbf3d 100644 --- a/lib/l10n/lt_LT.json +++ b/lib/l10n/lt_LT.json @@ -82,7 +82,6 @@ "Address" : "Adresas", "Profile picture" : "Profilio paveikslėlis", "About" : "Apie", - "Full name" : "Vardas, pavardė", "Headline" : "Antraštė", "Organisation" : "Organizacija", "Role" : "Vaidmuo", @@ -190,6 +189,7 @@ "Storage connection error. %s" : "Saugyklos sujungimo ryšio klaida. %s", "Storage is temporarily not available" : "Saugykla yra laikinai neprieinama", "Storage connection timeout. %s" : "Sujungimo su saugykla laikas baigėsi. %s", + "Full name" : "Vardas, pavardė", "%s enter the database username and name." : "%s įrašykite duomenų bazės naudotojo vardą ir pavadinimą.", "%s enter the database username." : "%s įrašykite duomenų bazės naudotojo vardą.", "%s enter the database name." : "%s įrašykite duomenų bazės pavadinimą.", diff --git a/lib/l10n/lv.js b/lib/l10n/lv.js index 02ad305655d..e9a6c308f65 100644 --- a/lib/l10n/lv.js +++ b/lib/l10n/lv.js @@ -57,7 +57,6 @@ OC.L10N.register( "Address" : "Adrese", "Profile picture" : "Profila attēls", "About" : "Par", - "Full name" : "Pilns vārds", "Unknown user" : "Nezināms lietotājs", "Additional settings" : "Papildu iestatījumi", "Oracle connection could not be established" : "Nevar izveidot savienojumu ar Oracle", @@ -133,6 +132,7 @@ OC.L10N.register( "Storage connection error. %s" : "Datu savienojuma kļūda. %s", "Storage is temporarily not available" : "Glabātuve īslaicīgi nav pieejama", "Storage connection timeout. %s" : "Datu savienojuma taimauts. %s", + "Full name" : "Pilns vārds", "%s enter the database username." : "%s ievadiet datubāzes lietotājvārdu.", "%s enter the database name." : "%s ievadiet datubāzes nosaukumu.", "%s you may not use dots in the database name" : "%s datubāžu nosaukumos nedrīkst izmantot punktus" diff --git a/lib/l10n/lv.json b/lib/l10n/lv.json index 91489f14385..16754fa953b 100644 --- a/lib/l10n/lv.json +++ b/lib/l10n/lv.json @@ -55,7 +55,6 @@ "Address" : "Adrese", "Profile picture" : "Profila attēls", "About" : "Par", - "Full name" : "Pilns vārds", "Unknown user" : "Nezināms lietotājs", "Additional settings" : "Papildu iestatījumi", "Oracle connection could not be established" : "Nevar izveidot savienojumu ar Oracle", @@ -131,6 +130,7 @@ "Storage connection error. %s" : "Datu savienojuma kļūda. %s", "Storage is temporarily not available" : "Glabātuve īslaicīgi nav pieejama", "Storage connection timeout. %s" : "Datu savienojuma taimauts. %s", + "Full name" : "Pilns vārds", "%s enter the database username." : "%s ievadiet datubāzes lietotājvārdu.", "%s enter the database name." : "%s ievadiet datubāzes nosaukumu.", "%s you may not use dots in the database name" : "%s datubāžu nosaukumos nedrīkst izmantot punktus" diff --git a/lib/l10n/mk.js b/lib/l10n/mk.js index 2cfc60cada1..c6ec2c450a5 100644 --- a/lib/l10n/mk.js +++ b/lib/l10n/mk.js @@ -112,9 +112,9 @@ OC.L10N.register( "Website" : "Веб страна", "Visit %s" : "Посети %s", "Address" : "Адреса", - "Profile picture" : "Фотографија за профил", + "Profile picture" : "Фотографија", "About" : "За", - "Full name" : "Цело име", + "Display name" : "Име и презиме", "Headline" : "Наслов", "Organisation" : "Организација", "Role" : "Улога", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Грешка во конекција до складиштето. %s", "Storage is temporarily not available" : "Складиштето моментално не е достапно", "Storage connection timeout. %s" : "Поврзувањето со складиштето не успеа. %s", + "Full name" : "Цело име", "%s enter the database username and name." : "%s внесете го корисничкото име и името на базата.", "%s enter the database username." : "%s внеси го корисничкото име за базата.", "%s enter the database name." : "%s внеси го името на базата.", diff --git a/lib/l10n/mk.json b/lib/l10n/mk.json index 8b679c7bdd5..f91b2a3d546 100644 --- a/lib/l10n/mk.json +++ b/lib/l10n/mk.json @@ -110,9 +110,9 @@ "Website" : "Веб страна", "Visit %s" : "Посети %s", "Address" : "Адреса", - "Profile picture" : "Фотографија за профил", + "Profile picture" : "Фотографија", "About" : "За", - "Full name" : "Цело име", + "Display name" : "Име и презиме", "Headline" : "Наслов", "Organisation" : "Организација", "Role" : "Улога", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Грешка во конекција до складиштето. %s", "Storage is temporarily not available" : "Складиштето моментално не е достапно", "Storage connection timeout. %s" : "Поврзувањето со складиштето не успеа. %s", + "Full name" : "Цело име", "%s enter the database username and name." : "%s внесете го корисничкото име и името на базата.", "%s enter the database username." : "%s внеси го корисничкото име за базата.", "%s enter the database name." : "%s внеси го името на базата.", diff --git a/lib/l10n/mn.js b/lib/l10n/mn.js index 3a7e4e1c82d..a5dd5e23fb7 100644 --- a/lib/l10n/mn.js +++ b/lib/l10n/mn.js @@ -28,7 +28,6 @@ OC.L10N.register( "Address" : "хаяг", "Profile picture" : "Профайл зураг", "About" : "Тухай", - "Full name" : "бүтэн нэр", "Unknown user" : " хэрэглэгч", "Open »%s«" : "»%s« нээх", "Sunday" : "ням гариг", @@ -42,6 +41,7 @@ OC.L10N.register( "November" : "Арван нэгдүгээр сар", "a safe home for all your data" : "Таны өгөгдлүүдийн аюулгүй гэр", "Authentication error" : "Нотолгооны алдаа", - "Storage is temporarily not available" : "Хадгалах төхөөрөмж нь түр хугацаанд ашиглах боломжгүй байна" + "Storage is temporarily not available" : "Хадгалах төхөөрөмж нь түр хугацаанд ашиглах боломжгүй байна", + "Full name" : "бүтэн нэр" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/mn.json b/lib/l10n/mn.json index 9f71edb20aa..d9c15daa144 100644 --- a/lib/l10n/mn.json +++ b/lib/l10n/mn.json @@ -26,7 +26,6 @@ "Address" : "хаяг", "Profile picture" : "Профайл зураг", "About" : "Тухай", - "Full name" : "бүтэн нэр", "Unknown user" : " хэрэглэгч", "Open »%s«" : "»%s« нээх", "Sunday" : "ням гариг", @@ -40,6 +39,7 @@ "November" : "Арван нэгдүгээр сар", "a safe home for all your data" : "Таны өгөгдлүүдийн аюулгүй гэр", "Authentication error" : "Нотолгооны алдаа", - "Storage is temporarily not available" : "Хадгалах төхөөрөмж нь түр хугацаанд ашиглах боломжгүй байна" + "Storage is temporarily not available" : "Хадгалах төхөөрөмж нь түр хугацаанд ашиглах боломжгүй байна", + "Full name" : "бүтэн нэр" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/nb.js b/lib/l10n/nb.js index 6fcd0af4ba5..fa31e18222f 100644 --- a/lib/l10n/nb.js +++ b/lib/l10n/nb.js @@ -87,7 +87,6 @@ OC.L10N.register( "Address" : "Adresse", "Profile picture" : "Profilbilde", "About" : "Om", - "Full name" : "Fullt navn", "Headline" : "Overskrift", "Organisation" : "Organisasion", "Role" : "Rolle", @@ -198,6 +197,7 @@ OC.L10N.register( "Storage connection error. %s" : "Tilkoblingsfeil for lager. %s", "Storage is temporarily not available" : "Lagring er midlertidig utilgjengelig", "Storage connection timeout. %s" : "Tidsavbrudd ved tilkobling av lager: %s", + "Full name" : "Fullt navn", "%s enter the database username and name." : "%s legg inn database brukernavn og navn.", "%s enter the database username." : "%s legg inn brukernavn for databasen.", "%s enter the database name." : "%s legg inn navnet på databasen.", diff --git a/lib/l10n/nb.json b/lib/l10n/nb.json index 97646a81094..ef7cdd10db9 100644 --- a/lib/l10n/nb.json +++ b/lib/l10n/nb.json @@ -85,7 +85,6 @@ "Address" : "Adresse", "Profile picture" : "Profilbilde", "About" : "Om", - "Full name" : "Fullt navn", "Headline" : "Overskrift", "Organisation" : "Organisasion", "Role" : "Rolle", @@ -196,6 +195,7 @@ "Storage connection error. %s" : "Tilkoblingsfeil for lager. %s", "Storage is temporarily not available" : "Lagring er midlertidig utilgjengelig", "Storage connection timeout. %s" : "Tidsavbrudd ved tilkobling av lager: %s", + "Full name" : "Fullt navn", "%s enter the database username and name." : "%s legg inn database brukernavn og navn.", "%s enter the database username." : "%s legg inn brukernavn for databasen.", "%s enter the database name." : "%s legg inn navnet på databasen.", diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js index b7b84bc323d..894b1fa2e8b 100644 --- a/lib/l10n/nl.js +++ b/lib/l10n/nl.js @@ -109,7 +109,6 @@ OC.L10N.register( "Address" : "Adres", "Profile picture" : "Profielafbeelding", "About" : "Over", - "Full name" : "Volledige naam", "Headline" : "Hoofdlijn", "Organisation" : "Organisatie", "Role" : "Rol", @@ -251,6 +250,7 @@ OC.L10N.register( "Storage connection error. %s" : "Opslag verbindingsfout. %s", "Storage is temporarily not available" : "Opslag is tijdelijk niet beschikbaar", "Storage connection timeout. %s" : "Opslag verbinding time-out. %s", + "Full name" : "Volledige naam", "%s enter the database username and name." : "%s voer de database gebruikersnaam en naam in .", "%s enter the database username." : "%s voer de database gebruikersnaam in.", "%s enter the database name." : "%s voer de databasenaam in.", diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json index 5dc34f477d8..9296827e3e9 100644 --- a/lib/l10n/nl.json +++ b/lib/l10n/nl.json @@ -107,7 +107,6 @@ "Address" : "Adres", "Profile picture" : "Profielafbeelding", "About" : "Over", - "Full name" : "Volledige naam", "Headline" : "Hoofdlijn", "Organisation" : "Organisatie", "Role" : "Rol", @@ -249,6 +248,7 @@ "Storage connection error. %s" : "Opslag verbindingsfout. %s", "Storage is temporarily not available" : "Opslag is tijdelijk niet beschikbaar", "Storage connection timeout. %s" : "Opslag verbinding time-out. %s", + "Full name" : "Volledige naam", "%s enter the database username and name." : "%s voer de database gebruikersnaam en naam in .", "%s enter the database username." : "%s voer de database gebruikersnaam in.", "%s enter the database name." : "%s voer de databasenaam in.", diff --git a/lib/l10n/nn_NO.js b/lib/l10n/nn_NO.js index 8659eabd6aa..03a76a1ea36 100644 --- a/lib/l10n/nn_NO.js +++ b/lib/l10n/nn_NO.js @@ -27,7 +27,6 @@ OC.L10N.register( "Address" : "Adresse", "Profile picture" : "Profilbilete", "About" : "Om", - "Full name" : "Fult namn", "Unknown user" : "Ukjend brukar", "Additional settings" : "Tilleggsinnstillingar", "Set an admin password." : "Vel eit admin-passord.", @@ -81,6 +80,7 @@ OC.L10N.register( "A valid username must be provided" : "Du må oppgje eit gyldig brukarnamn", "User disabled" : "Brukar deaktivert", "Login canceled by app" : "Innlogging avbroten av app", - "Authentication error" : "Feil i autentisering" + "Authentication error" : "Feil i autentisering", + "Full name" : "Fult namn" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/nn_NO.json b/lib/l10n/nn_NO.json index 4dd28fb8e7a..da77b6f1521 100644 --- a/lib/l10n/nn_NO.json +++ b/lib/l10n/nn_NO.json @@ -25,7 +25,6 @@ "Address" : "Adresse", "Profile picture" : "Profilbilete", "About" : "Om", - "Full name" : "Fult namn", "Unknown user" : "Ukjend brukar", "Additional settings" : "Tilleggsinnstillingar", "Set an admin password." : "Vel eit admin-passord.", @@ -79,6 +78,7 @@ "A valid username must be provided" : "Du må oppgje eit gyldig brukarnamn", "User disabled" : "Brukar deaktivert", "Login canceled by app" : "Innlogging avbroten av app", - "Authentication error" : "Feil i autentisering" + "Authentication error" : "Feil i autentisering", + "Full name" : "Fult namn" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/oc.js b/lib/l10n/oc.js index 41a93ac96b4..98984f9747a 100644 --- a/lib/l10n/oc.js +++ b/lib/l10n/oc.js @@ -43,7 +43,6 @@ OC.L10N.register( "Address" : "Adreça", "Profile picture" : "Imatge de perfil", "About" : "A prepaus", - "Full name" : "Nom complèt", "Headline" : "Títol", "Organisation" : "Organizacion", "Role" : "Ròtle", @@ -73,6 +72,7 @@ OC.L10N.register( "User disabled" : "Utilizaire desactivat", "a safe home for all your data" : "un ostal segur per vòstras donadas", "Authentication error" : "Error d’autentificacion", - "Storage is temporarily not available" : "Emmagazinatge temporàriament indisponible" + "Storage is temporarily not available" : "Emmagazinatge temporàriament indisponible", + "Full name" : "Nom complèt" }, "nplurals=2; plural=(n > 1);"); diff --git a/lib/l10n/oc.json b/lib/l10n/oc.json index 101ce9fc5f1..53eac3420a8 100644 --- a/lib/l10n/oc.json +++ b/lib/l10n/oc.json @@ -41,7 +41,6 @@ "Address" : "Adreça", "Profile picture" : "Imatge de perfil", "About" : "A prepaus", - "Full name" : "Nom complèt", "Headline" : "Títol", "Organisation" : "Organizacion", "Role" : "Ròtle", @@ -71,6 +70,7 @@ "User disabled" : "Utilizaire desactivat", "a safe home for all your data" : "un ostal segur per vòstras donadas", "Authentication error" : "Error d’autentificacion", - "Storage is temporarily not available" : "Emmagazinatge temporàriament indisponible" + "Storage is temporarily not available" : "Emmagazinatge temporàriament indisponible", + "Full name" : "Nom complèt" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js index d08e5b2d3af..c0231db06b9 100644 --- a/lib/l10n/pl.js +++ b/lib/l10n/pl.js @@ -114,7 +114,6 @@ OC.L10N.register( "Address" : "Adres", "Profile picture" : "Zdjęcie profilowe", "About" : "Informacje", - "Full name" : "Pełna nazwa", "Headline" : "Nagłówek", "Organisation" : "Organizacja", "Role" : "Rola społeczna", @@ -265,6 +264,7 @@ OC.L10N.register( "Storage connection error. %s" : "Błąd połączenia z magazynem. %s", "Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny", "Storage connection timeout. %s" : "Limit czasu połączenia do magazynu. %s", + "Full name" : "Pełna nazwa", "%s enter the database username and name." : "Podaj nazwę bazy danych i nazwę użytkownika dla %s.", "%s enter the database username." : "Podaj nazwę użytkownika dla %s.", "%s enter the database name." : "Podaj nazwę bazy danych dla %s.", diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json index 98c87c813ae..8ce189fb56b 100644 --- a/lib/l10n/pl.json +++ b/lib/l10n/pl.json @@ -112,7 +112,6 @@ "Address" : "Adres", "Profile picture" : "Zdjęcie profilowe", "About" : "Informacje", - "Full name" : "Pełna nazwa", "Headline" : "Nagłówek", "Organisation" : "Organizacja", "Role" : "Rola społeczna", @@ -263,6 +262,7 @@ "Storage connection error. %s" : "Błąd połączenia z magazynem. %s", "Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny", "Storage connection timeout. %s" : "Limit czasu połączenia do magazynu. %s", + "Full name" : "Pełna nazwa", "%s enter the database username and name." : "Podaj nazwę bazy danych i nazwę użytkownika dla %s.", "%s enter the database username." : "Podaj nazwę użytkownika dla %s.", "%s enter the database name." : "Podaj nazwę bazy danych dla %s.", diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js index 7cb2125face..65db17c8a09 100644 --- a/lib/l10n/pt_BR.js +++ b/lib/l10n/pt_BR.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "Endereço", "Profile picture" : "Foto do perfil", "About" : "Sobre", - "Full name" : "Nome completo ", + "Display name" : "Nome de exibição", "Headline" : "Título ", "Organisation" : "Organização", "Role" : "Função", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Erro na conexão de armazenamento. %s", "Storage is temporarily not available" : "Armazenamento temporariamente indisponível", "Storage connection timeout. %s" : "Atingido o tempo limite de conexão ao armazenamento. %s", + "Full name" : "Nome completo ", "%s enter the database username and name." : "%s insira o nome de usuário e o nome do banco de dados.", "%s enter the database username." : "%s insira o nome de usuário do banco de dados.", "%s enter the database name." : "%s insira o nome do banco de dados.", diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json index 4db04dcf5b6..dbc3b30de8c 100644 --- a/lib/l10n/pt_BR.json +++ b/lib/l10n/pt_BR.json @@ -112,7 +112,7 @@ "Address" : "Endereço", "Profile picture" : "Foto do perfil", "About" : "Sobre", - "Full name" : "Nome completo ", + "Display name" : "Nome de exibição", "Headline" : "Título ", "Organisation" : "Organização", "Role" : "Função", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Erro na conexão de armazenamento. %s", "Storage is temporarily not available" : "Armazenamento temporariamente indisponível", "Storage connection timeout. %s" : "Atingido o tempo limite de conexão ao armazenamento. %s", + "Full name" : "Nome completo ", "%s enter the database username and name." : "%s insira o nome de usuário e o nome do banco de dados.", "%s enter the database username." : "%s insira o nome de usuário do banco de dados.", "%s enter the database name." : "%s insira o nome do banco de dados.", diff --git a/lib/l10n/pt_PT.js b/lib/l10n/pt_PT.js index c9eb573b0ae..7dce8f30df6 100644 --- a/lib/l10n/pt_PT.js +++ b/lib/l10n/pt_PT.js @@ -87,7 +87,7 @@ OC.L10N.register( "Address" : "Endereço", "Profile picture" : "Imagem do perfil", "About" : "Sobre", - "Full name" : "Nome completo", + "Display name" : "Nome a exibir", "Headline" : "Título ", "Organisation" : "Organização", "Role" : "Função", @@ -203,6 +203,7 @@ OC.L10N.register( "Storage connection error. %s" : "Erro de ligação ao armazenamento. %s", "Storage is temporarily not available" : "Armazenamento temporariamente indisponível", "Storage connection timeout. %s" : "Tempo de ligação ao armazenamento expirou. %s", + "Full name" : "Nome completo", "%s enter the database username and name." : "%s introduza o nome de utilizador da base de dados e o nome da base de dados.", "%s enter the database username." : "%s introduza o nome de utilizador da base de dados", "%s enter the database name." : "%s introduza o nome da base de dados", diff --git a/lib/l10n/pt_PT.json b/lib/l10n/pt_PT.json index f398766ed61..8536d74eeed 100644 --- a/lib/l10n/pt_PT.json +++ b/lib/l10n/pt_PT.json @@ -85,7 +85,7 @@ "Address" : "Endereço", "Profile picture" : "Imagem do perfil", "About" : "Sobre", - "Full name" : "Nome completo", + "Display name" : "Nome a exibir", "Headline" : "Título ", "Organisation" : "Organização", "Role" : "Função", @@ -201,6 +201,7 @@ "Storage connection error. %s" : "Erro de ligação ao armazenamento. %s", "Storage is temporarily not available" : "Armazenamento temporariamente indisponível", "Storage connection timeout. %s" : "Tempo de ligação ao armazenamento expirou. %s", + "Full name" : "Nome completo", "%s enter the database username and name." : "%s introduza o nome de utilizador da base de dados e o nome da base de dados.", "%s enter the database username." : "%s introduza o nome de utilizador da base de dados", "%s enter the database name." : "%s introduza o nome da base de dados", diff --git a/lib/l10n/ro.js b/lib/l10n/ro.js index e26772284c9..df6c1f08fb2 100644 --- a/lib/l10n/ro.js +++ b/lib/l10n/ro.js @@ -54,7 +54,6 @@ OC.L10N.register( "Address" : "Adresă", "Profile picture" : "Imagine de profil", "About" : "Despre", - "Full name" : "Nume complet", "Role" : "Rol", "Unknown user" : "Utilizator necunoscut", "Additional settings" : "Setări adiționale", @@ -133,6 +132,7 @@ OC.L10N.register( "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP este aparent configurat pentru a elimina blocurile de documente inline. Acest lucru va face mai multe aplicații de bază inaccesibile.", "PHP modules have been installed, but they are still listed as missing?" : "Modulele PHP au fost instalate, dar apar ca lipsind?", "Storage is temporarily not available" : "Spațiu de stocare este indisponibil temporar", + "Full name" : "Nume complet", "%s enter the database username and name." : "%s introdu numele de utilizator și parola pentru baza de date.", "%s enter the database username." : "%s introdu utilizatorul bazei de date.", "%s enter the database name." : "%s introduceți numele bazei de date", diff --git a/lib/l10n/ro.json b/lib/l10n/ro.json index 5d227ca1827..4b965d45837 100644 --- a/lib/l10n/ro.json +++ b/lib/l10n/ro.json @@ -52,7 +52,6 @@ "Address" : "Adresă", "Profile picture" : "Imagine de profil", "About" : "Despre", - "Full name" : "Nume complet", "Role" : "Rol", "Unknown user" : "Utilizator necunoscut", "Additional settings" : "Setări adiționale", @@ -131,6 +130,7 @@ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP este aparent configurat pentru a elimina blocurile de documente inline. Acest lucru va face mai multe aplicații de bază inaccesibile.", "PHP modules have been installed, but they are still listed as missing?" : "Modulele PHP au fost instalate, dar apar ca lipsind?", "Storage is temporarily not available" : "Spațiu de stocare este indisponibil temporar", + "Full name" : "Nume complet", "%s enter the database username and name." : "%s introdu numele de utilizator și parola pentru baza de date.", "%s enter the database username." : "%s introdu utilizatorul bazei de date.", "%s enter the database name." : "%s introduceți numele bazei de date", diff --git a/lib/l10n/ru.js b/lib/l10n/ru.js index 819a83f2e40..bf9fdf7b6d0 100644 --- a/lib/l10n/ru.js +++ b/lib/l10n/ru.js @@ -114,7 +114,6 @@ OC.L10N.register( "Address" : "Адрес", "Profile picture" : "Изображение профиля", "About" : "О себе", - "Full name" : "Полное имя", "Headline" : "Заголовок", "Organisation" : "Организация", "Role" : "Роль", @@ -265,6 +264,7 @@ OC.L10N.register( "Storage connection error. %s" : "Ошибка подключения к хранилищу. %s", "Storage is temporarily not available" : "Хранилище временно недоступно", "Storage connection timeout. %s" : "Истекло время ожидания подключения к хранилищу. %s", + "Full name" : "Полное имя", "%s enter the database username and name." : "%s укажите имя пользователя и название для базы данных.", "%s enter the database username." : "%s введите имя пользователя базы данных.", "%s enter the database name." : "%s введите имя базы данных.", diff --git a/lib/l10n/ru.json b/lib/l10n/ru.json index a0d8e3b647a..c405ab35d98 100644 --- a/lib/l10n/ru.json +++ b/lib/l10n/ru.json @@ -112,7 +112,6 @@ "Address" : "Адрес", "Profile picture" : "Изображение профиля", "About" : "О себе", - "Full name" : "Полное имя", "Headline" : "Заголовок", "Organisation" : "Организация", "Role" : "Роль", @@ -263,6 +262,7 @@ "Storage connection error. %s" : "Ошибка подключения к хранилищу. %s", "Storage is temporarily not available" : "Хранилище временно недоступно", "Storage connection timeout. %s" : "Истекло время ожидания подключения к хранилищу. %s", + "Full name" : "Полное имя", "%s enter the database username and name." : "%s укажите имя пользователя и название для базы данных.", "%s enter the database username." : "%s введите имя пользователя базы данных.", "%s enter the database name." : "%s введите имя базы данных.", diff --git a/lib/l10n/sc.js b/lib/l10n/sc.js index f433a6281c9..dccdd2ae350 100644 --- a/lib/l10n/sc.js +++ b/lib/l10n/sc.js @@ -94,7 +94,7 @@ OC.L10N.register( "Address" : "Indiritzu", "Profile picture" : "Imàgine de profilu", "About" : "In contu de", - "Full name" : "Nùmene cumpletu", + "Display name" : "Ammustra nùmene", "Headline" : "Tìtulos", "Role" : "Faina", "Unknown user" : "Utèntzia disconnota", @@ -217,6 +217,7 @@ OC.L10N.register( "Storage connection error. %s" : "Errore de connessione a s'archiviatzione. %s", "Storage is temporarily not available" : "S'archiviatzione no est disponìbile pro immoe.", "Storage connection timeout. %s" : "Tempus de connessione a s'archiviatzione iscadidu. %s", + "Full name" : "Nùmene cumpletu", "%s enter the database username and name." : "%s inserta•nche su nùmene utente e su nùmene de sa base de datos.", "%s enter the database username." : "%s inserta•nche su nùmene utente de sa base de datos.", "%s enter the database name." : "%s inserta•nche su nùmene de sa base de datos.", diff --git a/lib/l10n/sc.json b/lib/l10n/sc.json index de79461d4be..410d7076768 100644 --- a/lib/l10n/sc.json +++ b/lib/l10n/sc.json @@ -92,7 +92,7 @@ "Address" : "Indiritzu", "Profile picture" : "Imàgine de profilu", "About" : "In contu de", - "Full name" : "Nùmene cumpletu", + "Display name" : "Ammustra nùmene", "Headline" : "Tìtulos", "Role" : "Faina", "Unknown user" : "Utèntzia disconnota", @@ -215,6 +215,7 @@ "Storage connection error. %s" : "Errore de connessione a s'archiviatzione. %s", "Storage is temporarily not available" : "S'archiviatzione no est disponìbile pro immoe.", "Storage connection timeout. %s" : "Tempus de connessione a s'archiviatzione iscadidu. %s", + "Full name" : "Nùmene cumpletu", "%s enter the database username and name." : "%s inserta•nche su nùmene utente e su nùmene de sa base de datos.", "%s enter the database username." : "%s inserta•nche su nùmene utente de sa base de datos.", "%s enter the database name." : "%s inserta•nche su nùmene de sa base de datos.", diff --git a/lib/l10n/si.js b/lib/l10n/si.js index 6d7ca7f13ed..1a5aafa2d10 100644 --- a/lib/l10n/si.js +++ b/lib/l10n/si.js @@ -30,7 +30,6 @@ OC.L10N.register( "Website" : "වියමන අඩවිය", "Address" : "ලිපිනය", "About" : "පිළිබඳව", - "Full name" : "සම්පූර්ණ නම", "Role" : "කාර්යභාරය", "Unknown user" : "නොදන්නා පරිශීලකයෙකි", "Additional settings" : "අමතර සැකසුම්", @@ -66,6 +65,7 @@ OC.L10N.register( "September" : "සැප්තැම්බර්", "October" : "ඔක්තෝම්බර්", "November" : "නොවැම්බර්", - "December" : "දෙසැම්බර්" + "December" : "දෙසැම්බර්", + "Full name" : "සම්පූර්ණ නම" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/si.json b/lib/l10n/si.json index ee2a4674b41..d523fd7d59b 100644 --- a/lib/l10n/si.json +++ b/lib/l10n/si.json @@ -28,7 +28,6 @@ "Website" : "වියමන අඩවිය", "Address" : "ලිපිනය", "About" : "පිළිබඳව", - "Full name" : "සම්පූර්ණ නම", "Role" : "කාර්යභාරය", "Unknown user" : "නොදන්නා පරිශීලකයෙකි", "Additional settings" : "අමතර සැකසුම්", @@ -64,6 +63,7 @@ "September" : "සැප්තැම්බර්", "October" : "ඔක්තෝම්බර්", "November" : "නොවැම්බර්", - "December" : "දෙසැම්බර්" + "December" : "දෙසැම්බර්", + "Full name" : "සම්පූර්ණ නම" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/sk.js b/lib/l10n/sk.js index 2a22d8cc41f..84b6eb6ebac 100644 --- a/lib/l10n/sk.js +++ b/lib/l10n/sk.js @@ -113,7 +113,6 @@ OC.L10N.register( "Address" : "Adresa", "Profile picture" : "Profilový obrázok", "About" : "O aplikácii", - "Full name" : "Celé meno", "Headline" : "Titulok", "Organisation" : "Organizácia", "Role" : "Rola", @@ -263,6 +262,7 @@ OC.L10N.register( "Storage connection error. %s" : "Chyba pripojenia k úložisku. %s", "Storage is temporarily not available" : "Úložisko je dočasne nedostupné", "Storage connection timeout. %s" : "Vypršanie pripojenia k úložisku. %s", + "Full name" : "Celé meno", "%s enter the database username and name." : "%s zadajte používateľské meno a meno databázy", "%s enter the database username." : "Zadajte používateľské meno %s databázy.", "%s enter the database name." : "Zadajte názov databázy pre %s databázy.", diff --git a/lib/l10n/sk.json b/lib/l10n/sk.json index 5cc925c698f..5262942f60b 100644 --- a/lib/l10n/sk.json +++ b/lib/l10n/sk.json @@ -111,7 +111,6 @@ "Address" : "Adresa", "Profile picture" : "Profilový obrázok", "About" : "O aplikácii", - "Full name" : "Celé meno", "Headline" : "Titulok", "Organisation" : "Organizácia", "Role" : "Rola", @@ -261,6 +260,7 @@ "Storage connection error. %s" : "Chyba pripojenia k úložisku. %s", "Storage is temporarily not available" : "Úložisko je dočasne nedostupné", "Storage connection timeout. %s" : "Vypršanie pripojenia k úložisku. %s", + "Full name" : "Celé meno", "%s enter the database username and name." : "%s zadajte používateľské meno a meno databázy", "%s enter the database username." : "Zadajte používateľské meno %s databázy.", "%s enter the database name." : "Zadajte názov databázy pre %s databázy.", diff --git a/lib/l10n/sl.js b/lib/l10n/sl.js index 5e04c0f74ef..08ee03532e5 100644 --- a/lib/l10n/sl.js +++ b/lib/l10n/sl.js @@ -103,7 +103,7 @@ OC.L10N.register( "Address" : "Naslov", "Profile picture" : "Slika profila", "About" : "O programu", - "Full name" : "Polno ime", + "Display name" : "Prikazno ime", "Headline" : "Naslov", "Organisation" : "Ustanova", "Role" : "Vloga", @@ -227,6 +227,7 @@ OC.L10N.register( "Storage connection error. %s" : "Napaka povezave do shrambe. %s", "Storage is temporarily not available" : "Shramba trenutno ni na voljo", "Storage connection timeout. %s" : "Povezava do shrambe je časovno potekla. %s", + "Full name" : "Polno ime", "%s enter the database username and name." : "%s – vnos uporabniškega imena in imena podatkovne zbirke.", "%s enter the database username." : "%s – vnos uporabniškega imena podatkovne zbirke.", "%s enter the database name." : "%s – vnos imena podatkovne zbirke.", diff --git a/lib/l10n/sl.json b/lib/l10n/sl.json index 6252d381677..84b0878741a 100644 --- a/lib/l10n/sl.json +++ b/lib/l10n/sl.json @@ -101,7 +101,7 @@ "Address" : "Naslov", "Profile picture" : "Slika profila", "About" : "O programu", - "Full name" : "Polno ime", + "Display name" : "Prikazno ime", "Headline" : "Naslov", "Organisation" : "Ustanova", "Role" : "Vloga", @@ -225,6 +225,7 @@ "Storage connection error. %s" : "Napaka povezave do shrambe. %s", "Storage is temporarily not available" : "Shramba trenutno ni na voljo", "Storage connection timeout. %s" : "Povezava do shrambe je časovno potekla. %s", + "Full name" : "Polno ime", "%s enter the database username and name." : "%s – vnos uporabniškega imena in imena podatkovne zbirke.", "%s enter the database username." : "%s – vnos uporabniškega imena podatkovne zbirke.", "%s enter the database name." : "%s – vnos imena podatkovne zbirke.", diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js index c9383f49e08..630137ed9bb 100644 --- a/lib/l10n/sq.js +++ b/lib/l10n/sq.js @@ -58,7 +58,6 @@ OC.L10N.register( "Address" : "Adresa", "Profile picture" : "Foto profili", "About" : "Rreth ", - "Full name" : "Emri i plotë", "Unknown user" : "Përdorues i panjohur", "Additional settings" : "Konfigurime shtesë", "You need to enter details of an existing account." : "Duhet të futni detajet e një llogarie ekzistuese.", @@ -158,6 +157,7 @@ OC.L10N.register( "Storage connection error. %s" : "Gabim lidhje te depozita. %s", "Storage is temporarily not available" : "Hapsira ruajtëse nuk është në dispozicion përkohësisht", "Storage connection timeout. %s" : "Mbarim kohe lidhjeje për depozitën. %s", + "Full name" : "Emri i plotë", "%s enter the database username and name." : "%s jepni emrin e bazës së të dhënave dhe emrin e përdoruesit për të.", "%s enter the database username." : "%s jepni emrin e përdoruesit të bazës së të dhënave.", "%s enter the database name." : "%s jepni emrin e bazës së të dhënave.", diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json index 56ef01fd4bb..152ed895999 100644 --- a/lib/l10n/sq.json +++ b/lib/l10n/sq.json @@ -56,7 +56,6 @@ "Address" : "Adresa", "Profile picture" : "Foto profili", "About" : "Rreth ", - "Full name" : "Emri i plotë", "Unknown user" : "Përdorues i panjohur", "Additional settings" : "Konfigurime shtesë", "You need to enter details of an existing account." : "Duhet të futni detajet e një llogarie ekzistuese.", @@ -156,6 +155,7 @@ "Storage connection error. %s" : "Gabim lidhje te depozita. %s", "Storage is temporarily not available" : "Hapsira ruajtëse nuk është në dispozicion përkohësisht", "Storage connection timeout. %s" : "Mbarim kohe lidhjeje për depozitën. %s", + "Full name" : "Emri i plotë", "%s enter the database username and name." : "%s jepni emrin e bazës së të dhënave dhe emrin e përdoruesit për të.", "%s enter the database username." : "%s jepni emrin e përdoruesit të bazës së të dhënave.", "%s enter the database name." : "%s jepni emrin e bazës së të dhënave.", diff --git a/lib/l10n/sr.js b/lib/l10n/sr.js index dede3ddc4b4..997ff4804e9 100644 --- a/lib/l10n/sr.js +++ b/lib/l10n/sr.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "Адреса", "Profile picture" : "Слика профила", "About" : "О програму", - "Full name" : "Пуно име", + "Display name" : "Име за приказ", "Headline" : "Наслов", "Organisation" : "Организација", "Role" : "Улога", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Грешка приликом повезивања на складиште. %s", "Storage is temporarily not available" : "Складиште привремено није доступно", "Storage connection timeout. %s" : "Истекло је време за повезивање на складиште. %s", + "Full name" : "Пуно име", "%s enter the database username and name." : "%s унеси корисничко име базе података и име.", "%s enter the database username." : "%s унеси корисничко име базе података.", "%s enter the database name." : "%s унеси име базе података.", diff --git a/lib/l10n/sr.json b/lib/l10n/sr.json index 40e73ae8a5a..6f2815ff4a8 100644 --- a/lib/l10n/sr.json +++ b/lib/l10n/sr.json @@ -112,7 +112,7 @@ "Address" : "Адреса", "Profile picture" : "Слика профила", "About" : "О програму", - "Full name" : "Пуно име", + "Display name" : "Име за приказ", "Headline" : "Наслов", "Organisation" : "Организација", "Role" : "Улога", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Грешка приликом повезивања на складиште. %s", "Storage is temporarily not available" : "Складиште привремено није доступно", "Storage connection timeout. %s" : "Истекло је време за повезивање на складиште. %s", + "Full name" : "Пуно име", "%s enter the database username and name." : "%s унеси корисничко име базе података и име.", "%s enter the database username." : "%s унеси корисничко име базе података.", "%s enter the database name." : "%s унеси име базе података.", diff --git a/lib/l10n/sv.js b/lib/l10n/sv.js index 68d08b0ad5d..a03d4e2318b 100644 --- a/lib/l10n/sv.js +++ b/lib/l10n/sv.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "Adress", "Profile picture" : "Profilbild", "About" : "Om", - "Full name" : "Fullständigt namn", + "Display name" : "Visningsnamn", "Headline" : "Rubrik", "Organisation" : "Organisation", "Role" : "Roll", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "Lagringsutrymme lyckas inte ansluta. %s", "Storage is temporarily not available" : "Lagringsutrymme är för tillfället inte tillgängligt", "Storage connection timeout. %s" : "Lagringsutrymme lyckas inte ansluta \"timeout\". %s", + "Full name" : "Fullständigt namn", "%s enter the database username and name." : "%s ange användarnamn och namn för databasen.", "%s enter the database username." : "%s ange databasanvändare.", "%s enter the database name." : "%s ange databasnamn", diff --git a/lib/l10n/sv.json b/lib/l10n/sv.json index 3e4fc291c5c..8519d69ebf2 100644 --- a/lib/l10n/sv.json +++ b/lib/l10n/sv.json @@ -112,7 +112,7 @@ "Address" : "Adress", "Profile picture" : "Profilbild", "About" : "Om", - "Full name" : "Fullständigt namn", + "Display name" : "Visningsnamn", "Headline" : "Rubrik", "Organisation" : "Organisation", "Role" : "Roll", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "Lagringsutrymme lyckas inte ansluta. %s", "Storage is temporarily not available" : "Lagringsutrymme är för tillfället inte tillgängligt", "Storage connection timeout. %s" : "Lagringsutrymme lyckas inte ansluta \"timeout\". %s", + "Full name" : "Fullständigt namn", "%s enter the database username and name." : "%s ange användarnamn och namn för databasen.", "%s enter the database username." : "%s ange databasanvändare.", "%s enter the database name." : "%s ange databasnamn", diff --git a/lib/l10n/th.js b/lib/l10n/th.js index 761867045b2..8a3f998d312 100644 --- a/lib/l10n/th.js +++ b/lib/l10n/th.js @@ -56,7 +56,7 @@ OC.L10N.register( "Address" : "ที่อยู่", "Profile picture" : "รูปภาพโปรไฟล์", "About" : "เกี่ยวกับ", - "Full name" : "ชื่อเต็ม", + "Display name" : "ชื่อที่แสดง", "Unknown user" : "ผู้ใช้ที่ไม่รู้จัก", "Additional settings" : "การตั้งค่าเพิ่มเติม", "Oracle connection could not be established" : "ไม่สามารถสร้างการเชื่อมต่อกับ Oracle ", @@ -151,6 +151,7 @@ OC.L10N.register( "Storage connection error. %s" : "ข้อผิดพลาดการเชื่อมต่อพื้นที่จัดเก็บข้อมูล %s", "Storage is temporarily not available" : "พื้นที่จัดเก็บข้อมูลไม่สามารถใช้งานได้ชั่วคราว", "Storage connection timeout. %s" : "หมดเวลาการเชื่อมต่อพื้นที่จัดเก็บข้อมูล %s", + "Full name" : "ชื่อเต็ม", "%s enter the database username and name." : "%s ป้อนชื่อผู้ใช้ฐานข้อมูล และชื่อ", "%s enter the database username." : "%s ใส่ชื่อผู้ใช้ฐานข้อมูล", "%s enter the database name." : "%s ใส่ชื่อฐานข้อมูล", diff --git a/lib/l10n/th.json b/lib/l10n/th.json index ad120c80e7d..be052dec020 100644 --- a/lib/l10n/th.json +++ b/lib/l10n/th.json @@ -54,7 +54,7 @@ "Address" : "ที่อยู่", "Profile picture" : "รูปภาพโปรไฟล์", "About" : "เกี่ยวกับ", - "Full name" : "ชื่อเต็ม", + "Display name" : "ชื่อที่แสดง", "Unknown user" : "ผู้ใช้ที่ไม่รู้จัก", "Additional settings" : "การตั้งค่าเพิ่มเติม", "Oracle connection could not be established" : "ไม่สามารถสร้างการเชื่อมต่อกับ Oracle ", @@ -149,6 +149,7 @@ "Storage connection error. %s" : "ข้อผิดพลาดการเชื่อมต่อพื้นที่จัดเก็บข้อมูล %s", "Storage is temporarily not available" : "พื้นที่จัดเก็บข้อมูลไม่สามารถใช้งานได้ชั่วคราว", "Storage connection timeout. %s" : "หมดเวลาการเชื่อมต่อพื้นที่จัดเก็บข้อมูล %s", + "Full name" : "ชื่อเต็ม", "%s enter the database username and name." : "%s ป้อนชื่อผู้ใช้ฐานข้อมูล และชื่อ", "%s enter the database username." : "%s ใส่ชื่อผู้ใช้ฐานข้อมูล", "%s enter the database name." : "%s ใส่ชื่อฐานข้อมูล", diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js index 68f7a2b95ad..c00873d949f 100644 --- a/lib/l10n/tr.js +++ b/lib/l10n/tr.js @@ -114,7 +114,6 @@ OC.L10N.register( "Address" : "Adres", "Profile picture" : "Profil görseli", "About" : "Hakkında", - "Full name" : "Tam ad", "Headline" : "Başlık", "Organisation" : "Kuruluş", "Role" : "Pozisyon", @@ -265,6 +264,7 @@ OC.L10N.register( "Storage connection error. %s" : "Depolama bağlantısı sorunu. %s", "Storage is temporarily not available" : "Depolama geçici olarak kullanılamıyor", "Storage connection timeout. %s" : "Depolama bağlantısı zaman aşımı. %s", + "Full name" : "Tam ad", "%s enter the database username and name." : "%s veri tabanı adını ve kullanıcı adını yazın.", "%s enter the database username." : "%s veri tabanı kullanıcı adını yazın.", "%s enter the database name." : "%s veri tabanı adını yazın.", diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json index 3cdc68a088f..2c2c47c9e81 100644 --- a/lib/l10n/tr.json +++ b/lib/l10n/tr.json @@ -112,7 +112,6 @@ "Address" : "Adres", "Profile picture" : "Profil görseli", "About" : "Hakkında", - "Full name" : "Tam ad", "Headline" : "Başlık", "Organisation" : "Kuruluş", "Role" : "Pozisyon", @@ -263,6 +262,7 @@ "Storage connection error. %s" : "Depolama bağlantısı sorunu. %s", "Storage is temporarily not available" : "Depolama geçici olarak kullanılamıyor", "Storage connection timeout. %s" : "Depolama bağlantısı zaman aşımı. %s", + "Full name" : "Tam ad", "%s enter the database username and name." : "%s veri tabanı adını ve kullanıcı adını yazın.", "%s enter the database username." : "%s veri tabanı kullanıcı adını yazın.", "%s enter the database name." : "%s veri tabanı adını yazın.", diff --git a/lib/l10n/uk.js b/lib/l10n/uk.js index 1cb950fd698..4f298930c3f 100644 --- a/lib/l10n/uk.js +++ b/lib/l10n/uk.js @@ -112,12 +112,11 @@ OC.L10N.register( "Address" : "Адреса", "Profile picture" : "Зображення облікового запису", "About" : "Опис", - "Full name" : "Повна назва", "Headline" : "Заголовок", "Organisation" : "Організація", "Role" : "Роль", "Unknown user" : "Невідомий користувач", - "Additional settings" : "Додаткові налаштування", + "Additional settings" : "Додатково", "Enter the database username and name for %s" : "Введіть ім’я користувача та назву бази даних %s", "Enter the database username for %s" : "Введіть ім’я користувача бази даних для %s", "Enter the database name for %s" : "Введіть назву бази даних для %s", @@ -263,6 +262,7 @@ OC.L10N.register( "Storage connection error. %s" : "Помилка з'єднання зі сховищем. %s", "Storage is temporarily not available" : "Сховище тимчасово недоступне", "Storage connection timeout. %s" : "Час під'єднання до сховища вичерпався. %s", + "Full name" : "Повна назва", "%s enter the database username and name." : "%s введіть назву бази даних та ім'я користувача.", "%s enter the database username." : "%s введіть ім'я користувача бази даних.", "%s enter the database name." : "%s введіть назву бази даних.", diff --git a/lib/l10n/uk.json b/lib/l10n/uk.json index 7e3dc7e9cbe..8e26062359f 100644 --- a/lib/l10n/uk.json +++ b/lib/l10n/uk.json @@ -110,12 +110,11 @@ "Address" : "Адреса", "Profile picture" : "Зображення облікового запису", "About" : "Опис", - "Full name" : "Повна назва", "Headline" : "Заголовок", "Organisation" : "Організація", "Role" : "Роль", "Unknown user" : "Невідомий користувач", - "Additional settings" : "Додаткові налаштування", + "Additional settings" : "Додатково", "Enter the database username and name for %s" : "Введіть ім’я користувача та назву бази даних %s", "Enter the database username for %s" : "Введіть ім’я користувача бази даних для %s", "Enter the database name for %s" : "Введіть назву бази даних для %s", @@ -261,6 +260,7 @@ "Storage connection error. %s" : "Помилка з'єднання зі сховищем. %s", "Storage is temporarily not available" : "Сховище тимчасово недоступне", "Storage connection timeout. %s" : "Час під'єднання до сховища вичерпався. %s", + "Full name" : "Повна назва", "%s enter the database username and name." : "%s введіть назву бази даних та ім'я користувача.", "%s enter the database username." : "%s введіть ім'я користувача бази даних.", "%s enter the database name." : "%s введіть назву бази даних.", diff --git a/lib/l10n/uz.js b/lib/l10n/uz.js index efbd83306a4..66304ff84dc 100644 --- a/lib/l10n/uz.js +++ b/lib/l10n/uz.js @@ -16,11 +16,11 @@ OC.L10N.register( "Address" : "Address", "Profile picture" : "Profil rasmi", "About" : "About", - "Full name" : "Full name", "Unknown user" : "Unknown user", "Set an admin password." : "Set an admin password.", "January" : "January", "Authentication error" : "Authentication error", - "Storage is temporarily not available" : "Storage is temporarily not available" + "Storage is temporarily not available" : "Storage is temporarily not available", + "Full name" : "Full name" }, "nplurals=1; plural=0;"); diff --git a/lib/l10n/uz.json b/lib/l10n/uz.json index 2fe0d108dcc..083f124fd7b 100644 --- a/lib/l10n/uz.json +++ b/lib/l10n/uz.json @@ -14,11 +14,11 @@ "Address" : "Address", "Profile picture" : "Profil rasmi", "About" : "About", - "Full name" : "Full name", "Unknown user" : "Unknown user", "Set an admin password." : "Set an admin password.", "January" : "January", "Authentication error" : "Authentication error", - "Storage is temporarily not available" : "Storage is temporarily not available" + "Storage is temporarily not available" : "Storage is temporarily not available", + "Full name" : "Full name" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/lib/l10n/vi.js b/lib/l10n/vi.js index 129563e1ce9..a4c189cbf31 100644 --- a/lib/l10n/vi.js +++ b/lib/l10n/vi.js @@ -46,7 +46,6 @@ OC.L10N.register( "Address" : "Địa chỉ", "Profile picture" : "Ảnh đại diện", "About" : "Giới thiệu", - "Full name" : "Tên đầy đủ", "Unknown user" : "Người dùng không tồn tại", "Additional settings" : "Cài đặt bổ sung", "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Hãy xóa thiết lập open_basedir tại tập tin cấu hình php.ini hoặc chuyển sang dùng PHP 64-bit.", @@ -100,6 +99,7 @@ OC.L10N.register( "Authentication error" : "Lỗi xác thực", "Token expired. Please reload page." : "Mã Token đã hết hạn. Hãy tải lại trang.", "PHP module %s not installed." : "PHP mô đun %s chưa được cài đặt", - "Storage is temporarily not available" : "Kho lưu trữ tạm thời không khả dụng" + "Storage is temporarily not available" : "Kho lưu trữ tạm thời không khả dụng", + "Full name" : "Tên đầy đủ" }, "nplurals=1; plural=0;"); diff --git a/lib/l10n/vi.json b/lib/l10n/vi.json index 9ab7ac5bc03..3bc1a78d1db 100644 --- a/lib/l10n/vi.json +++ b/lib/l10n/vi.json @@ -44,7 +44,6 @@ "Address" : "Địa chỉ", "Profile picture" : "Ảnh đại diện", "About" : "Giới thiệu", - "Full name" : "Tên đầy đủ", "Unknown user" : "Người dùng không tồn tại", "Additional settings" : "Cài đặt bổ sung", "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Hãy xóa thiết lập open_basedir tại tập tin cấu hình php.ini hoặc chuyển sang dùng PHP 64-bit.", @@ -98,6 +97,7 @@ "Authentication error" : "Lỗi xác thực", "Token expired. Please reload page." : "Mã Token đã hết hạn. Hãy tải lại trang.", "PHP module %s not installed." : "PHP mô đun %s chưa được cài đặt", - "Storage is temporarily not available" : "Kho lưu trữ tạm thời không khả dụng" + "Storage is temporarily not available" : "Kho lưu trữ tạm thời không khả dụng", + "Full name" : "Tên đầy đủ" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js index cbe5bbc7add..05e7f2b9d36 100644 --- a/lib/l10n/zh_CN.js +++ b/lib/l10n/zh_CN.js @@ -111,7 +111,7 @@ OC.L10N.register( "Address" : "地址", "Profile picture" : "个人资料图片 ", "About" : "关于", - "Full name" : "全名", + "Display name" : "显示用户名", "Headline" : "标题", "Organisation" : "组织", "Role" : "角色", @@ -260,6 +260,7 @@ OC.L10N.register( "Storage connection error. %s" : "存储连接错误。%s", "Storage is temporarily not available" : "存储暂时不可用", "Storage connection timeout. %s" : "存储连接超时。%s", + "Full name" : "全名", "%s enter the database username and name." : "%s 输入数据库用户名和名称。", "%s enter the database username." : "%s 输入数据库用户名。", "%s enter the database name." : "%s 输入数据库名称。", diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json index 2ec22c93f70..a054fee5a9d 100644 --- a/lib/l10n/zh_CN.json +++ b/lib/l10n/zh_CN.json @@ -109,7 +109,7 @@ "Address" : "地址", "Profile picture" : "个人资料图片 ", "About" : "关于", - "Full name" : "全名", + "Display name" : "显示用户名", "Headline" : "标题", "Organisation" : "组织", "Role" : "角色", @@ -258,6 +258,7 @@ "Storage connection error. %s" : "存储连接错误。%s", "Storage is temporarily not available" : "存储暂时不可用", "Storage connection timeout. %s" : "存储连接超时。%s", + "Full name" : "全名", "%s enter the database username and name." : "%s 输入数据库用户名和名称。", "%s enter the database username." : "%s 输入数据库用户名。", "%s enter the database name." : "%s 输入数据库名称。", diff --git a/lib/l10n/zh_HK.js b/lib/l10n/zh_HK.js index 25f8b689964..195d88280cb 100644 --- a/lib/l10n/zh_HK.js +++ b/lib/l10n/zh_HK.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "地址", "Profile picture" : "個人資料圖片", "About" : "關於", - "Full name" : "全名", + "Display name" : "顯示名稱", "Headline" : "標題", "Organisation" : "機構", "Role" : "角色", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "儲存空間連線錯誤。%s", "Storage is temporarily not available" : "儲存空間暫時無法使用", "Storage connection timeout. %s" : "儲存空間連線逾時。%s", + "Full name" : "全名", "%s enter the database username and name." : "%s 輸入數據庫名稱及用戶名稱", "%s enter the database username." : "%s 輸入數據庫用戶名稱", "%s enter the database name." : "%s 輸入數據庫名稱", diff --git a/lib/l10n/zh_HK.json b/lib/l10n/zh_HK.json index e8ac152decc..2b4864cc19a 100644 --- a/lib/l10n/zh_HK.json +++ b/lib/l10n/zh_HK.json @@ -112,7 +112,7 @@ "Address" : "地址", "Profile picture" : "個人資料圖片", "About" : "關於", - "Full name" : "全名", + "Display name" : "顯示名稱", "Headline" : "標題", "Organisation" : "機構", "Role" : "角色", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "儲存空間連線錯誤。%s", "Storage is temporarily not available" : "儲存空間暫時無法使用", "Storage connection timeout. %s" : "儲存空間連線逾時。%s", + "Full name" : "全名", "%s enter the database username and name." : "%s 輸入數據庫名稱及用戶名稱", "%s enter the database username." : "%s 輸入數據庫用戶名稱", "%s enter the database name." : "%s 輸入數據庫名稱", diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js index 34eb10a15b0..80b3a3bca93 100644 --- a/lib/l10n/zh_TW.js +++ b/lib/l10n/zh_TW.js @@ -114,7 +114,7 @@ OC.L10N.register( "Address" : "地址", "Profile picture" : "個人檔案圖片", "About" : "關於", - "Full name" : "全名", + "Display name" : "顯示名稱", "Headline" : "標題", "Organisation" : "組織", "Role" : "角色", @@ -265,6 +265,7 @@ OC.L10N.register( "Storage connection error. %s" : "儲存空間連線錯誤。%s", "Storage is temporarily not available" : "儲存空間暫時無法使用", "Storage connection timeout. %s" : "儲存空間連線逾時。%s", + "Full name" : "全名", "%s enter the database username and name." : "%s 輸入資料庫名稱及使用者名稱", "%s enter the database username." : "%s 輸入資料庫使用者名稱", "%s enter the database name." : "%s 輸入資料庫名稱", diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json index 71216a20a04..5c1965d64b1 100644 --- a/lib/l10n/zh_TW.json +++ b/lib/l10n/zh_TW.json @@ -112,7 +112,7 @@ "Address" : "地址", "Profile picture" : "個人檔案圖片", "About" : "關於", - "Full name" : "全名", + "Display name" : "顯示名稱", "Headline" : "標題", "Organisation" : "組織", "Role" : "角色", @@ -263,6 +263,7 @@ "Storage connection error. %s" : "儲存空間連線錯誤。%s", "Storage is temporarily not available" : "儲存空間暫時無法使用", "Storage connection timeout. %s" : "儲存空間連線逾時。%s", + "Full name" : "全名", "%s enter the database username and name." : "%s 輸入資料庫名稱及使用者名稱", "%s enter the database username." : "%s 輸入資料庫使用者名稱", "%s enter the database name." : "%s 輸入資料庫名稱", diff --git a/lib/private/AppFramework/Bootstrap/RegistrationContext.php b/lib/private/AppFramework/Bootstrap/RegistrationContext.php index 9a6c298419a..8fcafab2d87 100644 --- a/lib/private/AppFramework/Bootstrap/RegistrationContext.php +++ b/lib/private/AppFramework/Bootstrap/RegistrationContext.php @@ -33,6 +33,7 @@ use Closure; use OCP\Calendar\Resource\IBackend as IResourceBackend; use OCP\Calendar\Room\IBackend as IRoomBackend; use OCP\Collaboration\Reference\IReferenceProvider; +use OCP\SpeechToText\ISpeechToTextProvider; use OCP\Talk\ITalkBackend; use OCP\Translation\ITranslationProvider; use RuntimeException; @@ -111,6 +112,9 @@ class RegistrationContext { /** @var ServiceRegistration<IHandler>[] */ private $wellKnownHandlers = []; + /** @var ServiceRegistration<ISpeechToTextProvider>[] */ + private $speechToTextProviders = []; + /** @var ServiceRegistration<ICustomTemplateProvider>[] */ private $templateProviders = []; @@ -252,6 +256,13 @@ class RegistrationContext { ); } + public function registerSpeechToTextProvider(string $providerClass): void { + $this->context->registerSpeechToTextProvider( + $this->appId, + $providerClass + ); + } + public function registerTemplateProvider(string $providerClass): void { $this->context->registerTemplateProvider( $this->appId, @@ -414,6 +425,10 @@ class RegistrationContext { $this->wellKnownHandlers[] = new ServiceRegistration($appId, $class); } + public function registerSpeechToTextProvider(string $appId, string $class): void { + $this->speechToTextProviders[] = new ServiceRegistration($appId, $class); + } + public function registerTemplateProvider(string $appId, string $class): void { $this->templateProviders[] = new ServiceRegistration($appId, $class); } @@ -686,6 +701,13 @@ class RegistrationContext { } /** + * @return ServiceRegistration<ISpeechToTextProvider>[] + */ + public function getSpeechToTextProviders(): array { + return $this->speechToTextProviders; + } + + /** * @return ServiceRegistration<ICustomTemplateProvider>[] */ public function getTemplateProviders(): array { diff --git a/lib/private/AppFramework/Middleware/Security/Exceptions/StrictCookieMissingException.php b/lib/private/AppFramework/Middleware/Security/Exceptions/StrictCookieMissingException.php index eca03896953..28092331a22 100644 --- a/lib/private/AppFramework/Middleware/Security/Exceptions/StrictCookieMissingException.php +++ b/lib/private/AppFramework/Middleware/Security/Exceptions/StrictCookieMissingException.php @@ -1,4 +1,7 @@ <?php + +declare(strict_types=1); + /** * @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch> * diff --git a/lib/private/Authentication/Token/PublicKeyTokenProvider.php b/lib/private/Authentication/Token/PublicKeyTokenProvider.php index 6e3bcec5c99..f5fcd4dcef2 100644 --- a/lib/private/Authentication/Token/PublicKeyTokenProvider.php +++ b/lib/private/Authentication/Token/PublicKeyTokenProvider.php @@ -327,18 +327,20 @@ class PublicKeyTokenProvider implements IProvider { throw new InvalidTokenException("Invalid token type"); } - // When changing passwords all temp tokens are deleted - $this->mapper->deleteTempToken($token); - - // Update the password for all tokens - $tokens = $this->mapper->getTokenByUser($token->getUID()); - $hashedPassword = $this->hashPassword($password); - foreach ($tokens as $t) { - $publicKey = $t->getPublicKey(); - $t->setPassword($this->encryptPassword($password, $publicKey)); - $t->setPasswordHash($hashedPassword); - $this->updateToken($t); - } + $this->atomic(function () use ($password, $token) { + // When changing passwords all temp tokens are deleted + $this->mapper->deleteTempToken($token); + + // Update the password for all tokens + $tokens = $this->mapper->getTokenByUser($token->getUID()); + $hashedPassword = $this->hashPassword($password); + foreach ($tokens as $t) { + $publicKey = $t->getPublicKey(); + $t->setPassword($this->encryptPassword($password, $publicKey)); + $t->setPasswordHash($hashedPassword); + $this->updateToken($t); + } + }, $this->db); } private function hashPassword(string $password): string { @@ -489,49 +491,51 @@ class PublicKeyTokenProvider implements IProvider { return; } - // Update the password for all tokens - $tokens = $this->mapper->getTokenByUser($uid); - $newPasswordHash = null; - - /** - * - true: The password hash could not be verified anymore - * and the token needs to be updated with the newly encrypted password - * - false: The hash could still be verified - * - missing: The hash needs to be verified - */ - $hashNeedsUpdate = []; - - foreach ($tokens as $t) { - if (!isset($hashNeedsUpdate[$t->getPasswordHash()])) { - if ($t->getPasswordHash() === null) { - $hashNeedsUpdate[$t->getPasswordHash() ?: ''] = true; - } elseif (!$this->hasher->verify(sha1($password) . $password, $t->getPasswordHash())) { - $hashNeedsUpdate[$t->getPasswordHash() ?: ''] = true; - } else { - $hashNeedsUpdate[$t->getPasswordHash() ?: ''] = false; + $this->atomic(function () use ($password, $uid) { + // Update the password for all tokens + $tokens = $this->mapper->getTokenByUser($uid); + $newPasswordHash = null; + + /** + * - true: The password hash could not be verified anymore + * and the token needs to be updated with the newly encrypted password + * - false: The hash could still be verified + * - missing: The hash needs to be verified + */ + $hashNeedsUpdate = []; + + foreach ($tokens as $t) { + if (!isset($hashNeedsUpdate[$t->getPasswordHash()])) { + if ($t->getPasswordHash() === null) { + $hashNeedsUpdate[$t->getPasswordHash() ?: ''] = true; + } elseif (!$this->hasher->verify(sha1($password) . $password, $t->getPasswordHash())) { + $hashNeedsUpdate[$t->getPasswordHash() ?: ''] = true; + } else { + $hashNeedsUpdate[$t->getPasswordHash() ?: ''] = false; + } } - } - $needsUpdating = $hashNeedsUpdate[$t->getPasswordHash() ?: ''] ?? true; - - if ($needsUpdating) { - if ($newPasswordHash === null) { - $newPasswordHash = $this->hashPassword($password); + $needsUpdating = $hashNeedsUpdate[$t->getPasswordHash() ?: ''] ?? true; + + if ($needsUpdating) { + if ($newPasswordHash === null) { + $newPasswordHash = $this->hashPassword($password); + } + + $publicKey = $t->getPublicKey(); + $t->setPassword($this->encryptPassword($password, $publicKey)); + $t->setPasswordHash($newPasswordHash); + $t->setPasswordInvalid(false); + $this->updateToken($t); } - - $publicKey = $t->getPublicKey(); - $t->setPassword($this->encryptPassword($password, $publicKey)); - $t->setPasswordHash($newPasswordHash); - $t->setPasswordInvalid(false); - $this->updateToken($t); } - } - // If password hashes are different we update them all to be equal so - // that the next execution only needs to verify once - if (count($hashNeedsUpdate) > 1) { - $newPasswordHash = $this->hashPassword($password); - $this->mapper->updateHashesForUser($uid, $newPasswordHash); - } + // If password hashes are different we update them all to be equal so + // that the next execution only needs to verify once + if (count($hashNeedsUpdate) > 1) { + $newPasswordHash = $this->hashPassword($password); + $this->mapper->updateHashesForUser($uid, $newPasswordHash); + } + }, $this->db); } private function logOpensslError() { diff --git a/lib/private/Console/TimestampFormatter.php b/lib/private/Console/TimestampFormatter.php index c25ed578805..8d74c28e94f 100644 --- a/lib/private/Console/TimestampFormatter.php +++ b/lib/private/Console/TimestampFormatter.php @@ -94,11 +94,11 @@ class TimestampFormatter implements OutputFormatterInterface { /** * Formats a message according to the given styles. * - * @param string $message The message to style - * @return string The styled message, prepended with a timestamp using the + * @param string|null $message The message to style + * @return string|null The styled message, prepended with a timestamp using the * log timezone and dateformat, e.g. "2015-06-23T17:24:37+02:00" */ - public function format($message) { + public function format(?string $message): ?string { if (!$this->formatter->isDecorated()) { // Don't add anything to the output when we shouldn't return $this->formatter->format($message); diff --git a/lib/private/Files/Cache/Scanner.php b/lib/private/Files/Cache/Scanner.php index 05e24287a7d..d390037d0b8 100644 --- a/lib/private/Files/Cache/Scanner.php +++ b/lib/private/Files/Cache/Scanner.php @@ -38,6 +38,7 @@ namespace OC\Files\Cache; use Doctrine\DBAL\Exception; use OCP\Files\Cache\IScanner; use OCP\Files\ForbiddenException; +use OCP\Files\NotFoundException; use OCP\Files\Storage\IReliableEtagStorage; use OCP\Lock\ILockingProvider; use OC\Files\Storage\Wrapper\Encoding; @@ -328,10 +329,15 @@ class Scanner extends BasicEmitter implements IScanner { } } try { - $data = $this->scanFile($path, $reuse, -1, null, $lock); - if ($data && $data['mimetype'] === 'httpd/unix-directory') { - $size = $this->scanChildren($path, $recursive, $reuse, $data['fileid'], $lock, $data); - $data['size'] = $size; + try { + $data = $this->scanFile($path, $reuse, -1, null, $lock); + if ($data && $data['mimetype'] === 'httpd/unix-directory') { + $size = $this->scanChildren($path, $recursive, $reuse, $data['fileid'], $lock, $data); + $data['size'] = $size; + } + } catch (NotFoundException $e) { + $this->removeFromCache($path); + return null; } } finally { if ($lock) { diff --git a/lib/private/Files/Node/Node.php b/lib/private/Files/Node/Node.php index 2f88cc3a15a..0eef2716141 100644 --- a/lib/private/Files/Node/Node.php +++ b/lib/private/Files/Node/Node.php @@ -37,6 +37,7 @@ use OCP\Files\InvalidPathException; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; use OCP\Lock\LockedException; +use OCP\PreConditionNotMetException; use Symfony\Component\EventDispatcher\GenericEvent; // FIXME: this class really should be abstract @@ -52,7 +53,7 @@ class Node implements \OCP\Files\Node { protected $root; /** - * @var string $path + * @var string $path Absolute path to the node (e.g. /admin/files/folder/file) */ protected $path; @@ -72,6 +73,9 @@ class Node implements \OCP\Files\Node { * @param FileInfo $fileInfo */ public function __construct($root, $view, $path, $fileInfo = null, ?Node $parent = null, bool $infoHasSubMountsIncluded = true) { + if (Filesystem::normalizePath($view->getRoot()) !== '/') { + throw new PreConditionNotMetException('The view passed to the node should not have any fake root set'); + } $this->view = $view; $this->root = $root; $this->path = $path; diff --git a/lib/private/Files/ObjectStore/ObjectStoreStorage.php b/lib/private/Files/ObjectStore/ObjectStoreStorage.php index 4ca00cf6a16..921c50fd958 100644 --- a/lib/private/Files/ObjectStore/ObjectStoreStorage.php +++ b/lib/private/Files/ObjectStore/ObjectStoreStorage.php @@ -27,6 +27,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ + namespace OC\Files\ObjectStore; use Aws\S3\Exception\S3Exception; @@ -97,6 +98,7 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common implements IChunkedFil public function mkdir($path) { $path = $this->normalizePath($path); if ($this->file_exists($path)) { + $this->logger->warning("Tried to create an object store folder that already exists: $path"); return false; } @@ -120,10 +122,12 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common implements IChunkedFil if ($parentType === false) { if (!$this->mkdir($parent)) { // something went wrong + $this->logger->warning("Parent folder ($parent) doesn't exist and couldn't be created"); return false; } } elseif ($parentType === 'file') { // parent is a file + $this->logger->warning("Parent ($parent) is a file"); return false; } // finally create the new dir @@ -177,63 +181,65 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common implements IChunkedFil public function rmdir($path) { $path = $this->normalizePath($path); + $entry = $this->getCache()->get($path); - if (!$this->is_dir($path)) { - return false; - } - - if (!$this->rmObjects($path)) { + if (!$entry || $entry->getMimeType() !== ICacheEntry::DIRECTORY_MIMETYPE) { return false; } - $this->getCache()->remove($path); - - return true; + return $this->rmObjects($entry); } - private function rmObjects($path) { - $children = $this->getCache()->getFolderContents($path); + private function rmObjects(ICacheEntry $entry): bool { + $children = $this->getCache()->getFolderContentsById($entry->getId()); foreach ($children as $child) { - if ($child['mimetype'] === 'httpd/unix-directory') { - if (!$this->rmObjects($child['path'])) { + if ($child->getMimeType() === ICacheEntry::DIRECTORY_MIMETYPE) { + if (!$this->rmObjects($child)) { return false; } } else { - if (!$this->unlink($child['path'])) { + if (!$this->rmObject($child)) { return false; } } } + $this->getCache()->remove($entry->getPath()); + return true; } public function unlink($path) { $path = $this->normalizePath($path); - $stat = $this->stat($path); + $entry = $this->getCache()->get($path); - if ($stat && isset($stat['fileid'])) { - if ($stat['mimetype'] === 'httpd/unix-directory') { - return $this->rmdir($path); - } - try { - $this->objectStore->deleteObject($this->getURN($stat['fileid'])); - } catch (\Exception $ex) { - if ($ex->getCode() !== 404) { - $this->logger->logException($ex, [ - 'app' => 'objectstore', - 'message' => 'Could not delete object ' . $this->getURN($stat['fileid']) . ' for ' . $path, - ]); - return false; - } - //removing from cache is ok as it does not exist in the objectstore anyway + if ($entry instanceof ICacheEntry) { + if ($entry->getMimeType() === ICacheEntry::DIRECTORY_MIMETYPE) { + return $this->rmObjects($entry); + } else { + return $this->rmObject($entry); } - $this->getCache()->remove($path); - return true; } return false; } + public function rmObject(ICacheEntry $entry): bool { + try { + $this->objectStore->deleteObject($this->getURN($entry->getId())); + } catch (\Exception $ex) { + if ($ex->getCode() !== 404) { + $this->logger->logException($ex, [ + 'app' => 'objectstore', + 'message' => 'Could not delete object ' . $this->getURN($entry->getId()) . ' for ' . $entry->getPath(), + ]); + return false; + } + //removing from cache is ok as it does not exist in the objectstore anyway + } + $this->getCache()->remove($entry->getPath()); + return true; + } + public function stat($path) { $path = $this->normalizePath($path); $cacheEntry = $this->getCache()->get($path); @@ -557,7 +563,12 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common implements IChunkedFil return $this->objectStore; } - public function copyFromStorage(IStorage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime = false) { + public function copyFromStorage( + IStorage $sourceStorage, + $sourceInternalPath, + $targetInternalPath, + $preserveMtime = false + ) { if ($sourceStorage->instanceOfStorage(ObjectStoreStorage::class)) { /** @var ObjectStoreStorage $sourceStorage */ if ($sourceStorage->getObjectStore()->getStorageId() === $this->getObjectStore()->getStorageId()) { @@ -645,7 +656,13 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common implements IChunkedFil * * @throws GenericFileException */ - public function putChunkedWritePart(string $targetPath, string $writeToken, string $chunkId, $data, $size = null): ?array { + public function putChunkedWritePart( + string $targetPath, + string $writeToken, + string $chunkId, + $data, + $size = null + ): ?array { if (!$this->objectStore instanceof IObjectStoreMultiPartUpload) { throw new GenericFileException('Object store does not support multipart upload'); } @@ -656,7 +673,7 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common implements IChunkedFil $parts[$chunkId] = [ 'PartNumber' => $chunkId, - 'ETag' => trim($result->get('ETag'), '"') + 'ETag' => trim($result->get('ETag'), '"'), ]; return $parts[$chunkId]; } @@ -680,11 +697,11 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common implements IChunkedFil $stat['mimetype'] = $this->getMimeType($targetPath); $this->getCache()->update($stat['fileid'], $stat); } - } catch (S3MultipartUploadException | S3Exception $e) { + } catch (S3MultipartUploadException|S3Exception $e) { $this->objectStore->abortMultipartUpload($urn, $writeToken); $this->logger->logException($e, [ 'app' => 'objectstore', - 'message' => 'Could not compete multipart upload ' . $urn. ' with uploadId ' . $writeToken + 'message' => 'Could not compete multipart upload ' . $urn . ' with uploadId ' . $writeToken, ]); throw new GenericFileException('Could not write chunked file'); } diff --git a/lib/private/Files/ObjectStore/S3.php b/lib/private/Files/ObjectStore/S3.php index ebc8886f12d..76eee2bc962 100644 --- a/lib/private/Files/ObjectStore/S3.php +++ b/lib/private/Files/ObjectStore/S3.php @@ -69,13 +69,24 @@ class S3 implements IObjectStore, IObjectStoreMultiPartUpload { } public function getMultipartUploads(string $urn, string $uploadId): array { - $parts = $this->getConnection()->listParts([ - 'Bucket' => $this->bucket, - 'Key' => $urn, - 'UploadId' => $uploadId, - 'MaxParts' => 10000 - ]); - return $parts->get('Parts') ?? []; + $parts = []; + $isTruncated = true; + $partNumberMarker = 0; + + while ($isTruncated) { + $result = $this->getConnection()->listParts([ + 'Bucket' => $this->bucket, + 'Key' => $urn, + 'UploadId' => $uploadId, + 'MaxParts' => 1000, + 'PartNumberMarker' => $partNumberMarker + ]); + $parts = array_merge($parts, $result->get('Parts') ?? []); + $isTruncated = $result->get('IsTruncated'); + $partNumberMarker = $result->get('NextPartNumberMarker'); + } + + return $parts; } public function completeMultipartUpload(string $urn, string $uploadId, array $result): int { diff --git a/lib/private/Files/Storage/Common.php b/lib/private/Files/Storage/Common.php index b202c70b3ad..abbcf4ea433 100644 --- a/lib/private/Files/Storage/Common.php +++ b/lib/private/Files/Storage/Common.php @@ -207,6 +207,9 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage { public function file_put_contents($path, $data) { $handle = $this->fopen($path, "w"); + if (!$handle) { + return false; + } $this->removeCachedFile($path); $count = fwrite($handle, $data); fclose($handle); diff --git a/lib/private/Files/Storage/Wrapper/Encryption.php b/lib/private/Files/Storage/Wrapper/Encryption.php index 4d860e623e0..0eba59d2156 100644 --- a/lib/private/Files/Storage/Wrapper/Encryption.php +++ b/lib/private/Files/Storage/Wrapper/Encryption.php @@ -137,8 +137,10 @@ class Encryption extends Wrapper { public function filesize($path): false|int|float { $fullPath = $this->getFullPath($path); - /** @var CacheEntry $info */ $info = $this->getCache()->get($path); + if ($info === false) { + return false; + } if (isset($this->unencryptedSize[$fullPath])) { $size = $this->unencryptedSize[$fullPath]; // update file cache diff --git a/lib/private/Files/Type/Loader.php b/lib/private/Files/Type/Loader.php index bf5af36ec6e..32013bc3786 100644 --- a/lib/private/Files/Type/Loader.php +++ b/lib/private/Files/Type/Loader.php @@ -24,6 +24,9 @@ */ namespace OC\Files\Type; +use OC\DB\Exceptions\DbalException; +use OCP\AppFramework\Db\TTransactional; +use OCP\DB\Exception as DBException; use OCP\Files\IMimeTypeLoader; use OCP\IDBConnection; @@ -33,6 +36,8 @@ use OCP\IDBConnection; * @package OC\Files\Type */ class Loader implements IMimeTypeLoader { + use TTransactional; + /** @var IDBConnection */ private $dbConnection; @@ -108,31 +113,49 @@ class Loader implements IMimeTypeLoader { * Store a mimetype in the DB * * @param string $mimetype - * @param int inserted ID + * @return int inserted ID */ protected function store($mimetype) { - $this->dbConnection->insertIfNotExist('*PREFIX*mimetypes', [ - 'mimetype' => $mimetype - ]); - - $fetch = $this->dbConnection->getQueryBuilder(); - $fetch->select('id') - ->from('mimetypes') - ->where( - $fetch->expr()->eq('mimetype', $fetch->createNamedParameter($mimetype) - )); - - $result = $fetch->execute(); - $row = $result->fetch(); - $result->closeCursor(); + $row = $this->atomic(function () use ($mimetype) { + try { + $insert = $this->dbConnection->getQueryBuilder(); + $insert->insert('mimetypes') + ->values([ + 'mimetype' => $insert->createNamedParameter($mimetype) + ]) + ->executeStatement(); + return [ + 'mimetype' => $mimetype, + 'id' => $insert->getLastInsertId(), + ]; + } catch (DbalException $e) { + if ($e->getReason() !== DBException::REASON_UNIQUE_CONSTRAINT_VIOLATION) { + throw $e; + } + $qb = $this->dbConnection->getQueryBuilder(); + $row = $qb->select('id') + ->from('mimetypes') + ->where($qb->expr()->eq('mimetype', $qb->createNamedParameter($mimetype))) + ->executeQuery() + ->fetchOne(); + if ($row) { + return [ + 'mimetype' => $mimetype, + 'id' => $row['id'], + ]; + } + throw new \Exception("Database threw an unique constraint on inserting a new mimetype, but couldn't return the ID for this very mimetype"); + } + }, $this->dbConnection); if (!$row) { throw new \Exception("Failed to get mimetype id for $mimetype after trying to store it"); } + $mimetypeId = (int) $row['id']; - $this->mimetypes[$row['id']] = $mimetype; - $this->mimetypeIds[$mimetype] = $row['id']; - return $row['id']; + $this->mimetypes[$mimetypeId] = $mimetype; + $this->mimetypeIds[$mimetype] = $mimetypeId; + return $mimetypeId; } /** diff --git a/lib/private/Files/Utils/Scanner.php b/lib/private/Files/Utils/Scanner.php index dc220bc710d..277ce38175f 100644 --- a/lib/private/Files/Utils/Scanner.php +++ b/lib/private/Files/Utils/Scanner.php @@ -27,11 +27,13 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ + namespace OC\Files\Utils; use OC\Files\Cache\Cache; use OC\Files\Filesystem; use OC\Files\Storage\FailedStorage; +use OC\Files\Storage\Home; use OC\ForbiddenException; use OC\Hooks\PublicEmitter; use OC\Lock\DBLockingProvider; @@ -211,13 +213,24 @@ class Scanner extends PublicEmitter { } // if the home storage isn't writable then the scanner is run as the wrong user - if ($storage->instanceOfStorage('\OC\Files\Storage\Home') and - (!$storage->isCreatable('') or !$storage->isCreatable('files')) - ) { - if ($storage->is_dir('files')) { - throw new ForbiddenException(); - } else {// if the root exists in neither the cache nor the storage the user isn't setup yet - break; + if ($storage->instanceOfStorage(Home::class)) { + /** @var Home $storage */ + foreach (['', 'files'] as $path) { + if (!$storage->isCreatable($path)) { + $fullPath = $storage->getSourcePath($path); + if (!$storage->is_dir($path) && $storage->getCache()->inCache($path)) { + throw new NotFoundException("User folder $fullPath exists in cache but not on disk"); + } elseif ($storage->is_dir($path)) { + $ownerUid = fileowner($fullPath); + $owner = posix_getpwuid($ownerUid); + $owner = $owner['name'] ?? $ownerUid; + $permissions = decoct(fileperms($fullPath)); + throw new ForbiddenException("User folder $fullPath is not writable, folders is owned by $owner and has mode $permissions"); + } else { + // if the root exists in neither the cache nor the storage the user isn't setup yet + break 2; + } + } } } diff --git a/lib/private/KnownUser/KnownUserMapper.php b/lib/private/KnownUser/KnownUserMapper.php index ce7dc9ead63..fd8f22cd0aa 100644 --- a/lib/private/KnownUser/KnownUserMapper.php +++ b/lib/private/KnownUser/KnownUserMapper.php @@ -30,6 +30,8 @@ use OCP\IDBConnection; /** * @method KnownUser mapRowToEntity(array $row) + * + * @template-extends QBMapper<KnownUser> */ class KnownUserMapper extends QBMapper { /** diff --git a/lib/private/Metadata/FileMetadataMapper.php b/lib/private/Metadata/FileMetadataMapper.php index f3120e5e515..594ac5eafba 100644 --- a/lib/private/Metadata/FileMetadataMapper.php +++ b/lib/private/Metadata/FileMetadataMapper.php @@ -30,6 +30,9 @@ use OCP\DB\Exception; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDBConnection; +/** + * @template-extends QBMapper<FileMetadata> + */ class FileMetadataMapper extends QBMapper { public function __construct(IDBConnection $db) { parent::__construct($db, 'file_metadata', FileMetadata::class); @@ -109,11 +112,11 @@ class FileMetadataMapper extends QBMapper { * Updates an entry in the db from an entity * * @param Entity $entity the entity that should be created - * @return Entity the saved entity with the set id + * @return FileMetadata the saved entity with the set id * @throws Exception * @throws \InvalidArgumentException if entity has no id */ - public function update(Entity $entity): Entity { + public function update(Entity $entity): FileMetadata { if (!($entity instanceof FileMetadata)) { throw new \Exception("Entity should be a FileMetadata entity"); } diff --git a/lib/private/Preview/Bundled.php b/lib/private/Preview/Bundled.php index df7f630dff7..2a408b90c4e 100644 --- a/lib/private/Preview/Bundled.php +++ b/lib/private/Preview/Bundled.php @@ -31,6 +31,10 @@ use OCP\IImage; */ abstract class Bundled extends ProviderV2 { protected function extractThumbnail(File $file, string $path): ?IImage { + if ($file->getSize() === 0) { + return null; + } + $sourceTmp = \OC::$server->getTempManager()->getTemporaryFile(); $targetTmp = \OC::$server->getTempManager()->getTemporaryFile(); $this->tmpFiles[] = $sourceTmp; diff --git a/lib/private/Preview/Generator.php b/lib/private/Preview/Generator.php index 47f2952c6e6..ed9474fafb2 100644 --- a/lib/private/Preview/Generator.php +++ b/lib/private/Preview/Generator.php @@ -137,6 +137,8 @@ class Generator { } $previewFolder = $this->getPreviewFolder($file); + // List every existing preview first instead of trying to find them one by one + $previewFiles = $previewFolder->getDirectoryListing(); $previewVersion = ''; if ($file instanceof IVersionedPreviewFile) { @@ -150,7 +152,7 @@ class Generator { && preg_match(Imaginary::supportedMimeTypes(), $mimeType) && $this->config->getSystemValueString('preview_imaginary_url', 'invalid') !== 'invalid') { $crop = $specifications[0]['crop'] ?? false; - $preview = $this->getSmallImagePreview($previewFolder, $file, $mimeType, $previewVersion, $crop); + $preview = $this->getSmallImagePreview($previewFolder, $previewFiles, $file, $mimeType, $previewVersion, $crop); if ($preview->getSize() === 0) { $preview->delete(); @@ -161,7 +163,7 @@ class Generator { } // Get the max preview and infer the max preview sizes from that - $maxPreview = $this->getMaxPreview($previewFolder, $file, $mimeType, $previewVersion); + $maxPreview = $this->getMaxPreview($previewFolder, $previewFiles, $file, $mimeType, $previewVersion); $maxPreviewImage = null; // only load the image when we need it if ($maxPreview->getSize() === 0) { $maxPreview->delete(); @@ -197,7 +199,7 @@ class Generator { // Try to get a cached preview. Else generate (and store) one try { try { - $preview = $this->getCachedPreview($previewFolder, $width, $height, $crop, $maxPreview->getMimeType(), $previewVersion); + $preview = $this->getCachedPreview($previewFiles, $width, $height, $crop, $maxPreview->getMimeType(), $previewVersion); } catch (NotFoundException $e) { if (!$this->previewManager->isMimeSupported($mimeType)) { throw new NotFoundException(); @@ -208,6 +210,8 @@ class Generator { } $preview = $this->generatePreview($previewFolder, $maxPreviewImage, $width, $height, $crop, $maxWidth, $maxHeight, $previewVersion); + // New file, augment our array + $previewFiles[] = $preview; } } catch (\InvalidArgumentException $e) { throw new NotFoundException("", 0, $e); @@ -233,75 +237,19 @@ class Generator { * Generate a small image straight away without generating a max preview first * Preview generated is 256x256 * + * @param ISimpleFile[] $previewFiles + * * @throws NotFoundException */ - private function getSmallImagePreview(ISimpleFolder $previewFolder, File $file, string $mimeType, string $prefix, bool $crop): ISimpleFile { - $nodes = $previewFolder->getDirectoryListing(); - - foreach ($nodes as $node) { - $name = $node->getName(); - if (($prefix === '' || str_starts_with($name, $prefix))) { - // Prefix match - if (str_starts_with($name, $prefix . '256-256-crop') && $crop) { - // Cropped image - return $node; - } - - if (str_starts_with($name, $prefix . '256-256.') && !$crop) { - // Uncropped image - return $node; - } - } - } - - $previewProviders = $this->previewManager->getProviders(); - foreach ($previewProviders as $supportedMimeType => $providers) { - // Filter out providers that does not support this mime - if (!preg_match($supportedMimeType, $mimeType)) { - continue; - } - - foreach ($providers as $providerClosure) { - $provider = $this->helper->getProvider($providerClosure); - if (!($provider instanceof IProviderV2)) { - continue; - } - - if (!$provider->isAvailable($file)) { - continue; - } - - $preview = $this->helper->getThumbnail($provider, $file, 256, 256, $crop); - - if (!($preview instanceof IImage)) { - continue; - } - - // Try to get the extension. - try { - $ext = $this->getExtention($preview->dataMimeType()); - } catch (\InvalidArgumentException $e) { - // Just continue to the next iteration if this preview doesn't have a valid mimetype - continue; - } - - $path = $this->generatePath(256, 256, $crop, $preview->dataMimeType(), $prefix); - try { - $file = $previewFolder->newFile($path); - if ($preview instanceof IStreamImage) { - $file->putContent($preview->resource()); - } else { - $file->putContent($preview->data()); - } - } catch (NotPermittedException $e) { - throw new NotFoundException(); - } + private function getSmallImagePreview(ISimpleFolder $previewFolder, array $previewFiles, File $file, string $mimeType, string $prefix, bool $crop): ISimpleFile { + $width = 256; + $height = 256; - return $file; - } + try { + return $this->getCachedPreview($previewFiles, $width, $height, $crop, $mimeType, $prefix); + } catch (NotFoundException $e) { + return $this->generateProviderPreview($previewFolder, $file, $width, $height, $crop, false, $mimeType, $prefix); } - - throw new NotFoundException('No provider successfully handled the preview generation'); } /** @@ -398,22 +346,30 @@ class Generator { /** * @param ISimpleFolder $previewFolder + * @param ISimpleFile[] $previewFiles * @param File $file * @param string $mimeType * @param string $prefix * @return ISimpleFile * @throws NotFoundException */ - private function getMaxPreview(ISimpleFolder $previewFolder, File $file, $mimeType, $prefix) { - $nodes = $previewFolder->getDirectoryListing(); - - foreach ($nodes as $node) { + private function getMaxPreview(ISimpleFolder $previewFolder, array $previewFiles, File $file, $mimeType, $prefix) { + // We don't know the max preview size, so we can't use getCachedPreview. + // It might have been generated with a higher resolution than the current value. + foreach ($previewFiles as $node) { $name = $node->getName(); if (($prefix === '' || strpos($name, $prefix) === 0) && strpos($name, 'max')) { return $node; } } + $maxWidth = $this->config->getSystemValueInt('preview_max_x', 4096); + $maxHeight = $this->config->getSystemValueInt('preview_max_y', 4096); + + return $this->generateProviderPreview($previewFolder, $file, $maxWidth, $maxHeight, false, true, $mimeType, $prefix); + } + + private function generateProviderPreview(ISimpleFolder $previewFolder, File $file, int $width, int $height, bool $crop, bool $max, string $mimeType, string $prefix) { $previewProviders = $this->previewManager->getProviders(); foreach ($previewProviders as $supportedMimeType => $providers) { // Filter out providers that does not support this mime @@ -431,13 +387,10 @@ class Generator { continue; } - $maxWidth = $this->config->getSystemValueInt('preview_max_x', 4096); - $maxHeight = $this->config->getSystemValueInt('preview_max_y', 4096); - $previewConcurrency = $this->getNumConcurrentPreviews('preview_concurrency_new'); $sem = self::guardWithSemaphore(self::SEMAPHORE_ID_NEW, $previewConcurrency); try { - $preview = $this->helper->getThumbnail($provider, $file, $maxWidth, $maxHeight); + $preview = $this->helper->getThumbnail($provider, $file, $width, $height); } finally { self::unguardWithSemaphore($sem); } @@ -446,15 +399,7 @@ class Generator { continue; } - // Try to get the extention. - try { - $ext = $this->getExtention($preview->dataMimeType()); - } catch (\InvalidArgumentException $e) { - // Just continue to the next iteration if this preview doesn't have a valid mimetype - continue; - } - - $path = $prefix . (string)$preview->width() . '-' . (string)$preview->height() . '-max.' . $ext; + $path = $this->generatePath($preview->width(), $preview->height(), $crop, $max, $preview->dataMimeType(), $prefix); try { $file = $previewFolder->newFile($path); if ($preview instanceof IStreamImage) { @@ -470,7 +415,7 @@ class Generator { } } - throw new NotFoundException(); + throw new NotFoundException('No provider successfully handled the preview generation'); } /** @@ -487,15 +432,19 @@ class Generator { * @param int $width * @param int $height * @param bool $crop + * @param bool $max * @param string $mimeType * @param string $prefix * @return string */ - private function generatePath($width, $height, $crop, $mimeType, $prefix) { + private function generatePath($width, $height, $crop, $max, $mimeType, $prefix) { $path = $prefix . (string)$width . '-' . (string)$height; if ($crop) { $path .= '-crop'; } + if ($max) { + $path .= '-max'; + } $ext = $this->getExtention($mimeType); $path .= '.' . $ext; @@ -637,7 +586,8 @@ class Generator { self::unguardWithSemaphore($sem); } - $path = $this->generatePath($width, $height, $crop, $preview->dataMimeType(), $prefix); + + $path = $this->generatePath($width, $height, $crop, false, $preview->dataMimeType(), $prefix); try { $file = $previewFolder->newFile($path); $file->putContent($preview->data()); @@ -649,7 +599,7 @@ class Generator { } /** - * @param ISimpleFolder $previewFolder + * @param ISimpleFile[] $files Array of FileInfo, as the result of getDirectoryListing() * @param int $width * @param int $height * @param bool $crop @@ -659,10 +609,14 @@ class Generator { * * @throws NotFoundException */ - private function getCachedPreview(ISimpleFolder $previewFolder, $width, $height, $crop, $mimeType, $prefix) { - $path = $this->generatePath($width, $height, $crop, $mimeType, $prefix); - - return $previewFolder->getFile($path); + private function getCachedPreview($files, $width, $height, $crop, $mimeType, $prefix) { + $path = $this->generatePath($width, $height, $crop, false, $mimeType, $prefix); + foreach ($files as $file) { + if ($file->getName() === $path) { + return $file; + } + } + throw new NotFoundException(); } /** diff --git a/lib/private/Profile/ProfileManager.php b/lib/private/Profile/ProfileManager.php index ddc0670604b..8de48994ff7 100644 --- a/lib/private/Profile/ProfileManager.php +++ b/lib/private/Profile/ProfileManager.php @@ -440,7 +440,7 @@ class ProfileManager { ], IAccountManager::PROPERTY_DISPLAYNAME => [ 'appId' => self::CORE_APP_ID, - 'displayId' => $this->l10nFactory->get('lib')->t('Full name'), + 'displayId' => $this->l10nFactory->get('lib')->t('Display name'), ], IAccountManager::PROPERTY_HEADLINE => [ 'appId' => self::CORE_APP_ID, diff --git a/lib/private/Profiler/Profiler.php b/lib/private/Profiler/Profiler.php index 9fd5e76d592..40050b7bf43 100644 --- a/lib/private/Profiler/Profiler.php +++ b/lib/private/Profiler/Profiler.php @@ -61,11 +61,19 @@ class Profiler implements IProfiler { } public function loadProfile(string $token): ?IProfile { - return $this->storage->read($token); + if ($this->storage) { + return $this->storage->read($token); + } else { + return null; + } } public function saveProfile(IProfile $profile): bool { - return $this->storage->write($profile); + if ($this->storage) { + return $this->storage->write($profile); + } else { + return false; + } } public function collect(Request $request, Response $response): IProfile { @@ -88,7 +96,11 @@ class Profiler implements IProfiler { */ public function find(?string $url, ?int $limit, ?string $method, ?int $start, ?int $end, string $statusCode = null): array { - return $this->storage->find($url, $limit, $method, $start, $end, $statusCode); + if ($this->storage) { + return $this->storage->find($url, $limit, $method, $start, $end, $statusCode); + } else { + return []; + } } public function dataProviders(): array { diff --git a/lib/private/Server.php b/lib/private/Server.php index 80e03771888..bb4e217efa3 100644 --- a/lib/private/Server.php +++ b/lib/private/Server.php @@ -148,6 +148,7 @@ use OC\Security\VerificationToken\VerificationToken; use OC\Session\CryptoWrapper; use OC\Share20\ProviderFactory; use OC\Share20\ShareHelper; +use OC\SpeechToText\SpeechToTextManager; use OC\SystemTag\ManagerFactory as SystemTagManagerFactory; use OC\Tagging\TagMapper; use OC\Talk\Broker; @@ -246,6 +247,7 @@ use OCP\Security\ISecureRandom; use OCP\Security\ITrustedDomainHelper; use OCP\Security\VerificationToken\IVerificationToken; use OCP\Share\IShareHelper; +use OCP\SpeechToText\ISpeechToTextManager; use OCP\SystemTag\ISystemTagManager; use OCP\SystemTag\ISystemTagObjectMapper; use OCP\Talk\IBroker; @@ -1457,6 +1459,8 @@ class Server extends ServerContainer implements IServerContainer { $this->registerAlias(ITranslationManager::class, TranslationManager::class); + $this->registerAlias(ISpeechToTextManager::class, SpeechToTextManager::class); + $this->connectDispatcher(); } diff --git a/lib/private/Session/Internal.php b/lib/private/Session/Internal.php index 87dd5ed6014..cae139018f8 100644 --- a/lib/private/Session/Internal.php +++ b/lib/private/Session/Internal.php @@ -107,6 +107,7 @@ class Internal extends Session { $this->reopen(); $this->invoke('session_unset'); $this->regenerateId(); + $this->invoke('session_write_close'); $this->startSession(true); $_SESSION = []; } diff --git a/lib/private/Settings/AuthorizedGroupMapper.php b/lib/private/Settings/AuthorizedGroupMapper.php index 4313ce60580..c7c39cc6758 100644 --- a/lib/private/Settings/AuthorizedGroupMapper.php +++ b/lib/private/Settings/AuthorizedGroupMapper.php @@ -32,6 +32,9 @@ use OCP\IGroup; use OCP\IGroupManager; use OCP\IUser; +/** + * @template-extends QBMapper<AuthorizedGroup> + */ class AuthorizedGroupMapper extends QBMapper { public function __construct(IDBConnection $db) { parent::__construct($db, 'authorized_groups', AuthorizedGroup::class); diff --git a/lib/private/SpeechToText/SpeechToTextManager.php b/lib/private/SpeechToText/SpeechToTextManager.php new file mode 100644 index 00000000000..757fc02485e --- /dev/null +++ b/lib/private/SpeechToText/SpeechToTextManager.php @@ -0,0 +1,124 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2023 Julius Härtl <jus@bitgrid.net> + * @copyright Copyright (c) 2023 Marcel Klehr <mklehr@gmx.net> + * + * @author Julius Härtl <jus@bitgrid.net> + * @author Marcel Klehr <mklehr@gmx.net> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + +namespace OC\SpeechToText; + +use InvalidArgumentException; +use OC\AppFramework\Bootstrap\Coordinator; +use OCP\BackgroundJob\IJobList; +use OCP\Files\File; +use OCP\Files\InvalidPathException; +use OCP\Files\NotFoundException; +use OCP\IServerContainer; +use OCP\PreConditionNotMetException; +use OCP\SpeechToText\ISpeechToTextManager; +use OCP\SpeechToText\ISpeechToTextProvider; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; +use Psr\Log\LoggerInterface; +use RuntimeException; +use Throwable; + +class SpeechToTextManager implements ISpeechToTextManager { + /** @var ?ISpeechToTextProvider[] */ + private ?array $providers = null; + + public function __construct( + private IServerContainer $serverContainer, + private Coordinator $coordinator, + private LoggerInterface $logger, + private IJobList $jobList, + ) { + } + + public function getProviders(): array { + $context = $this->coordinator->getRegistrationContext(); + if ($context === null) { + return []; + } + + if ($this->providers !== null) { + return $this->providers; + } + + $this->providers = []; + + foreach ($context->getSpeechToTextProviders() as $providerServiceRegistration) { + $class = $providerServiceRegistration->getService(); + try { + $this->providers[$class] = $this->serverContainer->get($class); + } catch (NotFoundExceptionInterface|ContainerExceptionInterface|Throwable $e) { + $this->logger->error('Failed to load SpeechToText provider ' . $class, [ + 'exception' => $e, + ]); + } + } + + return $this->providers; + } + + public function hasProviders(): bool { + $context = $this->coordinator->getRegistrationContext(); + if ($context === null) { + return false; + } + return !empty($context->getSpeechToTextProviders()); + } + + public function scheduleFileTranscription(File $file, ?string $userId, string $appId): void { + if (!$this->hasProviders()) { + throw new PreConditionNotMetException('No SpeechToText providers have been registered'); + } + try { + $this->jobList->add(TranscriptionJob::class, [ + 'fileId' => $file->getId(), + 'owner' => $file->getOwner()->getUID(), + 'userId' => $userId, + 'appId' => $appId, + ]); + } catch (NotFoundException|InvalidPathException $e) { + throw new InvalidArgumentException('Invalid file provided for file transcription: ' . $e->getMessage()); + } + } + + public function transcribeFile(File $file): string { + if (!$this->hasProviders()) { + throw new PreConditionNotMetException('No SpeechToText providers have been registered'); + } + + foreach ($this->getProviders() as $provider) { + try { + return $provider->transcribeFile($file); + } catch (\Throwable $e) { + $this->logger->info('SpeechToText transcription using provider ' . $provider->getName() . ' failed', ['exception' => $e]); + } + } + + throw new RuntimeException('Could not transcribe file'); + } +} diff --git a/lib/private/SpeechToText/TranscriptionJob.php b/lib/private/SpeechToText/TranscriptionJob.php new file mode 100644 index 00000000000..d5cc9ed7c38 --- /dev/null +++ b/lib/private/SpeechToText/TranscriptionJob.php @@ -0,0 +1,104 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2023 Marcel Klehr <mklehr@gmx.net> + * + * @author Marcel Klehr <mklehr@gmx.net> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + +namespace OC\SpeechToText; + +use OC\User\NoUserException; +use OCP\AppFramework\Utility\ITimeFactory; +use OCP\BackgroundJob\QueuedJob; +use OCP\EventDispatcher\IEventDispatcher; +use OCP\Files\File; +use OCP\Files\IRootFolder; +use OCP\Files\NotFoundException; +use OCP\Files\NotPermittedException; +use OCP\PreConditionNotMetException; +use OCP\SpeechToText\Events\TranscriptionFailedEvent; +use OCP\SpeechToText\Events\TranscriptionSuccessfulEvent; +use OCP\SpeechToText\ISpeechToTextManager; +use Psr\Log\LoggerInterface; + +class TranscriptionJob extends QueuedJob { + public function __construct( + ITimeFactory $timeFactory, + private ISpeechToTextManager $speechToTextManager, + private IEventDispatcher $eventDispatcher, + private IRootFolder $rootFolder, + private LoggerInterface $logger, + ) { + parent::__construct($timeFactory); + } + + + /** + * @inheritDoc + */ + protected function run($argument) { + $fileId = $argument['fileId']; + $owner = $argument['owner']; + $userId = $argument['userId']; + $appId = $argument['appId']; + $file = null; + try { + \OC_Util::setupFS($owner); + $userFolder = $this->rootFolder->getUserFolder($owner); + $file = current($userFolder->getById($fileId)); + if (!($file instanceof File)) { + $this->logger->warning('Transcription of file ' . $fileId . ' failed. The file could not be found'); + $this->eventDispatcher->dispatchTyped( + new TranscriptionFailedEvent( + $fileId, + null, + 'File not found', + $userId, + $appId, + ) + ); + return; + } + $result = $this->speechToTextManager->transcribeFile($file); + $this->eventDispatcher->dispatchTyped( + new TranscriptionSuccessfulEvent( + $fileId, + $file, + $result, + $userId, + $appId, + ) + ); + } catch (PreConditionNotMetException|\RuntimeException|\InvalidArgumentException|NotFoundException|NotPermittedException|NoUserException $e) { + $this->logger->warning('Transcription of file ' . $fileId . ' failed', ['exception' => $e]); + $this->eventDispatcher->dispatchTyped( + new TranscriptionFailedEvent( + $fileId, + $file, + $e->getMessage(), + $userId, + $appId, + ) + ); + } + } +} diff --git a/lib/private/Tagging/TagMapper.php b/lib/private/Tagging/TagMapper.php index 808fce2eeae..1ee9c33acf7 100644 --- a/lib/private/Tagging/TagMapper.php +++ b/lib/private/Tagging/TagMapper.php @@ -32,6 +32,8 @@ use OCP\DB\QueryBuilder\IQueryBuilder; /** * Mapper for Tag entity + * + * @template-extends QBMapper<Tag> */ class TagMapper extends QBMapper { /** diff --git a/lib/private/Updater.php b/lib/private/Updater.php index 075b2ce339b..56285166322 100644 --- a/lib/private/Updater.php +++ b/lib/private/Updater.php @@ -331,7 +331,7 @@ class Updater extends BasicEmitter { */ protected function doAppUpgrade(): void { $apps = \OC_App::getEnabledApps(); - $priorityTypes = ['authentication', 'filesystem', 'logging']; + $priorityTypes = ['authentication', 'extended_authentication', 'filesystem', 'logging']; $pseudoOtherType = 'other'; $stacks = [$pseudoOtherType => []]; diff --git a/lib/private/Updater/ChangesResult.php b/lib/private/Updater/Changes.php index db2f730aa6a..81a57c0c871 100644 --- a/lib/private/Updater/ChangesResult.php +++ b/lib/private/Updater/Changes.php @@ -28,7 +28,7 @@ namespace OC\Updater; use OCP\AppFramework\Db\Entity; /** - * Class ChangesResult + * Class Changes * * @package OC\Updater * @method string getVersion()=1 @@ -40,7 +40,7 @@ use OCP\AppFramework\Db\Entity; * @method string getData() * @method void setData(string $data) */ -class ChangesResult extends Entity { +class Changes extends Entity { /** @var string */ protected $version = ''; diff --git a/lib/private/Updater/ChangesCheck.php b/lib/private/Updater/ChangesCheck.php index e2b66853788..2c1eb321ee0 100644 --- a/lib/private/Updater/ChangesCheck.php +++ b/lib/private/Updater/ChangesCheck.php @@ -73,7 +73,7 @@ class ChangesCheck { return json_decode($changesInfo->getData(), true); } } catch (DoesNotExistException $e) { - $changesInfo = new ChangesResult(); + $changesInfo = new Changes(); } $response = $this->queryChangesServer($uri, $changesInfo); @@ -109,7 +109,7 @@ class ChangesCheck { return self::RESPONSE_NO_CONTENT; } - protected function cacheResult(ChangesResult $entry, string $version) { + protected function cacheResult(Changes $entry, string $version) { if ($entry->getVersion() === $version) { $this->mapper->update($entry); } else { @@ -121,7 +121,7 @@ class ChangesCheck { /** * @throws \Exception */ - protected function queryChangesServer(string $uri, ChangesResult $entry): IResponse { + protected function queryChangesServer(string $uri, Changes $entry): IResponse { $headers = []; if ($entry->getEtag() !== '') { $headers['If-None-Match'] = [$entry->getEtag()]; diff --git a/lib/private/Updater/ChangesMapper.php b/lib/private/Updater/ChangesMapper.php index 03e1ae3c2c1..33d50f5844f 100644 --- a/lib/private/Updater/ChangesMapper.php +++ b/lib/private/Updater/ChangesMapper.php @@ -31,6 +31,9 @@ use OCP\AppFramework\Db\QBMapper; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDBConnection; +/** + * @template-extends QBMapper<Changes> + */ class ChangesMapper extends QBMapper { public const TABLE_NAME = 'whats_new'; @@ -41,7 +44,7 @@ class ChangesMapper extends QBMapper { /** * @throws DoesNotExistException */ - public function getChanges(string $version): ChangesResult { + public function getChanges(string $version): Changes { /* @var $qb IQueryBuilder */ $qb = $this->db->getQueryBuilder(); $result = $qb->select('*') @@ -54,6 +57,6 @@ class ChangesMapper extends QBMapper { if ($data === false) { throw new DoesNotExistException('Changes info is not present'); } - return ChangesResult::fromRow($data); + return Changes::fromRow($data); } } diff --git a/lib/public/AppFramework/Bootstrap/IRegistrationContext.php b/lib/public/AppFramework/Bootstrap/IRegistrationContext.php index f83f30c0f1c..66cf1ef2306 100644 --- a/lib/public/AppFramework/Bootstrap/IRegistrationContext.php +++ b/lib/public/AppFramework/Bootstrap/IRegistrationContext.php @@ -39,6 +39,7 @@ use OCP\Files\Template\ICustomTemplateProvider; use OCP\IContainer; use OCP\Notification\INotifier; use OCP\Preview\IProviderV2; +use OCP\SpeechToText\ISpeechToTextProvider; use OCP\Translation\ITranslationProvider; /** @@ -209,6 +210,16 @@ interface IRegistrationContext { public function registerWellKnownHandler(string $class): void; /** + * Register a custom SpeechToText provider class that can provide transcription + * of audio through the OCP\SpeechToText APIs + * + * @param string $providerClass + * @psalm-param class-string<ISpeechToTextProvider> $providerClass + * @since 27.0.0 + */ + public function registerSpeechToTextProvider(string $providerClass): void; + + /** * Register a custom template provider class that is able to inject custom templates * in addition to the user defined ones * diff --git a/lib/public/AppFramework/Db/IMapperException.php b/lib/public/AppFramework/Db/IMapperException.php index a4af3cfa925..5381579d2a3 100644 --- a/lib/public/AppFramework/Db/IMapperException.php +++ b/lib/public/AppFramework/Db/IMapperException.php @@ -29,5 +29,5 @@ namespace OCP\AppFramework\Db; /** * @since 16.0.0 */ -interface IMapperException { +interface IMapperException extends \Throwable { } diff --git a/lib/public/AppFramework/Db/QBMapper.php b/lib/public/AppFramework/Db/QBMapper.php index 57f4cba2ff5..cbe3d39d4d7 100644 --- a/lib/public/AppFramework/Db/QBMapper.php +++ b/lib/public/AppFramework/Db/QBMapper.php @@ -55,8 +55,7 @@ abstract class QBMapper { /** * @param IDBConnection $db Instance of the Db abstraction layer * @param string $tableName the name of the table. set this to allow entity - * @param string|null $entityClass the name of the entity that the sql should be - * @psalm-param class-string<T>|null $entityClass the name of the entity that the sql should be + * @param class-string<T>|null $entityClass the name of the entity that the sql should be * mapped to queries without using sql * @since 14.0.0 */ diff --git a/lib/public/AppFramework/Middleware.php b/lib/public/AppFramework/Middleware.php index 62b5e47c4cf..91d8b7617bb 100644 --- a/lib/public/AppFramework/Middleware.php +++ b/lib/public/AppFramework/Middleware.php @@ -25,6 +25,7 @@ */ namespace OCP\AppFramework; +use Exception; use OCP\AppFramework\Http\Response; /** @@ -45,7 +46,7 @@ abstract class Middleware { * @return void * @since 6.0.0 */ - public function beforeController($controller, $methodName) { + public function beforeController(Controller $controller, string $methodName) { } @@ -59,12 +60,12 @@ abstract class Middleware { * @param Controller $controller the controller that is being called * @param string $methodName the name of the method that will be called on * the controller - * @param \Exception $exception the thrown exception - * @throws \Exception the passed in exception if it can't handle it + * @param Exception $exception the thrown exception + * @throws Exception the passed in exception if it can't handle it * @return Response a Response object in case that the exception was handled * @since 6.0.0 */ - public function afterException($controller, $methodName, \Exception $exception) { + public function afterException(Controller $controller, string $methodName, Exception $exception) { throw $exception; } @@ -80,7 +81,7 @@ abstract class Middleware { * @return Response a Response object * @since 6.0.0 */ - public function afterController($controller, $methodName, Response $response) { + public function afterController(Controller $controller, string $methodName, Response $response) { return $response; } @@ -96,7 +97,7 @@ abstract class Middleware { * @return string the output that should be printed * @since 6.0.0 */ - public function beforeOutput($controller, $methodName, $output) { + public function beforeOutput(Controller $controller, string $methodName, string $output) { return $output; } } diff --git a/lib/public/SpeechToText/Events/AbstractTranscriptionEvent.php b/lib/public/SpeechToText/Events/AbstractTranscriptionEvent.php new file mode 100644 index 00000000000..11c90fad891 --- /dev/null +++ b/lib/public/SpeechToText/Events/AbstractTranscriptionEvent.php @@ -0,0 +1,74 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2023 Marcel Klehr <mklehr@gmx.net> + * + * @author Marcel Klehr <mklehr@gmx.net> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +namespace OCP\SpeechToText\Events; + +use OCP\EventDispatcher\Event; +use OCP\Files\File; + +/** + * @since 27.0.0 + */ +abstract class AbstractTranscriptionEvent extends Event { + /** + * @since 27.0.0 + */ + public function __construct( + private int $fileIdId, + private ?File $file, + private ?string $userId, + private string $appId, + ) { + parent::__construct(); + } + + /** + * @since 27.0.0 + */ + public function getFileId(): int { + return $this->fileIdId; + } + + /** + * @since 27.0.0 + */ + public function getFile(): ?File { + return $this->file; + } + + /** + * @since 27.0.0 + */ + public function getUserId(): ?string { + return $this->userId; + } + + /** + * @since 27.0.0 + */ + public function getAppId(): string { + return $this->appId; + } +} diff --git a/lib/public/SpeechToText/Events/TranscriptionFailedEvent.php b/lib/public/SpeechToText/Events/TranscriptionFailedEvent.php new file mode 100644 index 00000000000..8845e240e42 --- /dev/null +++ b/lib/public/SpeechToText/Events/TranscriptionFailedEvent.php @@ -0,0 +1,56 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2023 Marcel Klehr <mklehr@gmx.net> + * + * @author Marcel Klehr <mklehr@gmx.net> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + +namespace OCP\SpeechToText\Events; + +use OCP\Files\File; + +/** + * This Event is emitted if a transcription of a media file using a Speech-To-Text provider failed + * @since 27.0.0 + */ +class TranscriptionFailedEvent extends AbstractTranscriptionEvent { + /** + * @since 27.0.0 + */ + public function __construct( + int $fileId, + ?File $file, + private string $errorMessage, + ?string $userId, + string $appId, + ) { + parent::__construct($fileId, $file, $userId, $appId); + } + + /** + * @since 27.0.0 + * @return string The error message + */ + public function getErrorMessage(): string { + return $this->errorMessage; + } +} diff --git a/lib/public/SpeechToText/Events/TranscriptionSuccessfulEvent.php b/lib/public/SpeechToText/Events/TranscriptionSuccessfulEvent.php new file mode 100644 index 00000000000..c75fb2da9dc --- /dev/null +++ b/lib/public/SpeechToText/Events/TranscriptionSuccessfulEvent.php @@ -0,0 +1,56 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2023 Marcel Klehr <mklehr@gmx.net> + * + * @author Marcel Klehr <mklehr@gmx.net> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + +namespace OCP\SpeechToText\Events; + +use OCP\Files\File; + +/** + * This Event is emitted when a transcription of a media file happened successfully + * @since 27.0.0 + */ +class TranscriptionSuccessfulEvent extends AbstractTranscriptionEvent { + /** + * @since 27.0.0 + */ + public function __construct( + int $fileId, + ?File $file, + private string $transcript, + ?string $userId, + string $appId, + ) { + parent::__construct($fileId, $file, $userId, $appId); + } + + /** + * @since 27.0.0 + * @return string The transcript of the media file + */ + public function getTranscript(): string { + return $this->transcript; + } +} diff --git a/lib/public/SpeechToText/ISpeechToTextManager.php b/lib/public/SpeechToText/ISpeechToTextManager.php new file mode 100644 index 00000000000..eff00ec0fa1 --- /dev/null +++ b/lib/public/SpeechToText/ISpeechToTextManager.php @@ -0,0 +1,67 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2023 Marcel Klehr <mklehr@gmx.net> + * + * @author Marcel Klehr <mklehr@gmx.net> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + +namespace OCP\SpeechToText; + +use InvalidArgumentException; +use OCP\Files\File; +use OCP\PreConditionNotMetException; +use RuntimeException; + +/** + * @since 27.0.0 + */ +interface ISpeechToTextManager { + /** + * @since 27.0.0 + */ + public function hasProviders(): bool; + + /** + * Will schedule a transcription process in the background. The result will become available + * with the \OCP\SpeechToText\Events\TranscriptionFinishedEvent + * You should add context information to the context array to re-identify the transcription result as + * belonging to your transcription request. + * + * @param File $file The media file to transcribe + * @param ?string $userId The user that triggered this request (only for convenience, will be available on the TranscriptEvents) + * @param string $appId The app that triggered this request (only for convenience, will be available on the TranscriptEvents) + * @throws PreConditionNotMetException If no provider was registered but this method was still called + * @throws InvalidArgumentException If the file could not be found or is not of a supported type + * @since 27.0.0 + */ + public function scheduleFileTranscription(File $file, ?string $userId, string $appId): void; + + /** + * @param File $file The media file to transcribe + * @returns string The transcription of the passed media file + * @throws PreConditionNotMetException If no provider was registered but this method was still called + * @throws InvalidArgumentException If the file could not be found or is not of a supported type + * @throws RuntimeException If the transcription failed for other reasons + * @since 27.0.0 + */ + public function transcribeFile(File $file): string; +} diff --git a/lib/public/SpeechToText/ISpeechToTextProvider.php b/lib/public/SpeechToText/ISpeechToTextProvider.php new file mode 100644 index 00000000000..c23b75c115e --- /dev/null +++ b/lib/public/SpeechToText/ISpeechToTextProvider.php @@ -0,0 +1,46 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2022 Marcel Klehr <mklehr@gmx.net> + * + * @author Marcel Klehr <mklehr@gmx.net> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + +namespace OCP\SpeechToText; + +use OCP\Files\File; +use RuntimeException; + +/** + * @since 27.0.0 + */ +interface ISpeechToTextProvider { + /** + * @since 27.0.0 + */ + public function getName(): string; + + /** + * @since 27.0.0 + * @throws RuntimeException If the text could not be transcribed + */ + public function transcribeFile(File $file): string; +} |