diff options
89 files changed, 966 insertions, 134 deletions
diff --git a/apps/admin_audit/appinfo/info.xml b/apps/admin_audit/appinfo/info.xml index e5ec9db0689..b29b0f0b01d 100644 --- a/apps/admin_audit/appinfo/info.xml +++ b/apps/admin_audit/appinfo/info.xml @@ -5,9 +5,9 @@ <description>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</description> <licence>AGPL</licence> <author>Nextcloud</author> - <version>1.2.0</version> + <version>1.3.0</version> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <types> <logging/> diff --git a/apps/comments/appinfo/info.xml b/apps/comments/appinfo/info.xml index eb711c4b569..b67def1fb9d 100644 --- a/apps/comments/appinfo/info.xml +++ b/apps/comments/appinfo/info.xml @@ -4,11 +4,12 @@ <name>Comments</name> <description>Files app plugin to add comments to files</description> <licence>AGPL</licence> - <author>Arthur Schiwon, Vincent Petry</author> + <author>Arthur Schiwon</author> + <author>Vincent Petry</author> <default_enable/> - <version>1.2.0</version> + <version>1.3.0</version> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <types> <logging/> diff --git a/apps/dav/appinfo/info.xml b/apps/dav/appinfo/info.xml index 2d9f73b3f43..8be603ee930 100644 --- a/apps/dav/appinfo/info.xml +++ b/apps/dav/appinfo/info.xml @@ -5,7 +5,7 @@ <description>WebDAV endpoint</description> <licence>AGPL</licence> <author>owncloud.org</author> - <version>1.3.0</version> + <version>1.4.0</version> <default_enable/> <types> <filesystem/> @@ -15,7 +15,7 @@ <webdav>appinfo/v1/publicwebdav.php</webdav> </public> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <background-jobs> <job>OCA\DAV\CardDAV\SyncJob</job> diff --git a/apps/encryption/appinfo/info.xml b/apps/encryption/appinfo/info.xml index 307fef4ad8a..36b6774c6ec 100644 --- a/apps/encryption/appinfo/info.xml +++ b/apps/encryption/appinfo/info.xml @@ -13,18 +13,19 @@ </description> <name>Default encryption module</name> <licence>AGPL</licence> - <author>Bjoern Schiessle, Clark Tomlinson</author> + <author>Bjoern Schiessle</author> + <author>Clark Tomlinson</author> <documentation> <user>user-encryption</user> <admin>admin-encryption</admin> </documentation> - <version>1.6.0</version> + <version>1.7.0</version> <types> <filesystem/> </types> <dependencies> <lib>openssl</lib> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <settings> <admin>OCA\Encryption\Settings\Admin</admin> diff --git a/apps/federatedfilesharing/appinfo/info.xml b/apps/federatedfilesharing/appinfo/info.xml index dc5cbffaa8d..aaacf3ec80e 100644 --- a/apps/federatedfilesharing/appinfo/info.xml +++ b/apps/federatedfilesharing/appinfo/info.xml @@ -4,12 +4,13 @@ <name>Federated file sharing</name> <description>Provide federated file sharing across servers</description> <licence>AGPL</licence> - <author>Bjoern Schiessle, Roeland Jago Douma</author> - <version>1.2.0</version> + <author>Bjoern Schiessle</author> + <author>Roeland Jago Douma</author> + <version>1.3.0</version> <namespace>FederatedFileSharing</namespace> <category>other</category> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <settings> <admin>OCA\FederatedFileSharing\Settings\Admin</admin> diff --git a/apps/federatedfilesharing/l10n/pl.js b/apps/federatedfilesharing/l10n/pl.js index b618a18d28d..c0f715ffc2e 100644 --- a/apps/federatedfilesharing/l10n/pl.js +++ b/apps/federatedfilesharing/l10n/pl.js @@ -21,7 +21,7 @@ OC.L10N.register( "Not allowed to create a federated share with the owner." : "Nie można tworzyć stowarzyszonego udziału ze sobą.", "Invalid or untrusted SSL certificate" : "Niewłaściwy lub niezaufany certyfikat SSL", "Could not authenticate to remote share, password might be wrong" : "Nie udało się uwierzytelnić udziału zdalnego, może być błędne hasło", - "Storage not valid" : "Zasób nie jest prawidłowy", + "Storage not valid" : "Magazyn nie jest prawidłowy", "Federated Share successfully added" : "Udane udostępnienie ze Stowarzyszeniem ", "Couldn't add remote share" : "Nie można dodać zdalnego zasobu", "Sharing %s failed, because this item is already shared with %s" : "Współdzielenie %s nie powiodło się, ponieważ element jest już współdzielony z %s", diff --git a/apps/federatedfilesharing/l10n/pl.json b/apps/federatedfilesharing/l10n/pl.json index b4be22c2f44..7e2d0ea763f 100644 --- a/apps/federatedfilesharing/l10n/pl.json +++ b/apps/federatedfilesharing/l10n/pl.json @@ -19,7 +19,7 @@ "Not allowed to create a federated share with the owner." : "Nie można tworzyć stowarzyszonego udziału ze sobą.", "Invalid or untrusted SSL certificate" : "Niewłaściwy lub niezaufany certyfikat SSL", "Could not authenticate to remote share, password might be wrong" : "Nie udało się uwierzytelnić udziału zdalnego, może być błędne hasło", - "Storage not valid" : "Zasób nie jest prawidłowy", + "Storage not valid" : "Magazyn nie jest prawidłowy", "Federated Share successfully added" : "Udane udostępnienie ze Stowarzyszeniem ", "Couldn't add remote share" : "Nie można dodać zdalnego zasobu", "Sharing %s failed, because this item is already shared with %s" : "Współdzielenie %s nie powiodło się, ponieważ element jest już współdzielony z %s", diff --git a/apps/federation/appinfo/info.xml b/apps/federation/appinfo/info.xml index 2d15f20485a..e2211394e1d 100644 --- a/apps/federation/appinfo/info.xml +++ b/apps/federation/appinfo/info.xml @@ -5,11 +5,11 @@ <description>Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing.</description> <licence>AGPL</licence> <author>Bjoern Schiessle</author> - <version>1.2.0</version> + <version>1.3.0</version> <namespace>Federation</namespace> <category>other</category> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <default_enable/> <types> diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml index c49ec7aa407..c4b9e18ed05 100644 --- a/apps/files/appinfo/info.xml +++ b/apps/files/appinfo/info.xml @@ -4,14 +4,15 @@ <name>Files</name> <description>File Management</description> <licence>AGPL</licence> - <author>Robin Appelman, Vincent Petry</author> + <author>Robin Appelman</author> + <author>Vincent Petry</author> <default_enable/> - <version>1.7.2</version> + <version>1.8.0</version> <types> <filesystem/> </types> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <documentation> <user>user-files</user> diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 187ede8c0bd..919b4d38f86 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -2140,6 +2140,7 @@ } catch (error) { input.attr('title', error); input.tooltip({placement: 'right', trigger: 'manual'}); + input.tooltip('fixTitle'); input.tooltip('show'); input.addClass('error'); } @@ -2154,6 +2155,7 @@ } catch (error) { input.attr('title', error); input.tooltip({placement: 'right', trigger: 'manual'}); + input.tooltip('fixTitle'); input.tooltip('show'); input.addClass('error'); } diff --git a/apps/files/js/newfilemenu.js b/apps/files/js/newfilemenu.js index 9f3b7eb7332..18d9104dc40 100644 --- a/apps/files/js/newfilemenu.js +++ b/apps/files/js/newfilemenu.js @@ -156,6 +156,7 @@ } catch (error) { $input.attr('title', error); $input.tooltip({placement: 'right', trigger: 'manual'}); + $input.tooltip('fixTitle'); $input.tooltip('show'); $input.addClass('error'); } diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js index 89d5cb476e7..ac413b3d695 100644 --- a/apps/files/l10n/pl.js +++ b/apps/files/l10n/pl.js @@ -1,8 +1,8 @@ OC.L10N.register( "files", { - "Storage is temporarily not available" : "Przechowywanie jest czasowo niedostępne", - "Storage invalid" : "Pamięć nieprawidłowa", + "Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny", + "Storage invalid" : "Nieprawidłowy magazyn", "Unknown error" : "Nieznany błąd", "All files" : "Wszystkie pliki", "Recent" : "Ostatnie", @@ -59,7 +59,7 @@ OC.L10N.register( "\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.", "File name cannot be empty." : "Nazwa pliku nie może być pusta.", "\"{name}\" is not an allowed filetype" : "typ pliku \"{name}\" nie jest dozwolony", - "Storage of {owner} is full, files can not be updated or synced anymore!" : "Brak wolnego miejsca {owner}, pliki nie mogą zostać zaktualizowane lub synchronizowane! ", + "Storage of {owner} is full, files can not be updated or synced anymore!" : "Brak wolnego miejsca dla {owner}, pliki nie mogą zostać zaktualizowane lub synchronizowane! ", "Your storage is full, files can not be updated or synced anymore!" : "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!", "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Miejsce dla {owner} jest na wyczerpaniu ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)", @@ -100,9 +100,9 @@ OC.L10N.register( "A file has been added to or removed from your <strong>favorites</strong>" : "Plik został dodany lub usunięty z Twoich <strong>ulubionych</strong>", "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Plik lub folder został <strong>zmieniony</ strong> lub <strong>zastąpiony</ strong>", "A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>", - "A new file or folder has been <strong>deleted</strong>" : "Nowy plik lub folder jest <strong>usunięty </strong>", + "A new file or folder has been <strong>deleted</strong>" : "Nowy plik lub folder został <strong>usunięty </strong>", "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ogranicz powiadomienia o utworzeniu i zmianach do swoich <strong>ulubionych plików</strong> <em>(Tylko w strumieniu aktywności)</em>", - "A new file or folder has been <strong>restored</strong>" : "Nowy plik lub folder jest <strong>przywrócony</strong>", + "A new file or folder has been <strong>restored</strong>" : "Nowy plik lub folder został <strong>przywrócony</strong>", "Upload (max. %s)" : "Wysyłka (max. %s)", "File handling" : "Zarządzanie plikami", "Maximum upload size" : "Maksymalny rozmiar wysyłanego pliku", diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json index e346fcda6bc..4858a697cf6 100644 --- a/apps/files/l10n/pl.json +++ b/apps/files/l10n/pl.json @@ -1,6 +1,6 @@ { "translations": { - "Storage is temporarily not available" : "Przechowywanie jest czasowo niedostępne", - "Storage invalid" : "Pamięć nieprawidłowa", + "Storage is temporarily not available" : "Magazyn jest tymczasowo niedostępny", + "Storage invalid" : "Nieprawidłowy magazyn", "Unknown error" : "Nieznany błąd", "All files" : "Wszystkie pliki", "Recent" : "Ostatnie", @@ -57,7 +57,7 @@ "\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.", "File name cannot be empty." : "Nazwa pliku nie może być pusta.", "\"{name}\" is not an allowed filetype" : "typ pliku \"{name}\" nie jest dozwolony", - "Storage of {owner} is full, files can not be updated or synced anymore!" : "Brak wolnego miejsca {owner}, pliki nie mogą zostać zaktualizowane lub synchronizowane! ", + "Storage of {owner} is full, files can not be updated or synced anymore!" : "Brak wolnego miejsca dla {owner}, pliki nie mogą zostać zaktualizowane lub synchronizowane! ", "Your storage is full, files can not be updated or synced anymore!" : "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!", "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Miejsce dla {owner} jest na wyczerpaniu ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)", @@ -98,9 +98,9 @@ "A file has been added to or removed from your <strong>favorites</strong>" : "Plik został dodany lub usunięty z Twoich <strong>ulubionych</strong>", "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Plik lub folder został <strong>zmieniony</ strong> lub <strong>zastąpiony</ strong>", "A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>", - "A new file or folder has been <strong>deleted</strong>" : "Nowy plik lub folder jest <strong>usunięty </strong>", + "A new file or folder has been <strong>deleted</strong>" : "Nowy plik lub folder został <strong>usunięty </strong>", "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ogranicz powiadomienia o utworzeniu i zmianach do swoich <strong>ulubionych plików</strong> <em>(Tylko w strumieniu aktywności)</em>", - "A new file or folder has been <strong>restored</strong>" : "Nowy plik lub folder jest <strong>przywrócony</strong>", + "A new file or folder has been <strong>restored</strong>" : "Nowy plik lub folder został <strong>przywrócony</strong>", "Upload (max. %s)" : "Wysyłka (max. %s)", "File handling" : "Zarządzanie plikami", "Maximum upload size" : "Maksymalny rozmiar wysyłanego pliku", diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js index f021315784e..0880f70f5cf 100644 --- a/apps/files/l10n/sv.js +++ b/apps/files/l10n/sv.js @@ -71,6 +71,7 @@ OC.L10N.register( "Favorite" : "Favorit", "Copy direct link (only works for users who have access to this file/folder)" : "Kopiera direktlänk (fungerar endast för de användare som har tillgång till denna fil eller mapp)", "New folder" : "Ny mapp", + "Upload file" : "Ladda upp fil", "An error occurred while trying to update the tags" : "Ett fel uppstod när uppdatera taggarna", "Added to favorites" : "Lades till i favoriter", "Removed from favorites" : "Togs bort från favoriter", diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json index 9d821e56a84..c616223fd2f 100644 --- a/apps/files/l10n/sv.json +++ b/apps/files/l10n/sv.json @@ -69,6 +69,7 @@ "Favorite" : "Favorit", "Copy direct link (only works for users who have access to this file/folder)" : "Kopiera direktlänk (fungerar endast för de användare som har tillgång till denna fil eller mapp)", "New folder" : "Ny mapp", + "Upload file" : "Ladda upp fil", "An error occurred while trying to update the tags" : "Ett fel uppstod när uppdatera taggarna", "Added to favorites" : "Lades till i favoriter", "Removed from favorites" : "Togs bort från favoriter", diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js index 57fc59d5d87..34adcd8f68a 100644 --- a/apps/files/l10n/zh_CN.js +++ b/apps/files/l10n/zh_CN.js @@ -71,6 +71,7 @@ OC.L10N.register( "Favorite" : "收藏", "Copy direct link (only works for users who have access to this file/folder)" : "复制直接链接(仅适用于有权访问此文件/文件夹的用户)", "New folder" : "新建文件夹", + "Upload file" : "上传文件", "An error occurred while trying to update the tags" : "更新标签时出错", "Added to favorites" : "添加到收藏", "Removed from favorites" : "取消收藏", diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json index b63983bde70..da1beb8fcc3 100644 --- a/apps/files/l10n/zh_CN.json +++ b/apps/files/l10n/zh_CN.json @@ -69,6 +69,7 @@ "Favorite" : "收藏", "Copy direct link (only works for users who have access to this file/folder)" : "复制直接链接(仅适用于有权访问此文件/文件夹的用户)", "New folder" : "新建文件夹", + "Upload file" : "上传文件", "An error occurred while trying to update the tags" : "更新标签时出错", "Added to favorites" : "添加到收藏", "Removed from favorites" : "取消收藏", diff --git a/apps/files_external/appinfo/info.xml b/apps/files_external/appinfo/info.xml index 74ad050d30e..5772b89ba9e 100644 --- a/apps/files_external/appinfo/info.xml +++ b/apps/files_external/appinfo/info.xml @@ -8,11 +8,13 @@ This application enables administrators to configure connections to external sto External storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation. </description> <licence>AGPL</licence> - <author>Robin Appelman, Michael Gapczynski, Vincent Petry</author> + <author>Robin Appelman</author> + <author>Michael Gapczynski</author> + <author>Vincent Petry</author> <documentation> <admin>admin-external-storage</admin> </documentation> - <version>1.3.0</version> + <version>1.4.0</version> <types> <filesystem/> </types> @@ -21,7 +23,7 @@ External storage can be configured using the GUI or at the command line. This se <namespace>Files_External</namespace> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <settings> diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js index cb523d31215..3ad33d41ded 100644 --- a/apps/files_external/l10n/pl.js +++ b/apps/files_external/l10n/pl.js @@ -6,7 +6,7 @@ OC.L10N.register( "Please provide a valid app key and secret." : "Proszę podać prawidłowy klucz aplikacji i klucz sekretny.", "Step 1 failed. Exception: %s" : "Krok 1 błędny. Błąd: %s", "Step 2 failed. Exception: %s" : "Krok 2 błędny. Błąd: %s", - "External storages" : "Zewnętrzne zasoby dyskowe", + "External storages" : "Magazyny zewnętrzne", "Dropbox App Configuration" : "Konfiguracja aplikacji Dropbox", "Google Drive App Configuration" : "Konfiguracja aplikacji Google Drive", "Personal" : "Osobiste", @@ -29,7 +29,7 @@ OC.L10N.register( "Couldn't get the list of external mount points: {type}" : "Nie udało się uzyskać listy zewnętrznych punktów montowania: {type}", "There was an error with message: " : "Wystąpił błąd o treści:", "External mount error" : "Błąd przy montowaniu zewnętrznym", - "external-storage" : "dysk zewnętrzny", + "external-storage" : "magazyn zewnętrzny", "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Nie udało się uzyskać listy punktów montowania dysku sieciowego z systemu Windows: puste odpowiedzi z serwera", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Niektóre skonfigurowane zewnętrzne punkty montowania są nie podłączone. Proszę kliknąć na czerwony rząd (y), aby uzyskać więcej informacji", "Please enter the credentials for the {mount} mount" : "Proszę wprowadzić poświadczenia dla {mount} montażu", @@ -122,12 +122,12 @@ OC.L10N.register( "Authentication" : "Poświadczenie", "Configuration" : "Konfiguracja", "Available for" : "Dostępne przez", - "Add storage" : "Dodaj zasoby dyskowe", + "Add storage" : "Dodaj zewnętrzne magazyny", "Advanced settings" : "Ustawienia zaawansowane", "Delete" : "Usuń", "Allow users to mount external storage" : "Pozwól użytkownikom montować zewnętrzne zasoby dyskowe", "Allow users to mount the following external storage" : "Pozwól użytkownikom montować następujące zewnętrzne zasoby dyskowe", - "Storage with id \"%i\" not found" : "Id magazynu nie został znaleziony", - "Storage with id \"%i\" is not user editable" : "Magazyn o id \"%i\" nie jest edytowalny dla użytkowników" + "Storage with id \"%i\" not found" : "Magazyn o ID \"%i\" nie został znaleziony", + "Storage with id \"%i\" is not user editable" : "Magazyn o ID \"%i\" nie może być edytowany przez użytkowników" }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json index e9d45a1e804..b84f713b471 100644 --- a/apps/files_external/l10n/pl.json +++ b/apps/files_external/l10n/pl.json @@ -4,7 +4,7 @@ "Please provide a valid app key and secret." : "Proszę podać prawidłowy klucz aplikacji i klucz sekretny.", "Step 1 failed. Exception: %s" : "Krok 1 błędny. Błąd: %s", "Step 2 failed. Exception: %s" : "Krok 2 błędny. Błąd: %s", - "External storages" : "Zewnętrzne zasoby dyskowe", + "External storages" : "Magazyny zewnętrzne", "Dropbox App Configuration" : "Konfiguracja aplikacji Dropbox", "Google Drive App Configuration" : "Konfiguracja aplikacji Google Drive", "Personal" : "Osobiste", @@ -27,7 +27,7 @@ "Couldn't get the list of external mount points: {type}" : "Nie udało się uzyskać listy zewnętrznych punktów montowania: {type}", "There was an error with message: " : "Wystąpił błąd o treści:", "External mount error" : "Błąd przy montowaniu zewnętrznym", - "external-storage" : "dysk zewnętrzny", + "external-storage" : "magazyn zewnętrzny", "Couldn't get the list of Windows network drive mount points: empty response from the server" : "Nie udało się uzyskać listy punktów montowania dysku sieciowego z systemu Windows: puste odpowiedzi z serwera", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Niektóre skonfigurowane zewnętrzne punkty montowania są nie podłączone. Proszę kliknąć na czerwony rząd (y), aby uzyskać więcej informacji", "Please enter the credentials for the {mount} mount" : "Proszę wprowadzić poświadczenia dla {mount} montażu", @@ -120,12 +120,12 @@ "Authentication" : "Poświadczenie", "Configuration" : "Konfiguracja", "Available for" : "Dostępne przez", - "Add storage" : "Dodaj zasoby dyskowe", + "Add storage" : "Dodaj zewnętrzne magazyny", "Advanced settings" : "Ustawienia zaawansowane", "Delete" : "Usuń", "Allow users to mount external storage" : "Pozwól użytkownikom montować zewnętrzne zasoby dyskowe", "Allow users to mount the following external storage" : "Pozwól użytkownikom montować następujące zewnętrzne zasoby dyskowe", - "Storage with id \"%i\" not found" : "Id magazynu nie został znaleziony", - "Storage with id \"%i\" is not user editable" : "Magazyn o id \"%i\" nie jest edytowalny dla użytkowników" + "Storage with id \"%i\" not found" : "Magazyn o ID \"%i\" nie został znaleziony", + "Storage with id \"%i\" is not user editable" : "Magazyn o ID \"%i\" nie może być edytowany przez użytkowników" },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" }
\ No newline at end of file diff --git a/apps/files_sharing/appinfo/info.xml b/apps/files_sharing/appinfo/info.xml index 001c3bbeb50..f4119a55972 100644 --- a/apps/files_sharing/appinfo/info.xml +++ b/apps/files_sharing/appinfo/info.xml @@ -8,14 +8,15 @@ Turning the feature off removes shared files and folders on the server for all s </description> <licence>AGPL</licence> - <author>Michael Gapczynski, Bjoern Schiessle</author> + <author>Michael Gapczynski</author> + <author>Bjoern Schiessle</author> <default_enable/> - <version>1.4.0</version> + <version>1.5.0</version> <types> <filesystem/> </types> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <public> <files>public.php</files> diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js index 9fcebb1ec59..050f2cadda2 100644 --- a/apps/files_sharing/l10n/sv.js +++ b/apps/files_sharing/l10n/sv.js @@ -89,6 +89,7 @@ OC.L10N.register( "Cannot increase permissions" : "Kan inte utöka behörigheter", "%s is publicly shared" : "%s är offentligt delad", "Share API is disabled" : "Delning av API är inaktiverad", + "File sharing" : "Fildelning", "This share is password-protected" : "Den här delningen är lösenordsskyddad", "The password is wrong. Try again." : "Lösenordet är fel. Försök igen.", "Password" : "Lösenord", diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json index aaec11f144d..d527d1bdeb4 100644 --- a/apps/files_sharing/l10n/sv.json +++ b/apps/files_sharing/l10n/sv.json @@ -87,6 +87,7 @@ "Cannot increase permissions" : "Kan inte utöka behörigheter", "%s is publicly shared" : "%s är offentligt delad", "Share API is disabled" : "Delning av API är inaktiverad", + "File sharing" : "Fildelning", "This share is password-protected" : "Den här delningen är lösenordsskyddad", "The password is wrong. Try again." : "Lösenordet är fel. Försök igen.", "Password" : "Lösenord", diff --git a/apps/files_sharing/lib/External/Manager.php b/apps/files_sharing/lib/External/Manager.php index 2adcc7cf5cb..4e0b3a215f0 100644 --- a/apps/files_sharing/lib/External/Manager.php +++ b/apps/files_sharing/lib/External/Manager.php @@ -198,6 +198,7 @@ class Manager { $share = $this->getShare($id); if ($share) { + \OC_Util::setupFS($this->uid); $mountPoint = Files::buildNotExistingFileName('/', $share['name']); $mountPoint = Filesystem::normalizePath('/' . $mountPoint); $hash = md5($mountPoint); diff --git a/apps/files_trashbin/appinfo/info.xml b/apps/files_trashbin/appinfo/info.xml index a756013568d..a941e4afdc1 100644 --- a/apps/files_trashbin/appinfo/info.xml +++ b/apps/files_trashbin/appinfo/info.xml @@ -10,13 +10,13 @@ To prevent a user from running out of disk space, the Deleted files app will not <licence>AGPL</licence> <author>Bjoern Schiessle</author> <default_enable/> - <version>1.2.0</version> + <version>1.3.0</version> <types> <filesystem/> </types> <namespace>Files_Trashbin</namespace> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <documentation> <user>user-trashbin</user> diff --git a/apps/files_versions/appinfo/info.xml b/apps/files_versions/appinfo/info.xml index 5304051d751..cb7d5d07d33 100644 --- a/apps/files_versions/appinfo/info.xml +++ b/apps/files_versions/appinfo/info.xml @@ -3,18 +3,19 @@ <id>files_versions</id> <name>Versions</name> <licence>AGPL</licence> - <author>Frank Karlitschek, Bjoern Schiessle</author> + <author>Frank Karlitschek</author> + <author>Bjoern Schiessle</author> <description> This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions. In addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation. </description> - <version>1.5.0</version> + <version>1.6.0</version> <types> <filesystem/> </types> <namespace>Files_Versions</namespace> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <documentation> <user>user-versions</user> diff --git a/apps/lookup_server_connector/appinfo/info.xml b/apps/lookup_server_connector/appinfo/info.xml index 7bada73bbbb..19b6587a14a 100644 --- a/apps/lookup_server_connector/appinfo/info.xml +++ b/apps/lookup_server_connector/appinfo/info.xml @@ -6,10 +6,10 @@ <licence>AGPL</licence> <author>Bjoern Schiessle</author> <namespace>LookupServerConnector</namespace> - <version>1.0.0</version> + <version>1.1.0</version> <category>other</category> <dependencies> - <nextcloud min-version="12.0" max-version="12.0" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <default_enable/> <types> diff --git a/apps/oauth2/appinfo/info.xml b/apps/oauth2/appinfo/info.xml index 5e9e8dae06a..ccddc9a8f71 100644 --- a/apps/oauth2/appinfo/info.xml +++ b/apps/oauth2/appinfo/info.xml @@ -6,11 +6,14 @@ <licence>agpl</licence> <author>Lukas Reschke</author> <namespace>OAuth2</namespace> - <version>1.0.5</version> + <version>1.1.0</version> <default_enable/> <types> <authentication/> </types> + <dependencies> + <nextcloud min-version="13" max-version="13" /> + </dependencies> <settings> <admin>OCA\OAuth2\Settings\Admin</admin> diff --git a/apps/oauth2/l10n/ja.js b/apps/oauth2/l10n/ja.js new file mode 100644 index 00000000000..52cb3ec3d3a --- /dev/null +++ b/apps/oauth2/l10n/ja.js @@ -0,0 +1,13 @@ +OC.L10N.register( + "oauth2", + { + "OAuth 2.0" : "OAuth 2.0", + "OAuth 2.0 clients" : "OAuth 2.0クライアント", + "Name" : "名前", + "Redirection URI" : "リダイレクトURI", + "Client Identifier" : "クライアントID", + "Secret" : "シークレットキー", + "Add client" : "クライアントを追加", + "Add" : "追加" +}, +"nplurals=1; plural=0;"); diff --git a/apps/oauth2/l10n/ja.json b/apps/oauth2/l10n/ja.json new file mode 100644 index 00000000000..755983ba848 --- /dev/null +++ b/apps/oauth2/l10n/ja.json @@ -0,0 +1,11 @@ +{ "translations": { + "OAuth 2.0" : "OAuth 2.0", + "OAuth 2.0 clients" : "OAuth 2.0クライアント", + "Name" : "名前", + "Redirection URI" : "リダイレクトURI", + "Client Identifier" : "クライアントID", + "Secret" : "シークレットキー", + "Add client" : "クライアントを追加", + "Add" : "追加" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/oauth2/l10n/pl.js b/apps/oauth2/l10n/pl.js index 54d8dfaed53..7700ba0b96a 100644 --- a/apps/oauth2/l10n/pl.js +++ b/apps/oauth2/l10n/pl.js @@ -2,7 +2,7 @@ OC.L10N.register( "oauth2", { "OAuth 2.0" : "OAuth 2.0", - "OAuth 2.0 clients" : "klienci OAuth 2.0", + "OAuth 2.0 clients" : "Klienci OAuth 2.0", "OAuth 2.0 allows external services to request access to your %s." : "OAuth 2.0 pozwala zewnętrznym usługom na żądanie dostępu do %s.", "Name" : "Nazwa", "Redirection URI" : "URI przekierowania", diff --git a/apps/oauth2/l10n/pl.json b/apps/oauth2/l10n/pl.json index ddece8c5aab..de65cf950af 100644 --- a/apps/oauth2/l10n/pl.json +++ b/apps/oauth2/l10n/pl.json @@ -1,6 +1,6 @@ { "translations": { "OAuth 2.0" : "OAuth 2.0", - "OAuth 2.0 clients" : "klienci OAuth 2.0", + "OAuth 2.0 clients" : "Klienci OAuth 2.0", "OAuth 2.0 allows external services to request access to your %s." : "OAuth 2.0 pozwala zewnętrznym usługom na żądanie dostępu do %s.", "Name" : "Nazwa", "Redirection URI" : "URI przekierowania", diff --git a/apps/oauth2/l10n/vi.js b/apps/oauth2/l10n/vi.js new file mode 100644 index 00000000000..a320d5bde88 --- /dev/null +++ b/apps/oauth2/l10n/vi.js @@ -0,0 +1,12 @@ +OC.L10N.register( + "oauth2", + { + "OAuth 2.0" : "OAuth 2.0", + "OAuth 2.0 clients" : "kết nối OAuth 2.0", + "Name" : "Tên", + "Redirection URI" : "Liên kết chuyển tiếp", + "Secret" : "Mật khẩu", + "Add client" : "Thêm kết nối", + "Add" : "Thêm" +}, +"nplurals=1; plural=0;"); diff --git a/apps/oauth2/l10n/vi.json b/apps/oauth2/l10n/vi.json new file mode 100644 index 00000000000..7ab4adcd6cf --- /dev/null +++ b/apps/oauth2/l10n/vi.json @@ -0,0 +1,10 @@ +{ "translations": { + "OAuth 2.0" : "OAuth 2.0", + "OAuth 2.0 clients" : "kết nối OAuth 2.0", + "Name" : "Tên", + "Redirection URI" : "Liên kết chuyển tiếp", + "Secret" : "Mật khẩu", + "Add client" : "Thêm kết nối", + "Add" : "Thêm" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/oauth2/l10n/zh_CN.js b/apps/oauth2/l10n/zh_CN.js new file mode 100644 index 00000000000..f0f4449cd63 --- /dev/null +++ b/apps/oauth2/l10n/zh_CN.js @@ -0,0 +1,13 @@ +OC.L10N.register( + "oauth2", + { + "OAuth 2.0" : "OAuth 2.0", + "OAuth 2.0 clients" : "OAuth 2.0 客户端", + "Name" : "名称", + "Redirection URI" : "回调地址", + "Client Identifier" : "客户端 ID", + "Secret" : "密钥", + "Add client" : "添加客户端", + "Add" : "添加" +}, +"nplurals=1; plural=0;"); diff --git a/apps/oauth2/l10n/zh_CN.json b/apps/oauth2/l10n/zh_CN.json new file mode 100644 index 00000000000..2ebf7916049 --- /dev/null +++ b/apps/oauth2/l10n/zh_CN.json @@ -0,0 +1,11 @@ +{ "translations": { + "OAuth 2.0" : "OAuth 2.0", + "OAuth 2.0 clients" : "OAuth 2.0 客户端", + "Name" : "名称", + "Redirection URI" : "回调地址", + "Client Identifier" : "客户端 ID", + "Secret" : "密钥", + "Add client" : "添加客户端", + "Add" : "添加" +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/apps/provisioning_api/appinfo/info.xml b/apps/provisioning_api/appinfo/info.xml index ede999ffec6..54c77ac2a1e 100644 --- a/apps/provisioning_api/appinfo/info.xml +++ b/apps/provisioning_api/appinfo/info.xml @@ -17,12 +17,12 @@ <documentation> <admin>admin-provisioning-api</admin> </documentation> - <version>1.2.0</version> + <version>1.3.0</version> <namespace>Provisioning_API</namespace> <types> <prevent_group_restriction/> </types> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> </info> diff --git a/apps/sharebymail/appinfo/info.xml b/apps/sharebymail/appinfo/info.xml index ab50ef03694..b64573d59a0 100644 --- a/apps/sharebymail/appinfo/info.xml +++ b/apps/sharebymail/appinfo/info.xml @@ -5,11 +5,11 @@ <description>Share provider which allows you to share files by mail</description> <licence>AGPL</licence> <author>Bjoern Schiessle</author> - <version>1.2.0</version> + <version>1.3.0</version> <namespace>ShareByMail</namespace> <category>other</category> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <default_enable/> diff --git a/apps/sharebymail/l10n/el.js b/apps/sharebymail/l10n/el.js index f7c4e3d3edf..0bb79ea7dff 100644 --- a/apps/sharebymail/l10n/el.js +++ b/apps/sharebymail/l10n/el.js @@ -13,6 +13,8 @@ OC.L10N.register( "%3$s shared %1$s with %2$s by mail" : "%3$s Διαμοιραστηκε %1$s με %2$s μέσω mail", "{actor} shared {file} with {email} by mail" : "{actor} διαμοίρασε {file} με {email} μέσω mail", "Password to access %1$s was sent to %2s" : "Το συνθηματικό για πρόσβαση στο %1$s στάθηκε στο %2s", + "Password to access %1$s was sent to you" : "Σας έχει αποσταλεί το συνθηματικό για πρόσβαση στο %1$s", + "Password to access {file} was sent to you" : "Σας έχει αποσταλεί στο συνθηματικό για πρόσβαση {file}", "Sharing %s failed, this item is already shared with %s" : "Διαμοιρασμός %s απέτυχε, αυτό το αντικείμενο είναι ήδη διαμοιρασμένο με %s", "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Δεν μπορούμε να σας στείλουμε αυτοδημιουργημένο συνθηματικό. Παρακαλούμε βάλτε μία έγκυρη διεύθυνση email στις προσωπικές σας ρυθμίσεις και προσπαθήστε ξανά.", "Failed to send share by E-mail" : "Αποτυχία αποστολής συνδέσμου διαμοιρασμού μέσω Ηλ.ταχυδρομείου", diff --git a/apps/sharebymail/l10n/el.json b/apps/sharebymail/l10n/el.json index 8f8e1140ef5..b516e39c04b 100644 --- a/apps/sharebymail/l10n/el.json +++ b/apps/sharebymail/l10n/el.json @@ -11,6 +11,8 @@ "%3$s shared %1$s with %2$s by mail" : "%3$s Διαμοιραστηκε %1$s με %2$s μέσω mail", "{actor} shared {file} with {email} by mail" : "{actor} διαμοίρασε {file} με {email} μέσω mail", "Password to access %1$s was sent to %2s" : "Το συνθηματικό για πρόσβαση στο %1$s στάθηκε στο %2s", + "Password to access %1$s was sent to you" : "Σας έχει αποσταλεί το συνθηματικό για πρόσβαση στο %1$s", + "Password to access {file} was sent to you" : "Σας έχει αποσταλεί στο συνθηματικό για πρόσβαση {file}", "Sharing %s failed, this item is already shared with %s" : "Διαμοιρασμός %s απέτυχε, αυτό το αντικείμενο είναι ήδη διαμοιρασμένο με %s", "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Δεν μπορούμε να σας στείλουμε αυτοδημιουργημένο συνθηματικό. Παρακαλούμε βάλτε μία έγκυρη διεύθυνση email στις προσωπικές σας ρυθμίσεις και προσπαθήστε ξανά.", "Failed to send share by E-mail" : "Αποτυχία αποστολής συνδέσμου διαμοιρασμού μέσω Ηλ.ταχυδρομείου", diff --git a/apps/sharebymail/l10n/pl.js b/apps/sharebymail/l10n/pl.js index f41f74859d7..db9c54e6085 100644 --- a/apps/sharebymail/l10n/pl.js +++ b/apps/sharebymail/l10n/pl.js @@ -30,6 +30,7 @@ OC.L10N.register( "Password to access »%s«" : "Hasło do dostępu »%s«", "It is protected with the following password: %s" : "To jest chronione z nstępującym hasłem: %s", "Password to access »%s« shared with %s" : "Hasło dostępu do »%s« zostało udostępnione %s", + "You just shared »%s« with %s. The share was already send to the recipient. Due to the security policies defined by the administrator of %s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Właśnie udostępniłeś »%s« użytkownikowi %s. Udostępniony udział został już wysłany do odbiorcy, jednak zgodnie z polityką bezpieczeństwa ustanowioną przez administratora %s każdy udział musi zostać zabezpieczony hasłem. Wysyłanie hasła bezpośrednio do odbiorcy jest zabronione, dlatego też musisz mu je przekazać w klasyczny sposób.", "This is the password: %s" : "To jest hasło: %s", "You can choose a different password at any time in the share dialog." : "Możesz zmienić hasło w okienku współdzielenia w dowolnym momencie.", "Could not find share" : "Nie można odnaleźć współdzielonego obiektu", diff --git a/apps/sharebymail/l10n/pl.json b/apps/sharebymail/l10n/pl.json index 256a9b837db..92d7722e29c 100644 --- a/apps/sharebymail/l10n/pl.json +++ b/apps/sharebymail/l10n/pl.json @@ -28,6 +28,7 @@ "Password to access »%s«" : "Hasło do dostępu »%s«", "It is protected with the following password: %s" : "To jest chronione z nstępującym hasłem: %s", "Password to access »%s« shared with %s" : "Hasło dostępu do »%s« zostało udostępnione %s", + "You just shared »%s« with %s. The share was already send to the recipient. Due to the security policies defined by the administrator of %s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Właśnie udostępniłeś »%s« użytkownikowi %s. Udostępniony udział został już wysłany do odbiorcy, jednak zgodnie z polityką bezpieczeństwa ustanowioną przez administratora %s każdy udział musi zostać zabezpieczony hasłem. Wysyłanie hasła bezpośrednio do odbiorcy jest zabronione, dlatego też musisz mu je przekazać w klasyczny sposób.", "This is the password: %s" : "To jest hasło: %s", "You can choose a different password at any time in the share dialog." : "Możesz zmienić hasło w okienku współdzielenia w dowolnym momencie.", "Could not find share" : "Nie można odnaleźć współdzielonego obiektu", diff --git a/apps/systemtags/appinfo/info.xml b/apps/systemtags/appinfo/info.xml index 02cafdb4d26..cdefb3dcf29 100644 --- a/apps/systemtags/appinfo/info.xml +++ b/apps/systemtags/appinfo/info.xml @@ -5,11 +5,12 @@ <description>Collaborative tagging functionality which shares tags among users. Great for teams. (If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)</description> <licence>AGPL</licence> - <author>Vincent Petry, Joas Schilling</author> + <author>Vincent Petry</author> + <author>Joas Schilling</author> <default_enable/> - <version>1.2.0</version> + <version>1.3.0</version> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <namespace>SystemTags</namespace> <types> diff --git a/apps/testing/appinfo/info.xml b/apps/testing/appinfo/info.xml index caefd1709c5..a0d3068d6bb 100644 --- a/apps/testing/appinfo/info.xml +++ b/apps/testing/appinfo/info.xml @@ -5,9 +5,9 @@ <description>This app is only for testing! It is dangerous to have it enabled in a live instance</description> <licence>AGPL</licence> <author>Joas Schilling</author> - <version>1.2.0</version> + <version>1.3.0</version> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <types> <authentication/> diff --git a/apps/theming/appinfo/info.xml b/apps/theming/appinfo/info.xml index 13a0f161a47..ee3126c0781 100644 --- a/apps/theming/appinfo/info.xml +++ b/apps/theming/appinfo/info.xml @@ -5,12 +5,12 @@ <description>Adjust the Nextcloud theme</description> <licence>AGPL</licence> <author>Nextcloud</author> - <version>1.3.0</version> + <version>1.4.0</version> <namespace>Theming</namespace> <category>other</category> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <types> diff --git a/apps/twofactor_backupcodes/appinfo/info.xml b/apps/twofactor_backupcodes/appinfo/info.xml index 77ecbd8e1a2..92300320e1e 100644 --- a/apps/twofactor_backupcodes/appinfo/info.xml +++ b/apps/twofactor_backupcodes/appinfo/info.xml @@ -5,7 +5,7 @@ <description>A two-factor auth backup codes provider</description> <licence>agpl</licence> <author>Christoph Wurst</author> - <version>1.1.1</version> + <version>1.2.0</version> <namespace>TwoFactorBackupCodes</namespace> <category>other</category> @@ -14,7 +14,7 @@ </two-factor-providers> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <activity> diff --git a/apps/updatenotification/appinfo/info.xml b/apps/updatenotification/appinfo/info.xml index 3ddde656be7..aee0692ab47 100644 --- a/apps/updatenotification/appinfo/info.xml +++ b/apps/updatenotification/appinfo/info.xml @@ -5,11 +5,11 @@ <description>Displays update notifications for Nextcloud and provides the SSO for the updater.</description> <licence>AGPL</licence> <author>Lukas Reschke</author> - <version>1.2.0</version> + <version>1.3.0</version> <namespace>UpdateNotification</namespace> <default_enable/> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <background-jobs> diff --git a/apps/user_ldap/appinfo/info.xml b/apps/user_ldap/appinfo/info.xml index bbc4aac6696..29d8b5df022 100644 --- a/apps/user_ldap/appinfo/info.xml +++ b/apps/user_ldap/appinfo/info.xml @@ -8,8 +8,9 @@ A user logs into Nextcloud with their LDAP or AD credentials, and is granted acc </description> <licence>AGPL</licence> - <author>Dominik Schmidt and Arthur Schiwon</author> - <version>1.2.1</version> + <author>Dominik Schmidt</author> + <author>Arthur Schiwon</author> + <version>1.3.0</version> <types> <authentication/> </types> @@ -18,7 +19,7 @@ A user logs into Nextcloud with their LDAP or AD credentials, and is granted acc </documentation> <dependencies> <lib>ldap</lib> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <namespace>User_LDAP</namespace> diff --git a/apps/user_ldap/l10n/pl.js b/apps/user_ldap/l10n/pl.js index 2b554a4970e..a8bfc62e3fd 100644 --- a/apps/user_ldap/l10n/pl.js +++ b/apps/user_ldap/l10n/pl.js @@ -12,6 +12,7 @@ OC.L10N.register( "No data specified" : "Nie określono danych", " Could not set configuration %s" : "Nie można ustawić konfiguracji %s", "Action does not exist" : "Akcja nie istnieje", + "LDAP user and group backend" : "Zaplecze użytkowników i grup LDAP", "Renewing …" : "Odnawianie ...", "Very weak password" : "Bardzo słabe hasło", "Weak password" : "Słabe hasło", diff --git a/apps/user_ldap/l10n/pl.json b/apps/user_ldap/l10n/pl.json index a0ce0f5ac8c..308579c8484 100644 --- a/apps/user_ldap/l10n/pl.json +++ b/apps/user_ldap/l10n/pl.json @@ -10,6 +10,7 @@ "No data specified" : "Nie określono danych", " Could not set configuration %s" : "Nie można ustawić konfiguracji %s", "Action does not exist" : "Akcja nie istnieje", + "LDAP user and group backend" : "Zaplecze użytkowników i grup LDAP", "Renewing …" : "Odnawianie ...", "Very weak password" : "Bardzo słabe hasło", "Weak password" : "Słabe hasło", diff --git a/apps/workflowengine/appinfo/info.xml b/apps/workflowengine/appinfo/info.xml index b037174d348..80a277f375d 100644 --- a/apps/workflowengine/appinfo/info.xml +++ b/apps/workflowengine/appinfo/info.xml @@ -5,7 +5,7 @@ <description></description> <licence>AGPL</licence> <author>Morris Jobke</author> - <version>1.2.0</version> + <version>1.3.0</version> <namespace>WorkflowEngine</namespace> <category>other</category> @@ -18,7 +18,7 @@ </types> <dependencies> - <nextcloud min-version="12" max-version="12" /> + <nextcloud min-version="13" max-version="13" /> </dependencies> <settings> diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index 499709c0696..14718446a22 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -156,7 +156,7 @@ { docLink: data.phpOpcacheDocumentation, } - ) + "<pre><code>opcache.enable=On\nopcache.enable_cli=1\nopcache.interned_strings_buffer=8\nopcache.max_accelerated_files=10000\nopcache.memory_consumption=128\nopcache.save_comments=1\nopcache.revalidate_freq=1</code></pre>", + ) + "<pre><code>opcache.enable=1\nopcache.enable_cli=1\nopcache.interned_strings_buffer=8\nopcache.max_accelerated_files=10000\nopcache.memory_consumption=128\nopcache.save_comments=1\nopcache.revalidate_freq=1</code></pre>", type: OC.SetupChecks.MESSAGE_TYPE_INFO }); } diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js index 30a60d3599b..9230484fb40 100644 --- a/core/js/tests/specs/setupchecksSpec.js +++ b/core/js/tests/specs/setupchecksSpec.js @@ -433,7 +433,7 @@ describe('OC.SetupChecks tests', function() { async.done(function( data, s, x ){ expect(data).toEqual([{ - msg: 'The PHP Opcache is not properly configured. <a href="https://example.org/link/to/doc" rel="noreferrer">For better performance we recommend ↗</a> to use following settings in the <code>php.ini</code>:' + "<pre><code>opcache.enable=On\nopcache.enable_cli=1\nopcache.interned_strings_buffer=8\nopcache.max_accelerated_files=10000\nopcache.memory_consumption=128\nopcache.save_comments=1\nopcache.revalidate_freq=1</code></pre>", + msg: 'The PHP Opcache is not properly configured. <a href="https://example.org/link/to/doc" rel="noreferrer">For better performance we recommend ↗</a> to use following settings in the <code>php.ini</code>:' + "<pre><code>opcache.enable=1\nopcache.enable_cli=1\nopcache.interned_strings_buffer=8\nopcache.max_accelerated_files=10000\nopcache.memory_consumption=128\nopcache.save_comments=1\nopcache.revalidate_freq=1</code></pre>", type: OC.SetupChecks.MESSAGE_TYPE_INFO }]); done(); diff --git a/core/l10n/ja.js b/core/l10n/ja.js index 2dcc04f13f1..486d62f55f7 100644 --- a/core/l10n/ja.js +++ b/core/l10n/ja.js @@ -14,6 +14,7 @@ OC.L10N.register( "No crop data provided" : "クロップデータは提供されません", "No valid crop data provided" : "有効なクロップデータは提供されません", "Crop is not square" : "クロップが正方形ではありません", + "Password reset is disabled" : "パスワードリセットは無効化されています", "Couldn't reset password because the token is invalid" : "トークンが無効なため、パスワードをリセットできませんでした", "Couldn't reset password because the token is expired" : "トークンが期限切れのため、パスワードをリセットできませんでした", "Could not send reset email because there is no email address for this username. Please contact your administrator." : "このユーザー名に紐付けられたメールアドレスがないため、リセットメールを送信できませんでした。管理者に問い合わせてください。", @@ -49,6 +50,8 @@ OC.L10N.register( "%s (incompatible)" : "%s (非互換)", "Following apps have been disabled: %s" : "以下のアプリが無効にされています: %s", "Already up to date" : "すべて更新済", + "No contacts found" : "連絡先が見つかりません", + "Show all contacts …" : "全ての連絡先を表示...", "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">コード整合性の確認で問題が発生しました。詳しくはこちら…</a>", "Settings" : "設定", "Connection to server lost" : "サーバとの接続が切断されました", @@ -72,6 +75,7 @@ OC.L10N.register( "No files in here" : "ここにはファイルがありません", "Choose" : "選択", "Error loading file picker template: {error}" : "ファイル選択テンプレートの読み込みエラー: {error}", + "OK" : "OK", "Error loading message template: {error}" : "メッセージテンプレートの読み込みエラー: {error}", "read-only" : "読み取り専用", "_{count} file conflict_::_{count} file conflicts_" : ["{count} ファイルが競合"], @@ -127,6 +131,7 @@ OC.L10N.register( "Email link to person" : "メールリンク", "Send" : "送信", "Allow upload and editing" : "アップロードと編集を許可する", + "Read only" : "読み取り専用", "File drop (upload only)" : "ファイルドロップ(アップロードのみ)", "Shared with you and the group {group} by {owner}" : "あなたと {owner} のグループ {group} で共有中", "Shared with you by {owner}" : "{owner} より共有中", @@ -156,6 +161,7 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (メール)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "共有", + "Name or email address..." : "名前またはメールアドレス", "Error" : "エラー", "Error removing share" : "共有の削除エラー", "Non-existing tag #{tag}" : "存在しないタグ#{tag}", @@ -247,6 +253,7 @@ OC.L10N.register( "Log in" : "ログイン", "Stay logged in" : "ログインしたままにする", "Alternative Logins" : "代替ログイン", + "App token" : "アプリのトークン", "New password" : "新しいパスワードを入力", "New Password" : "新しいパスワード", "Reset password" : "パスワードをリセット", diff --git a/core/l10n/ja.json b/core/l10n/ja.json index 35b9eed819e..f17ea99d25c 100644 --- a/core/l10n/ja.json +++ b/core/l10n/ja.json @@ -12,6 +12,7 @@ "No crop data provided" : "クロップデータは提供されません", "No valid crop data provided" : "有効なクロップデータは提供されません", "Crop is not square" : "クロップが正方形ではありません", + "Password reset is disabled" : "パスワードリセットは無効化されています", "Couldn't reset password because the token is invalid" : "トークンが無効なため、パスワードをリセットできませんでした", "Couldn't reset password because the token is expired" : "トークンが期限切れのため、パスワードをリセットできませんでした", "Could not send reset email because there is no email address for this username. Please contact your administrator." : "このユーザー名に紐付けられたメールアドレスがないため、リセットメールを送信できませんでした。管理者に問い合わせてください。", @@ -47,6 +48,8 @@ "%s (incompatible)" : "%s (非互換)", "Following apps have been disabled: %s" : "以下のアプリが無効にされています: %s", "Already up to date" : "すべて更新済", + "No contacts found" : "連絡先が見つかりません", + "Show all contacts …" : "全ての連絡先を表示...", "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">コード整合性の確認で問題が発生しました。詳しくはこちら…</a>", "Settings" : "設定", "Connection to server lost" : "サーバとの接続が切断されました", @@ -70,6 +73,7 @@ "No files in here" : "ここにはファイルがありません", "Choose" : "選択", "Error loading file picker template: {error}" : "ファイル選択テンプレートの読み込みエラー: {error}", + "OK" : "OK", "Error loading message template: {error}" : "メッセージテンプレートの読み込みエラー: {error}", "read-only" : "読み取り専用", "_{count} file conflict_::_{count} file conflicts_" : ["{count} ファイルが競合"], @@ -125,6 +129,7 @@ "Email link to person" : "メールリンク", "Send" : "送信", "Allow upload and editing" : "アップロードと編集を許可する", + "Read only" : "読み取り専用", "File drop (upload only)" : "ファイルドロップ(アップロードのみ)", "Shared with you and the group {group} by {owner}" : "あなたと {owner} のグループ {group} で共有中", "Shared with you by {owner}" : "{owner} より共有中", @@ -154,6 +159,7 @@ "{sharee} (email)" : "{sharee} (メール)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "共有", + "Name or email address..." : "名前またはメールアドレス", "Error" : "エラー", "Error removing share" : "共有の削除エラー", "Non-existing tag #{tag}" : "存在しないタグ#{tag}", @@ -245,6 +251,7 @@ "Log in" : "ログイン", "Stay logged in" : "ログインしたままにする", "Alternative Logins" : "代替ログイン", + "App token" : "アプリのトークン", "New password" : "新しいパスワードを入力", "New Password" : "新しいパスワード", "Reset password" : "パスワードをリセット", diff --git a/core/l10n/pl.js b/core/l10n/pl.js index 0e2ff0a34e7..6f3d9482f03 100644 --- a/core/l10n/pl.js +++ b/core/l10n/pl.js @@ -35,16 +35,16 @@ OC.L10N.register( "Turned on maintenance mode" : "Włączony tryb konserwacji", "Turned off maintenance mode" : "Wyłączony tryb konserwacji", "Maintenance mode is kept active" : "Tryb konserwacji pozostaje aktywny", - "Updating database schema" : "Aktualizacja schematu bazy danych", + "Updating database schema" : "Aktualizacja struktury bazy danych", "Updated database" : "Zaktualizuj bazę", - "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy schemat bazy danych może zostać zaktualizowany (to może zająć sporo czasu i zależy od rozmiaru bazy danych)", - "Checked database schema update" : "Sprawdzono aktualizację schematu bazy danych", + "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy struktura bazy danych może zostać zaktualizowana (to może zająć sporo czasu i zależy od rozmiaru bazy danych)", + "Checked database schema update" : "Sprawdzono aktualizację struktury bazy danych", "Checking updates of apps" : "Sprawdzam aktualizacje aplikacji", "Checking for update of app \"%s\" in appstore" : "Sprawdzanie aktualizacji dla aplikacji \"%s\" w sklepie aplikacji", "Update app \"%s\" from appstore" : "Zaktualizuj aplikację \"%s\" ze sklepu aplikacji", "Checked for update of app \"%s\" in appstore" : "Sprawdzono aktualizację dla aplikacji \"%s\" w sklepie aplikacji.", - "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy schemat bazy danych %s może zostać zaktualizowany (to może zająć sporo czasu i zależy od rozmiaru bazy danych)", - "Checked database schema update for apps" : "Sprawdzono aktualizację schematu bazy danych dla aplikacji", + "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy struktura bazy danych %s może zostać zaktualizowana (to może zająć sporo czasu i zależy od rozmiaru bazy danych)", + "Checked database schema update for apps" : "Sprawdzono aktualizację struktury bazy danych dla aplikacji", "Updated \"%s\" to %s" : "Zaktualizowano \"%s\" do %s", "Set log level to debug" : "Ustaw poziom logowania na debug", "Reset log level" : "Zresetuj poziom logowania", @@ -235,7 +235,7 @@ OC.L10N.register( "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Aby uzyskać informację jak poprawnie skonfigurować Twój serwer, zajrzyj do <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentacji</a>.", "Create an <strong>admin account</strong>" : "Utwórz <strong>konto administratora</strong>", "Username" : "Nazwa użytkownika", - "Storage & database" : "Zasoby dysku & baza danych", + "Storage & database" : "Magazyn i baza danych", "Data folder" : "Katalog danych", "Configure the database" : "Skonfiguruj bazę danych", "Only %s is available." : "Dostępne jest wyłącznie %s.", @@ -303,6 +303,8 @@ OC.L10N.register( "Update needed" : "Wymagana aktualizacja", "Please use the command line updater because you have a big instance with more than 50 users." : "Proszę uzyć aktualizatora z wiersza poleceń, ponieważ masz dużą instancję z ponad 50-cioma użytkownikami.", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Aby uzyskać pomoc, zajrzyj do <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacji</a>.", + "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Wiem, że jeśli kontynuuję aktualizację za pomocą przeglądarki, istnieje ryzyko że operacja może nie wykonać się w okreśłonym limicie czasu co może doprowadzić do utraty danych, ale mam kopię zapasową i wiem jak jej użyć w przypadku niepowodzenia.", + "Upgrade via web on my own risk" : "Wykonaj aktualizację poprzez przeglądarkę na moją odpowiedzialność", "This %s instance is currently in maintenance mode, which may take a while." : "Ta instalacja %s działa obecnie w trybie konserwacji. Może to potrwać jakiś czas.", "This page will refresh itself when the %s instance is available again." : "Strona odświeży się gdy instancja %s będzie ponownie dostępna.", "Problem loading page, reloading in 5 seconds" : "Błąd podczas ładowania strony, odświeżanie w ciągu 5 sekund.", diff --git a/core/l10n/pl.json b/core/l10n/pl.json index d21c39838ac..e15bdf4155d 100644 --- a/core/l10n/pl.json +++ b/core/l10n/pl.json @@ -33,16 +33,16 @@ "Turned on maintenance mode" : "Włączony tryb konserwacji", "Turned off maintenance mode" : "Wyłączony tryb konserwacji", "Maintenance mode is kept active" : "Tryb konserwacji pozostaje aktywny", - "Updating database schema" : "Aktualizacja schematu bazy danych", + "Updating database schema" : "Aktualizacja struktury bazy danych", "Updated database" : "Zaktualizuj bazę", - "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy schemat bazy danych może zostać zaktualizowany (to może zająć sporo czasu i zależy od rozmiaru bazy danych)", - "Checked database schema update" : "Sprawdzono aktualizację schematu bazy danych", + "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy struktura bazy danych może zostać zaktualizowana (to może zająć sporo czasu i zależy od rozmiaru bazy danych)", + "Checked database schema update" : "Sprawdzono aktualizację struktury bazy danych", "Checking updates of apps" : "Sprawdzam aktualizacje aplikacji", "Checking for update of app \"%s\" in appstore" : "Sprawdzanie aktualizacji dla aplikacji \"%s\" w sklepie aplikacji", "Update app \"%s\" from appstore" : "Zaktualizuj aplikację \"%s\" ze sklepu aplikacji", "Checked for update of app \"%s\" in appstore" : "Sprawdzono aktualizację dla aplikacji \"%s\" w sklepie aplikacji.", - "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy schemat bazy danych %s może zostać zaktualizowany (to może zająć sporo czasu i zależy od rozmiaru bazy danych)", - "Checked database schema update for apps" : "Sprawdzono aktualizację schematu bazy danych dla aplikacji", + "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy struktura bazy danych %s może zostać zaktualizowana (to może zająć sporo czasu i zależy od rozmiaru bazy danych)", + "Checked database schema update for apps" : "Sprawdzono aktualizację struktury bazy danych dla aplikacji", "Updated \"%s\" to %s" : "Zaktualizowano \"%s\" do %s", "Set log level to debug" : "Ustaw poziom logowania na debug", "Reset log level" : "Zresetuj poziom logowania", @@ -233,7 +233,7 @@ "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Aby uzyskać informację jak poprawnie skonfigurować Twój serwer, zajrzyj do <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentacji</a>.", "Create an <strong>admin account</strong>" : "Utwórz <strong>konto administratora</strong>", "Username" : "Nazwa użytkownika", - "Storage & database" : "Zasoby dysku & baza danych", + "Storage & database" : "Magazyn i baza danych", "Data folder" : "Katalog danych", "Configure the database" : "Skonfiguruj bazę danych", "Only %s is available." : "Dostępne jest wyłącznie %s.", @@ -301,6 +301,8 @@ "Update needed" : "Wymagana aktualizacja", "Please use the command line updater because you have a big instance with more than 50 users." : "Proszę uzyć aktualizatora z wiersza poleceń, ponieważ masz dużą instancję z ponad 50-cioma użytkownikami.", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Aby uzyskać pomoc, zajrzyj do <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacji</a>.", + "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Wiem, że jeśli kontynuuję aktualizację za pomocą przeglądarki, istnieje ryzyko że operacja może nie wykonać się w okreśłonym limicie czasu co może doprowadzić do utraty danych, ale mam kopię zapasową i wiem jak jej użyć w przypadku niepowodzenia.", + "Upgrade via web on my own risk" : "Wykonaj aktualizację poprzez przeglądarkę na moją odpowiedzialność", "This %s instance is currently in maintenance mode, which may take a while." : "Ta instalacja %s działa obecnie w trybie konserwacji. Może to potrwać jakiś czas.", "This page will refresh itself when the %s instance is available again." : "Strona odświeży się gdy instancja %s będzie ponownie dostępna.", "Problem loading page, reloading in 5 seconds" : "Błąd podczas ładowania strony, odświeżanie w ciągu 5 sekund.", diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index c5c8cce3254..17a117250c9 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -306,7 +306,7 @@ OC.L10N.register( "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sei que se continuar atualizando pela interface web, há o risco de ocorrer um timeout e perda de dados mas eu tenho um cópia de backup e sei como restaurar meu sistema se isso ocorrer.", "Upgrade via web on my own risk" : "Atualizar via web por minha conta e risco", "This %s instance is currently in maintenance mode, which may take a while." : "Esta instância %s está em modo de manutenção, o que pode demorar um pouco.", - "This page will refresh itself when the %s instance is available again." : "Esta página será atualizada automaticamente quando a instância %s estiver disponível novamente.", + "This page will refresh itself when the %s instance is available again." : "Esta página será atualizada automaticamente quando o %s estiver disponível novamente.", "Problem loading page, reloading in 5 seconds" : "Problema no carregamento da página, recarregando em 5 segundos", "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Seus arquivos estão criptografados. Se você não ativou a chave de recuperação, não haverá maneira de obter seus dados de volta após a sua senha ser redefinida.<br/>Se não tiver certeza do que deve fazer, contate o administrador antes de continuar. <br/>Deseja realmente continuar?", "Ok" : "Ok", diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index 5534a3feb09..fa2e84e3a54 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -304,7 +304,7 @@ "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sei que se continuar atualizando pela interface web, há o risco de ocorrer um timeout e perda de dados mas eu tenho um cópia de backup e sei como restaurar meu sistema se isso ocorrer.", "Upgrade via web on my own risk" : "Atualizar via web por minha conta e risco", "This %s instance is currently in maintenance mode, which may take a while." : "Esta instância %s está em modo de manutenção, o que pode demorar um pouco.", - "This page will refresh itself when the %s instance is available again." : "Esta página será atualizada automaticamente quando a instância %s estiver disponível novamente.", + "This page will refresh itself when the %s instance is available again." : "Esta página será atualizada automaticamente quando o %s estiver disponível novamente.", "Problem loading page, reloading in 5 seconds" : "Problema no carregamento da página, recarregando em 5 segundos", "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Seus arquivos estão criptografados. Se você não ativou a chave de recuperação, não haverá maneira de obter seus dados de volta após a sua senha ser redefinida.<br/>Se não tiver certeza do que deve fazer, contate o administrador antes de continuar. <br/>Deseja realmente continuar?", "Ok" : "Ok", diff --git a/core/l10n/sv.js b/core/l10n/sv.js index 42bf7a10381..cdaa65fdea1 100644 --- a/core/l10n/sv.js +++ b/core/l10n/sv.js @@ -14,6 +14,7 @@ OC.L10N.register( "No crop data provided" : "Ingen beskärdata har angivits", "No valid crop data provided" : "Ingen giltig beskärningsdata tillhandahölls", "Crop is not square" : "Beskärning är inte kvadratisk", + "Password reset is disabled" : "Lösenordsåterställning är avaktiverat", "Couldn't reset password because the token is invalid" : "Kunde inte återställa lösenordet på grund av felaktig token", "Couldn't reset password because the token is expired" : "Lösenord kunde inte återställas eftersom \"token\" har utgått", "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Kunde inte skicka återställningsmejl eftersom det saknas e-postadress för denna användare. Kontakta din administratör", @@ -133,6 +134,7 @@ OC.L10N.register( "Email link to person" : "Skicka länken som e-postmeddelande", "Send" : "Skicka", "Allow upload and editing" : "Tillåt uppladdning och redigering", + "Read only" : "Läsbehörigheter", "File drop (upload only)" : "Göm fillista (endast uppladdning)", "Shared with you and the group {group} by {owner}" : "Delad med dig och gruppen {group} av {owner}", "Shared with you by {owner}" : "Delad med dig av {owner}", @@ -285,6 +287,7 @@ OC.L10N.register( "Detailed logs" : "Detaljerade loggar", "Update needed" : "Uppdatering krävs", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "För hjälp, se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentationen</a>.", + "Upgrade via web on my own risk" : "Uppgradera via webben på min egen risk", "This %s instance is currently in maintenance mode, which may take a while." : "Denna %s instans befinner sig för närvarande i underhållsläge, vilket kan ta ett tag.", "This page will refresh itself when the %s instance is available again." : "Denna sida uppdaterar sig själv när %s instansen är tillgänglig igen.", "Problem loading page, reloading in 5 seconds" : "Problem med att ladda sidan, försöker igen om 5 sekunder", diff --git a/core/l10n/sv.json b/core/l10n/sv.json index 6d57922c618..6f8dcde0b7a 100644 --- a/core/l10n/sv.json +++ b/core/l10n/sv.json @@ -12,6 +12,7 @@ "No crop data provided" : "Ingen beskärdata har angivits", "No valid crop data provided" : "Ingen giltig beskärningsdata tillhandahölls", "Crop is not square" : "Beskärning är inte kvadratisk", + "Password reset is disabled" : "Lösenordsåterställning är avaktiverat", "Couldn't reset password because the token is invalid" : "Kunde inte återställa lösenordet på grund av felaktig token", "Couldn't reset password because the token is expired" : "Lösenord kunde inte återställas eftersom \"token\" har utgått", "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Kunde inte skicka återställningsmejl eftersom det saknas e-postadress för denna användare. Kontakta din administratör", @@ -131,6 +132,7 @@ "Email link to person" : "Skicka länken som e-postmeddelande", "Send" : "Skicka", "Allow upload and editing" : "Tillåt uppladdning och redigering", + "Read only" : "Läsbehörigheter", "File drop (upload only)" : "Göm fillista (endast uppladdning)", "Shared with you and the group {group} by {owner}" : "Delad med dig och gruppen {group} av {owner}", "Shared with you by {owner}" : "Delad med dig av {owner}", @@ -283,6 +285,7 @@ "Detailed logs" : "Detaljerade loggar", "Update needed" : "Uppdatering krävs", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "För hjälp, se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentationen</a>.", + "Upgrade via web on my own risk" : "Uppgradera via webben på min egen risk", "This %s instance is currently in maintenance mode, which may take a while." : "Denna %s instans befinner sig för närvarande i underhållsläge, vilket kan ta ett tag.", "This page will refresh itself when the %s instance is available again." : "Denna sida uppdaterar sig själv när %s instansen är tillgänglig igen.", "Problem loading page, reloading in 5 seconds" : "Problem med att ladda sidan, försöker igen om 5 sekunder", diff --git a/core/l10n/vi.js b/core/l10n/vi.js new file mode 100644 index 00000000000..abc3e14eaa5 --- /dev/null +++ b/core/l10n/vi.js @@ -0,0 +1,324 @@ +OC.L10N.register( + "core", + { + "Please select a file." : "Hãy chọn một tệp tin.", + "File is too big" : "File quá lớn", + "The selected file is not an image." : "Tệp tin được chọn không phải là ảnh.", + "The selected file cannot be read." : "Tệp tin được chọn không thể đọc.", + "Invalid file provided" : "File không hợp lệ", + "No image or file provided" : "Không có hình ảnh hoặc tập tin được cung cấp", + "Unknown filetype" : "Không biết kiểu tập tin", + "Invalid image" : "Hình ảnh không hợp lệ", + "An error occurred. Please contact your admin." : "Có lỗi xảy ra. Vui lòng báo cho quản trị viên.", + "No temporary profile picture available, try again" : "Ảnh cá nhân tạm thời không có giá trị, hãy thử lại", + "No crop data provided" : "Không có dữ liệu nguồn được cung cấp", + "No valid crop data provided" : "Dữ liệu trích xuất không hợp lệ", + "Crop is not square" : "Trích xuất không chuẩn", + "State token does not match" : "Mã trạng thái không khớp", + "Password reset is disabled" : "Đã tắt chức năng đặt lại mật khẩu", + "Couldn't reset password because the token is invalid" : "Không thể thiết lập lại mật khẩu do token không hợp lệ", + "Couldn't reset password because the token is expired" : "Không thể thiết lập lại mật khẩu do token hết hạn", + "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Không thể gửi thư điện tử yêu cầu thiết lập lại vì chưa có địa chỉ thư điện tử đối với tên đăng nhập này. Xin vui long liên hệ với quản trị hệ thống.", + "Password reset" : "Đặt lại mật khẩu", + "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Nhấp vào nút sau để đặt lại mật khẩu. Nếu bạn không yêu cầu đặt lại mật khẩu, hãy bỏ qua email này.", + "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Nhấp vào liên kết sau để đặt lại mật khẩu của bạn. Nếu bạn không yêu cầu đặt lại mật khẩu, hãy bỏ qua email này.", + "Reset your password" : "Đổi mật khẩu", + "%s password reset" : "%s thiết lập lại mật khẩu", + "Couldn't send reset email. Please contact your administrator." : "Không thể gửi thư điện tử yêu cầu thiết lập lại. Xin vui lòng liên hệ quản trị hệ thống", + "Couldn't send reset email. Please make sure your username is correct." : "Không thể gửi thư điện tử yêu cầu thiết lập lại. Xin vui lòng kiểm tra tên tài khoản đăng nhập", + "Preparing update" : "Đang chuẩn bị cập nhật", + "[%d / %d]: %s" : "[%d / %d]: %s", + "Repair warning: " : "Cảnh báo sửa chữa:", + "Repair error: " : "Lỗi sửa chữa:", + "Please use the command line updater because automatic updating is disabled in the config.php." : "Xin vui lòng sử dụng câu lệnh cập nhật bằng dòng lệnh do cập nhật tự động bị vô hiệu hóa trong file config.php", + "[%d / %d]: Checking table %s" : "[%d / %d]: đang kiểm tra bảng được %s", + "Turned on maintenance mode" : "Bật chế độ bảo trì", + "Turned off maintenance mode" : "Tắt chế độ bảo trì", + "Maintenance mode is kept active" : "Chế độ bảo trì đang được kích hoạt", + "Updating database schema" : "Đang cập nhật lược đồ cơ sở dữ liệu", + "Updated database" : "Cơ sở dữ liệu đã được cập nhật", + "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Đang kiểm tra xem lược đồ cơ sở dữ liệu có thể được cập nhật hay không (việc này có thể mất nhiều thời gian do phụ thuộc vào kích cỡ của cơ sở dữ liệu)", + "Checked database schema update" : "Cập nhật lược đồ cơ sở dữ liệu đã được kiểm tra", + "Checking updates of apps" : "Đang kiểm tra các bản cập nhật của các ứng dụng", + "Checking for update of app \"%s\" in appstore" : "Đang kiểm tra cập nhật của ứng dụng %s trong appstore ", + "Update app \"%s\" from appstore" : "Cập nhật ứng dụng \"%s\" từ appstore", + "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Đang kiểm tra liệu lược đồ cơ sở dữ liệu đối với %s có thể được cập nhật hay không (việc này có thể mất nhiều thời gian phụ thuộc vào kích cỡ của cơ sở dữ liệu)", + "Checked database schema update for apps" : "Bản cập nhật lược đồ cơ sở dữ liệu cho các ứng dụng đã được kiểm tra", + "Updated \"%s\" to %s" : "Được cập nhật từ \"%s\" sang %s", + "Set log level to debug" : "Thiết lập cấp độ ghi nhật ký để gỡ rối", + "Reset log level" : "Thiế lập lại cấp độ ghi nhật ký hệ thống", + "Starting code integrity check" : "Bắt đầu mã kiểm tra sự toàn vẹn", + "Finished code integrity check" : "Kết thúc mã kiểm tra sự toàn vẹn", + "%s (3rdparty)" : "%s ( hãng thứ 3)", + "%s (incompatible)" : "%s (không tương thích)", + "Following apps have been disabled: %s" : "Các ứng dụng sau bị vô hiệu hóa: %s", + "Already up to date" : "Đã được cập nhật bản mới nhất", + "No contacts found" : "Không tìm thấy liên hệ nào", + "Show all contacts …" : "Hiển thị tất cả liên hệ…", + "There was an error loading your contacts" : "Đã xảy ra lỗi khi tải liên hệ của bạn", + "Loading your contacts …" : "Đang tải liên hệ của bạn ...", + "Looking for {term} …" : "Đang tìm kiếm {term} ...", + "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\"> Có lỗi xảy ra với mã kiểm tra sự toàn vẹn. Thông tin thêm....</a>", + "No action available" : "Không có hành động nào", + "Error fetching contact actions" : "Lỗi khi nạp liên hệ", + "Settings" : "Cài đặt", + "Connection to server lost" : "Kết nối tới máy chủ bị mất", + "_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Xảy ra lỗi khi tải trang, tải lại trong %n giây"], + "Saving..." : "Đang lưu...", + "Dismiss" : "Bỏ qua", + "This action requires you to confirm your password" : "Để thực hiện hành động này, yêu cầu bạn phải nhập lại mật khẩu", + "Authentication required" : "Cần phải được xác thực", + "Password" : "Mật khẩu", + "Cancel" : "Hủy", + "Confirm" : "Xác nhận", + "Failed to authenticate, try again" : "Không thể xác thực thành công, xin vui lòng thử lại", + "seconds ago" : "vài giây trước", + "Logging in …" : "Đang đăng nhập", + "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Liên kết để thiết lập lại mật khẩu của bạn vừa được gửi tới hộp thư điện tử của bạn. Nếu bạn không nhận được liên kết ấy trong vòng một khoảng thời gian xác định, xin vui long kiểm tra thư mục thư rác (spam/junk). <br> Nếu không nhận được thư có liên kết nói trên, xin vui lòng liên hệ quản trị hệ thống của bạn.", + "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Các file của bạn đã được mã hóa. Sẽ không có cách nào lấy lại dữ liệu của bạn sau khi mật khẩu được thiết lập lại. <br/> Nếu bạn không chắc điều gì sẽ xảy ra, xin vui lòng liên hệ người quản trị hệ thốngtrước khi bạn tiếp tục. <br/> Bạn có <b> thực sự muốn </b> tiếp tục?", + "I know what I'm doing" : "Tôi biết tôi đang làm gì", + "Password can not be changed. Please contact your administrator." : "Không thể thay đổi được mật khẩu. Xin vui lòng liên hệ người quản trị hệ thống.", + "No" : "Không", + "Yes" : "Có", + "No files in here" : "Không có file nào ở đây", + "Choose" : "Chọn", + "Error loading file picker template: {error}" : "Lỗi khi tải mẫu tập tin picker: {error}", + "Error loading message template: {error}" : "Lỗi khi tải mẫu thông điệp: {error}", + "read-only" : "Chỉ đọc", + "_{count} file conflict_::_{count} file conflicts_" : ["{count} tập tin xung đột"], + "One file conflict" : "Một tập tin xung đột", + "New Files" : "File mới", + "Already existing files" : "Các file đang tồn tại", + "Which files do you want to keep?" : "Bạn muốn tiếp tục với những tập tin nào?", + "If you select both versions, the copied file will have a number added to its name." : "Nếu bạn chọn cả hai phiên bản, tập tin được sao chép sẽ được đánh thêm số vào tên của nó.", + "Continue" : "Tiếp tục", + "(all selected)" : "(Tất cả các lựa chọn)", + "({count} selected)" : "({count} được chọn)", + "Error loading file exists template" : "Lỗi khi tải tập tin mẫu đã tồn tại", + "Pending" : "Đang chờ được phê duyệt", + "Very weak password" : "Mật khẩu rất yếu", + "Weak password" : "Mật khẩu yếu", + "So-so password" : "Mật khẩu tạm được", + "Good password" : "Mật khẩu tốt", + "Strong password" : "Mật khẩu mạnh", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Máy chủ Web server chưa được thiết lập một cách hợp lý để cho phép đồng bộ file do giao diện WebDAV bị hỏng/lỗi.", + "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Máy chủ Web server chưa được thiết lập hợp lý để phân giải \"{url}\". Thông tin thêm có thể được tìm thấy trong <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Tài liệu </a> của chúng tôi.", + "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Máy chủ này không có kết nối Internet: Nhiều thiết bị đầu cuối không thể kết nối tới. Điều này có nghĩa là một số tính năng như liên kết ổ lưu trữ ngoài, các thông báo về các bản cập nhật hoặc cài đặt các ứng dụng của hãng thứ 3 sẽ không hoạt động. Truy cập các file từ xa và gửi các thư thông báo có thể cũng không hoạt động được. Chúng tôi khuyến cáo bạn bật kết nối Internet cho máy chủ này nếu bạn muốn sử dụng tất cả các tính năng của hệ thống.", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Không có bộ nhớ cache được cấu hình. Để tăng hiệu suất hệ thống, xin vui lòng cấu hình memcache khi sẵn sàng. Thông tin chi tiết có thể tìm thấy trong <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Tài liệu</a> của chúng tôi.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "/dev/urandom không nên được đọc bởi PHP, điều này có thể gây nguy cơ mất an toàn thông tin. Thông tin chi tiết có thể được tìm thấy trong <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Tài liệu</a> của chúng tôi.", + "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Bạn hiện đang sử dụng phiên bản PHP {version}. Chúng tôi khuyến cáo bạn nâng cấp phiên bản PHP để đạt được lợi ích về <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\"> hiệu suất hoạt động và cập nhật vá lỗi an toàn thông tin bởi nhóm phát triển ngôn ngữ lập trình PHP</a> ", + "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Phần cấu hình các headers của proxy trỏ ngược không chính xác hoặc bạn đang truy cập Nextcloud từ một proxy đáng tin. Nếu bạn không thể truy cập được từ một proxy dáng tin cậy, thì dẫn tới vấn đề về mất an toàn thông tin và kẻ tấn công có thể giả mạo IP chúng để truy cập Nextcloud. Thông tin chi tiết có thể được tìm thấy trong <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Tài liệu</a> của chúng tôi. ", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached được cấu hình dưới dạng cache phân tán, nhưng mô đun PHP \"memcache\" được cài đặt trên hệ thống không hợp lệ.. \\OC\\Memcache\\Memcached chỉ hỗ trợ \"memcached\" chứ không phải \"memcache\". Xin vui lòng xem tài liệu <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Một số file không qua được quá trình kiểm tra tính toàn vẹn. Thông tin thêm về cách xử lý vấn đề này có thể được tìm thấy trong <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Tài liệu </a> của chúng tôi. (<a href=\"{codeIntegrityDownloadEndpoint}\">Danh sách các file không hợp lệ…</a> / <a href=\"{rescanEndpoint}\">Rà quét lại…</a>)", + "The PHP Opcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend ↗</a> to use following settings in the <code>php.ini</code>:" : "PHP Opcache không được cấu hình đúng. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Để đạt hiệu suất tốt hơn, chúng tôi khuyên bạn ↗</a>nên sử dụng các cài đặt sau trong <code>php.ini</code>:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "Chức năng PHP \"set_time_limit\" không khả dụng. Điều này có thể dẫn đến việc các tập lệnh bị tạm dừng giữa chừng khi thực hiện, phá vỡ cài đặt của bạn. Chúng tôi thực sự khuyên bạn nên bật chức năng này.", + "Error occurred while checking server setup" : "Có lỗi xảy ra khi kiểm tra thiết lập máy chủ", + "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Thư mục chứa dữ liệu và các tệp của bạn có thể truy cập được từ Internet. Vì tệp .htaccess không hoạt động. Chúng tôi khuyên bạn nên định cấu hình máy chủ web theo cách mà thư mục dữ liệu không có thể truy cập được hoặc bạn di chuyển thư mục dữ liệu ra bên ngoài thư mục gốc của máy chủ web.", + "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Phần \"{header}\" HTTP header không được cấu hình tương ứng \"{expected}\". Điều này có thể dẫn tới vấn đề mất an toàn thông tin nghiêm trọng hoặc nguy cơ lộ thông tin cá nhân và chúng tôi đề nghị bạn hiệu chỉnh lại thiết lập này.", + "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "Phần \"Strict-Transport-Security\" HTTP header không được cấu hình tổi thiểu \"{seconds}\" giây. Để tăng cường bảo mật, chúng tôi đề nghị bạn bật HSTS theo hướng dẫn trong mục <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>.", + "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "Bạn đang truy cập site này bằng giao thức HTTP. Chúng tôi đề nghị bạn cấu hình server của bạn phải yêu cầu truy cập bằng giao thức HTTPS như được mô tả trong mục <a href=\"{docUrl}\">security tips</a>.", + "Shared" : "Được chia sẻ", + "Shared with {recipients}" : "Được chia sẻ với {recipients}", + "Error setting expiration date" : "Lỗi cấu hình ngày kết thúc", + "The public link will expire no later than {days} days after it is created" : "Liên kết công khai sẽ hết hạn sau {days} ngày sau khi được tạo", + "Set expiration date" : "Đặt ngày kết thúc", + "Expiration" : "Hết hạn", + "Expiration date" : "Ngày kết thúc", + "Choose a password for the public link" : "Chọn mật khẩu cho liên kết công khai", + "Copied!" : "Được sao chép", + "Copy" : "Sao chép", + "Not supported!" : "Không được hỗ trợ", + "Press ⌘-C to copy." : "Nhất ⌘-C để sao chép", + "Press Ctrl-C to copy." : "Nhấn Ctrl-C để sao chép.", + "Resharing is not allowed" : "Chia sẻ lại không được cho phép", + "Share to {name}" : "Chia sẻ với {name}", + "Share link" : "Chia sẻ liên kết", + "Link" : "Liên kết", + "Password protect" : "Mật khẩu bảo vệ", + "Allow editing" : "Cho phép điều chỉnh", + "Email link to person" : "Liên kết email tới cá nhân", + "Send" : "Gửi", + "Allow upload and editing" : "Cho phép tải lên và chỉnh sửa", + "Read only" : "Chỉ xem", + "File drop (upload only)" : "Kéo thả file (chỉ áp dụng trong trường hợp tải lên)", + "Shared with you and the group {group} by {owner}" : "Đã được chia sẽ với bạn và nhóm {group} bởi {owner}", + "Shared with you by {owner}" : "Đã được chia sẽ bởi {owner}", + "Choose a password for the mail share" : "Chọn một mật khẩu để chia sẻ qua mail", + "{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} chia sẻ qua liên kết", + "group" : "nhóm", + "remote" : "Từ xa", + "email" : "Thư điện tử", + "shared by {sharer}" : "được chia sẻ bởi {sharer}", + "Unshare" : "Bỏ chia sẻ", + "Can reshare" : "Có thể chia sẻ lại", + "Can edit" : "Có thể chỉnh sửa", + "Can create" : "Có thể tạo", + "Can change" : "Có thể thay đổi", + "Can delete" : "Có thể xóa", + "Access control" : "Kiểm soát truy cập", + "Could not unshare" : "Không thể chia sẻ", + "Error while sharing" : "Lỗi trong quá trình chia sẻ", + "Share details could not be loaded for this item." : "Các chi tiết chia sẻ không thể được nạp đối với mục này", + "_At least {count} character is needed for autocompletion_::_At least {count} characters are needed for autocompletion_" : ["Cần ít nhất {count} ký tự cho tự động hoàn thành"], + "This list is maybe truncated - please refine your search term to see more results." : "Danh sách này có thể bị cắt ngắn - vui lòng chỉnh cụm từ tìm kiếm của bạn để thấy nhiều hơn kết quả khác.", + "No users or groups found for {search}" : "Không có người dùng hoặc nhóm người dùng được tìm với từ khóa {search}", + "No users found for {search}" : "Không tìm thấy người dùng cho {search}", + "An error occurred. Please try again" : "Có lỗi vừa xảy ra. Xin vui lòng thử lại", + "{sharee} (group)" : "{sharee} (nhóm)", + "{sharee} (remote)" : "{sharee} (từ xa)", + "{sharee} (email)" : "{sharee} (thư điện tử)", + "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", + "Share" : "Chia sẻ", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết hoặc địa chỉ email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết.", + "Share with other people by entering a user or group or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, hoặc địa chỉ email.", + "Name or email address..." : "Tên hoặc địa chỉ email.", + "Name or federated cloud ID..." : "Tên hoặc ID đám mây liên kết.", + "Name, federated cloud ID or email address..." : "Tên người dùng, ID đám mây liên kết hoặc địa chỉ email.", + "Name..." : "Tên người dùng...", + "Error" : "Lỗi", + "Error removing share" : "Lỗi khi xóa chia sẻ", + "Non-existing tag #{tag}" : "Thẻ không tồn tại # {tag}", + "restricted" : "hạn chế", + "invisible" : "không thể nhìn thấy.", + "({scope})" : "({scope})", + "Delete" : "Xóa", + "Rename" : "Sửa tên", + "Collaborative tags" : "Thẻ cộng tác", + "No tags found" : "Không tìm thấy thẻ", + "unknown text" : "văn bản không rõ", + "Hello world!" : "Hello world!", + "sunny" : "nắng", + "Hello {name}, the weather is {weather}" : "Xin chào {name}, thời tiết hiện nay {weather}", + "Hello {name}" : "Xin chào {name}", + "<strong>These are your search results<script>alert(1)</script></strong>" : "<strong>Đây là kết quả tìm kiếm của bạn<script>cảnh báo (1)</script></strong>", + "new" : "mới", + "_download %n file_::_download %n files_" : ["tải về%ntệp"], + "The update is in progress, leaving this page might interrupt the process in some environments." : "Quá trình cập nhật đang được tiến hành, đóng trang này có thể làm gián đoạn quá trình.", + "Update to {version}" : "Cập nhật lên {version}", + "An error occurred." : "Đã xảy ra lỗi.", + "Please reload the page." : "Vui lòng tải lại trang.", + "Continue to Nextcloud" : "Tiếp tục đến Nextcloud", + "_The update was successful. Redirecting you to Nextcloud in %n second._::_The update was successful. Redirecting you to Nextcloud in %n seconds._" : ["Cập nhật thành công. Đang chuyển hướng bạn tới Nextcloud trong %ngiây."], + "Searching other places" : "Tìm kiếm các nơi khác", + "No search results in other folders for {tag}{filter}{endtag}" : "Không có kết quả tìm kiếm trong các thư mục khác cho {tag} {filter} {endtag}", + "_{count} search result in another folder_::_{count} search results in other folders_" : ["{count} kết quả tìm kiếm trong các thư mục khác"], + "Personal" : "Cá nhân", + "Users" : "Người dùng", + "Apps" : "Ứng dụng", + "Admin" : "Quản trị", + "Help" : "Giúp đỡ", + "Access forbidden" : "Truy cập bị cấm", + "File not found" : "Không tìm thấy tệp tin", + "The specified document has not been found on the server." : "Không tìm thấy tài liệu trên máy chủ.", + "You can click here to return to %s." : "Bạn có thể nhấp vào đây để quay lại %s.", + "Internal Server Error" : "Lỗi máy chủ.", + "The server encountered an internal error and was unable to complete your request." : "Máy chủ gặp lỗi và không thể hoàn thành yêu cầu của bạn.", + "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Vui lòng liên hệ với quản trị viên máy chủ nếu lỗi này xuất hiện lại nhiều lần, vui lòng đính kèm các chi tiết kỹ thuật bên dưới trong báo cáo của bạn.", + "More details can be found in the server log." : "Các chi tiết có thể được tìm thấy trong nhật ký máy chủ.", + "Technical details" : "Chi tiết kỹ thuật", + "Remote Address: %s" : "Địa chỉ bên ngoài: %s", + "Request ID: %s" : "Yêu cầu ID:%s", + "Type: %s" : "Loại: %s", + "Code: %s" : "Mã: %s", + "Message: %s" : "Thông điệp:%s", + "File: %s" : "%sTệp:", + "Line: %s" : "Dòng: %s", + "Trace" : "Theo dõi", + "Security warning" : "Cảnh báo bảo mật", + "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Thư mục và file dữ liệu của bạn có thể được truy cập từ internet bởi vì file .htaccess không hoạt động", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Để biết thông tin về cách cấu hình đúng máy chủ của bạn, hãy <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">xem tài liệu</a>.", + "Create an <strong>admin account</strong>" : "Tạo một <strong>tài khoản quản trị</strong>", + "Username" : "Tên đăng nhập", + "Storage & database" : "Lưu trữ & cơ sở dữ liệu", + "Data folder" : "Thư mục dữ liệu", + "Configure the database" : "Cấu hình cơ sở dữ liệu", + "Only %s is available." : "Chỉ %s khả dụng.", + "Install and activate additional PHP modules to choose other database types." : "Cài đặt và kích hoạt các mô-đun PHP bổ sung để chọn các loại cơ sở dữ liệu khác.", + "For more details check out the documentation." : "Để biết thêm chi tiết, hãy kiểm tra tài liệu.", + "Database user" : "Người dùng cơ sở dữ liệu", + "Database password" : "Mật khẩu cơ sở dữ liệu", + "Database name" : "Tên cơ sở dữ liệu", + "Database tablespace" : "Cơ sở dữ liệu tablespace", + "Database host" : "Database host", + "Please specify the port number along with the host name (e.g., localhost:5432)." : "Vui lòng xác định số cổng cùng với tên máy chủ lưu trữ (ví dụ: localhost: 5432).", + "Performance warning" : "Cảnh báo hiệu suất", + "SQLite will be used as database." : "SQLite sẽ được sử dụng làm cơ sở dữ liệu.", + "For larger installations we recommend to choose a different database backend." : "Đối với các cài đặt hệ thống lớn, chúng tôi khuyên bạn nên chọn một hệ cơ sở dữ liệu khác.", + "Finish setup" : "Cài đặt hoàn tất", + "Finishing …" : "Đang hoàn thành ...", + "Need help?" : "Cần hỗ trợ ?", + "See the documentation" : "Xem tài liệu", + "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ứng dụng này yêu cầu JavaScript để hoạt động chính xác. Vui lòng {linkstart} bật JavaScript {linkend} và tải lại trang.", + "More apps" : "Thêm ứng dụng", + "Search" : "Tìm kiếm", + "This action requires you to confirm your password:" : "Tác vụ này yêu cầu bạn phải xác nhận mật khẩu của mình:", + "Confirm your password" : "Xác nhận mật khẩu của bạn", + "Server side authentication failed!" : "Xác thực phía máy chủ không thành công!", + "Please contact your administrator." : "Vui lòng liên hệ với quản trị viên.", + "Please try again or contact your administrator." : "Vui lòng thử lại hoặc liên hệ quản trị của bạn.", + "Username or email" : "Tên truy cập hoặc email", + "Wrong password. Reset it?" : "Sai mật khẩu. Gửi lại mật khẩu ?", + "Wrong password." : "Sai mật khẩu.", + "Log in" : "Đăng nhập", + "Stay logged in" : "Lưu trạng thái đăng nhập", + "Alternative Logins" : "Đăng nhập khác", + "Redirecting …" : "Chuyển tiếp ...", + "New password" : "Mật khẩu mới", + "New Password" : "Mật khẩu mới", + "Reset password" : "Khôi phục mật khẩu", + "This Nextcloud instance is currently in single user mode." : "Nextcloud trong trường hợp này đang ở chế độ người dùng duy nhất.", + "This means only administrators can use the instance." : "Điều này có nghĩa chỉ có người quản trị có thể sử dụng trong trường hợp này.", + "Contact your system administrator if this message persists or appeared unexpectedly." : "Liên hệ với người quản trị nếu lỗi này vẫn tồn tại hoặc xuất hiện bất ngờ.", + "Thank you for your patience." : "Cảm ơn sự kiên nhẫn của bạn.", + "Log out" : "Đăng xuất", + "Two-factor authentication" : "Xác thực 2 bước", + "Enhanced security is enabled for your account. Please authenticate using a second factor." : "Tính năng bảo mật nâng cao được kích hoạt cho tài khoản của bạn. Vui lòng xác thực sử dụng yếu tố thứ hai.", + "Cancel log in" : "Hủy đăng nhập", + "Use backup code" : "Sử dụng mã dự phòng", + "Error while validating your second factor" : "Lỗi khi xác thực 2 bước", + "Add \"%s\" as trusted domain" : "Thêm \"%s\" là tên miền tin cậy", + "App update required" : "Ứng dụng yêu cầu cập nhật", + "%s will be updated to version %s" : "%s sẽ được cập nhật lên phiên bản %s", + "These apps will be updated:" : "Những ứng dụng sẽ được cập nhật:", + "These incompatible apps will be disabled:" : "Những ứng dụng không tương thích sẽ bị tắt:", + "The theme %s has been disabled." : "Giao diện %s đã bị tắt.", + "Start update" : "Bắt đầu cập nhật", + "Detailed logs" : "Nhật ký chi tiết", + "Update needed" : "Cần phải cập nhật", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Để được trợ giúp, hãy xem <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">tài liệu</a>liệu.", + "Upgrade via web on my own risk" : "Nâng cấp qua web", + "Problem loading page, reloading in 5 seconds" : "Có vấn đề khi nạp trang, nạp lại trang trong vòng 5 giây", + "Ok" : "Đồng ý", + "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Thư mục dữ liệu và file của bạn có thể truy cập từ Internet. File .htaccess không hoạt động. Chúng tôi khuyến cáo bạn cấu hình web server của bạn sao cho thư mục dữ liệu (data folder) không thể truy câp được hoặc di chuyển thư mục data ra bên ngoài thư mục gốc (root) của Web Server.", + "Error while unsharing" : "Lỗi trong quá trình gỡ chia sẻ", + "can reshare" : "Có thể chia sẻ lại", + "can edit" : "có thể chỉnh sửa", + "can create" : "Có thể tạo mới", + "can change" : "Có thể thay đổi", + "can delete" : "Có thể xóa", + "access control" : "quản lý truy cập", + "Share with people on other servers using their Federated Cloud ID username@example.com/nextcloud" : "Chia sẻ với người trên các máy chủ khác có tài khoản CLoud ID username@example.com/nextcloud", + "Share with users or by mail..." : "Chia sẻ với nguwif dùng hoặc qua thư điện tử...", + "Share with users or remote users..." : "Chia sẻ với người dùng hoặc người dùng từ xa...", + "Share with users, remote users or by mail..." : "Chia sẻ với người dùng, người dùng từ xa hoặc bằng thư điện tử...", + "Share with users or groups..." : "Chia sẻ với người dùng hoặc nhóm người dùng", + "Share with users, groups or by mail..." : "Chia sẻ với người dùng, nhóm người dùng hoặc qua thư điện tử ...", + "Share with users, groups or remote users..." : "Chia sẻ với người dùng, nhóm người dùng hoặc người dùng từ xa...", + "Share with users, groups, remote users or by mail..." : "Chia sẻ với người dùng, nhóm, người dùng từ xa hoặc qua mail ...", + "Share with users..." : "Chia sẻ với người dùng ...", + "The object type is not specified." : "Loại đối tượng không được chỉ định.", + "Enter new" : "Nhập mới", + "Add" : "Thêm", + "Edit tags" : "Sửa thẻ", + "Error loading dialog template: {error}" : "Lỗi khi tải mẫu hội thoại: {error}", + "No tags selected for deletion." : "Không có thẻ nào được chọn để xóa", + "The update was successful. Redirecting you to Nextcloud now." : "Cập nhật thành công. Đang chuyển hướng bạn đến Nextcloud.", + "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Xin chào,\n\nbáo cho bạn biết rằng %s đã chia sẽ %s với bạn.\nXem nó: %s\n\n", + "The share will expire on %s." : "Chia sẻ này sẽ hết hiệu lực vào %s.", + "Cheers!" : "Chúc mừng!", + "Use the following link to reset your password: {link}" : "Dùng đường dẫn sau để khôi phục lại mật khẩu : {link}", + "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Xin chào, <br><br> báo cho bạn biết rằng %s đã chia sẽ %s với bạn. <br> <a href=\"%s\"> Xem </a><br><br>", + "Please use the command line updater because you have a big instance." : "Hãy sử dụng dòng lệnh để cập nhật bởi vì bạn có một hệ thống lớn." +}, +"nplurals=1; plural=0;"); diff --git a/core/l10n/vi.json b/core/l10n/vi.json new file mode 100644 index 00000000000..083eb965705 --- /dev/null +++ b/core/l10n/vi.json @@ -0,0 +1,322 @@ +{ "translations": { + "Please select a file." : "Hãy chọn một tệp tin.", + "File is too big" : "File quá lớn", + "The selected file is not an image." : "Tệp tin được chọn không phải là ảnh.", + "The selected file cannot be read." : "Tệp tin được chọn không thể đọc.", + "Invalid file provided" : "File không hợp lệ", + "No image or file provided" : "Không có hình ảnh hoặc tập tin được cung cấp", + "Unknown filetype" : "Không biết kiểu tập tin", + "Invalid image" : "Hình ảnh không hợp lệ", + "An error occurred. Please contact your admin." : "Có lỗi xảy ra. Vui lòng báo cho quản trị viên.", + "No temporary profile picture available, try again" : "Ảnh cá nhân tạm thời không có giá trị, hãy thử lại", + "No crop data provided" : "Không có dữ liệu nguồn được cung cấp", + "No valid crop data provided" : "Dữ liệu trích xuất không hợp lệ", + "Crop is not square" : "Trích xuất không chuẩn", + "State token does not match" : "Mã trạng thái không khớp", + "Password reset is disabled" : "Đã tắt chức năng đặt lại mật khẩu", + "Couldn't reset password because the token is invalid" : "Không thể thiết lập lại mật khẩu do token không hợp lệ", + "Couldn't reset password because the token is expired" : "Không thể thiết lập lại mật khẩu do token hết hạn", + "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Không thể gửi thư điện tử yêu cầu thiết lập lại vì chưa có địa chỉ thư điện tử đối với tên đăng nhập này. Xin vui long liên hệ với quản trị hệ thống.", + "Password reset" : "Đặt lại mật khẩu", + "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Nhấp vào nút sau để đặt lại mật khẩu. Nếu bạn không yêu cầu đặt lại mật khẩu, hãy bỏ qua email này.", + "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Nhấp vào liên kết sau để đặt lại mật khẩu của bạn. Nếu bạn không yêu cầu đặt lại mật khẩu, hãy bỏ qua email này.", + "Reset your password" : "Đổi mật khẩu", + "%s password reset" : "%s thiết lập lại mật khẩu", + "Couldn't send reset email. Please contact your administrator." : "Không thể gửi thư điện tử yêu cầu thiết lập lại. Xin vui lòng liên hệ quản trị hệ thống", + "Couldn't send reset email. Please make sure your username is correct." : "Không thể gửi thư điện tử yêu cầu thiết lập lại. Xin vui lòng kiểm tra tên tài khoản đăng nhập", + "Preparing update" : "Đang chuẩn bị cập nhật", + "[%d / %d]: %s" : "[%d / %d]: %s", + "Repair warning: " : "Cảnh báo sửa chữa:", + "Repair error: " : "Lỗi sửa chữa:", + "Please use the command line updater because automatic updating is disabled in the config.php." : "Xin vui lòng sử dụng câu lệnh cập nhật bằng dòng lệnh do cập nhật tự động bị vô hiệu hóa trong file config.php", + "[%d / %d]: Checking table %s" : "[%d / %d]: đang kiểm tra bảng được %s", + "Turned on maintenance mode" : "Bật chế độ bảo trì", + "Turned off maintenance mode" : "Tắt chế độ bảo trì", + "Maintenance mode is kept active" : "Chế độ bảo trì đang được kích hoạt", + "Updating database schema" : "Đang cập nhật lược đồ cơ sở dữ liệu", + "Updated database" : "Cơ sở dữ liệu đã được cập nhật", + "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Đang kiểm tra xem lược đồ cơ sở dữ liệu có thể được cập nhật hay không (việc này có thể mất nhiều thời gian do phụ thuộc vào kích cỡ của cơ sở dữ liệu)", + "Checked database schema update" : "Cập nhật lược đồ cơ sở dữ liệu đã được kiểm tra", + "Checking updates of apps" : "Đang kiểm tra các bản cập nhật của các ứng dụng", + "Checking for update of app \"%s\" in appstore" : "Đang kiểm tra cập nhật của ứng dụng %s trong appstore ", + "Update app \"%s\" from appstore" : "Cập nhật ứng dụng \"%s\" từ appstore", + "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Đang kiểm tra liệu lược đồ cơ sở dữ liệu đối với %s có thể được cập nhật hay không (việc này có thể mất nhiều thời gian phụ thuộc vào kích cỡ của cơ sở dữ liệu)", + "Checked database schema update for apps" : "Bản cập nhật lược đồ cơ sở dữ liệu cho các ứng dụng đã được kiểm tra", + "Updated \"%s\" to %s" : "Được cập nhật từ \"%s\" sang %s", + "Set log level to debug" : "Thiết lập cấp độ ghi nhật ký để gỡ rối", + "Reset log level" : "Thiế lập lại cấp độ ghi nhật ký hệ thống", + "Starting code integrity check" : "Bắt đầu mã kiểm tra sự toàn vẹn", + "Finished code integrity check" : "Kết thúc mã kiểm tra sự toàn vẹn", + "%s (3rdparty)" : "%s ( hãng thứ 3)", + "%s (incompatible)" : "%s (không tương thích)", + "Following apps have been disabled: %s" : "Các ứng dụng sau bị vô hiệu hóa: %s", + "Already up to date" : "Đã được cập nhật bản mới nhất", + "No contacts found" : "Không tìm thấy liên hệ nào", + "Show all contacts …" : "Hiển thị tất cả liên hệ…", + "There was an error loading your contacts" : "Đã xảy ra lỗi khi tải liên hệ của bạn", + "Loading your contacts …" : "Đang tải liên hệ của bạn ...", + "Looking for {term} …" : "Đang tìm kiếm {term} ...", + "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\"> Có lỗi xảy ra với mã kiểm tra sự toàn vẹn. Thông tin thêm....</a>", + "No action available" : "Không có hành động nào", + "Error fetching contact actions" : "Lỗi khi nạp liên hệ", + "Settings" : "Cài đặt", + "Connection to server lost" : "Kết nối tới máy chủ bị mất", + "_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Xảy ra lỗi khi tải trang, tải lại trong %n giây"], + "Saving..." : "Đang lưu...", + "Dismiss" : "Bỏ qua", + "This action requires you to confirm your password" : "Để thực hiện hành động này, yêu cầu bạn phải nhập lại mật khẩu", + "Authentication required" : "Cần phải được xác thực", + "Password" : "Mật khẩu", + "Cancel" : "Hủy", + "Confirm" : "Xác nhận", + "Failed to authenticate, try again" : "Không thể xác thực thành công, xin vui lòng thử lại", + "seconds ago" : "vài giây trước", + "Logging in …" : "Đang đăng nhập", + "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Liên kết để thiết lập lại mật khẩu của bạn vừa được gửi tới hộp thư điện tử của bạn. Nếu bạn không nhận được liên kết ấy trong vòng một khoảng thời gian xác định, xin vui long kiểm tra thư mục thư rác (spam/junk). <br> Nếu không nhận được thư có liên kết nói trên, xin vui lòng liên hệ quản trị hệ thống của bạn.", + "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Các file của bạn đã được mã hóa. Sẽ không có cách nào lấy lại dữ liệu của bạn sau khi mật khẩu được thiết lập lại. <br/> Nếu bạn không chắc điều gì sẽ xảy ra, xin vui lòng liên hệ người quản trị hệ thốngtrước khi bạn tiếp tục. <br/> Bạn có <b> thực sự muốn </b> tiếp tục?", + "I know what I'm doing" : "Tôi biết tôi đang làm gì", + "Password can not be changed. Please contact your administrator." : "Không thể thay đổi được mật khẩu. Xin vui lòng liên hệ người quản trị hệ thống.", + "No" : "Không", + "Yes" : "Có", + "No files in here" : "Không có file nào ở đây", + "Choose" : "Chọn", + "Error loading file picker template: {error}" : "Lỗi khi tải mẫu tập tin picker: {error}", + "Error loading message template: {error}" : "Lỗi khi tải mẫu thông điệp: {error}", + "read-only" : "Chỉ đọc", + "_{count} file conflict_::_{count} file conflicts_" : ["{count} tập tin xung đột"], + "One file conflict" : "Một tập tin xung đột", + "New Files" : "File mới", + "Already existing files" : "Các file đang tồn tại", + "Which files do you want to keep?" : "Bạn muốn tiếp tục với những tập tin nào?", + "If you select both versions, the copied file will have a number added to its name." : "Nếu bạn chọn cả hai phiên bản, tập tin được sao chép sẽ được đánh thêm số vào tên của nó.", + "Continue" : "Tiếp tục", + "(all selected)" : "(Tất cả các lựa chọn)", + "({count} selected)" : "({count} được chọn)", + "Error loading file exists template" : "Lỗi khi tải tập tin mẫu đã tồn tại", + "Pending" : "Đang chờ được phê duyệt", + "Very weak password" : "Mật khẩu rất yếu", + "Weak password" : "Mật khẩu yếu", + "So-so password" : "Mật khẩu tạm được", + "Good password" : "Mật khẩu tốt", + "Strong password" : "Mật khẩu mạnh", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Máy chủ Web server chưa được thiết lập một cách hợp lý để cho phép đồng bộ file do giao diện WebDAV bị hỏng/lỗi.", + "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Máy chủ Web server chưa được thiết lập hợp lý để phân giải \"{url}\". Thông tin thêm có thể được tìm thấy trong <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Tài liệu </a> của chúng tôi.", + "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Máy chủ này không có kết nối Internet: Nhiều thiết bị đầu cuối không thể kết nối tới. Điều này có nghĩa là một số tính năng như liên kết ổ lưu trữ ngoài, các thông báo về các bản cập nhật hoặc cài đặt các ứng dụng của hãng thứ 3 sẽ không hoạt động. Truy cập các file từ xa và gửi các thư thông báo có thể cũng không hoạt động được. Chúng tôi khuyến cáo bạn bật kết nối Internet cho máy chủ này nếu bạn muốn sử dụng tất cả các tính năng của hệ thống.", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Không có bộ nhớ cache được cấu hình. Để tăng hiệu suất hệ thống, xin vui lòng cấu hình memcache khi sẵn sàng. Thông tin chi tiết có thể tìm thấy trong <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Tài liệu</a> của chúng tôi.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "/dev/urandom không nên được đọc bởi PHP, điều này có thể gây nguy cơ mất an toàn thông tin. Thông tin chi tiết có thể được tìm thấy trong <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Tài liệu</a> của chúng tôi.", + "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Bạn hiện đang sử dụng phiên bản PHP {version}. Chúng tôi khuyến cáo bạn nâng cấp phiên bản PHP để đạt được lợi ích về <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\"> hiệu suất hoạt động và cập nhật vá lỗi an toàn thông tin bởi nhóm phát triển ngôn ngữ lập trình PHP</a> ", + "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Phần cấu hình các headers của proxy trỏ ngược không chính xác hoặc bạn đang truy cập Nextcloud từ một proxy đáng tin. Nếu bạn không thể truy cập được từ một proxy dáng tin cậy, thì dẫn tới vấn đề về mất an toàn thông tin và kẻ tấn công có thể giả mạo IP chúng để truy cập Nextcloud. Thông tin chi tiết có thể được tìm thấy trong <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Tài liệu</a> của chúng tôi. ", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached được cấu hình dưới dạng cache phân tán, nhưng mô đun PHP \"memcache\" được cài đặt trên hệ thống không hợp lệ.. \\OC\\Memcache\\Memcached chỉ hỗ trợ \"memcached\" chứ không phải \"memcache\". Xin vui lòng xem tài liệu <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Một số file không qua được quá trình kiểm tra tính toàn vẹn. Thông tin thêm về cách xử lý vấn đề này có thể được tìm thấy trong <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Tài liệu </a> của chúng tôi. (<a href=\"{codeIntegrityDownloadEndpoint}\">Danh sách các file không hợp lệ…</a> / <a href=\"{rescanEndpoint}\">Rà quét lại…</a>)", + "The PHP Opcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend ↗</a> to use following settings in the <code>php.ini</code>:" : "PHP Opcache không được cấu hình đúng. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Để đạt hiệu suất tốt hơn, chúng tôi khuyên bạn ↗</a>nên sử dụng các cài đặt sau trong <code>php.ini</code>:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "Chức năng PHP \"set_time_limit\" không khả dụng. Điều này có thể dẫn đến việc các tập lệnh bị tạm dừng giữa chừng khi thực hiện, phá vỡ cài đặt của bạn. Chúng tôi thực sự khuyên bạn nên bật chức năng này.", + "Error occurred while checking server setup" : "Có lỗi xảy ra khi kiểm tra thiết lập máy chủ", + "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Thư mục chứa dữ liệu và các tệp của bạn có thể truy cập được từ Internet. Vì tệp .htaccess không hoạt động. Chúng tôi khuyên bạn nên định cấu hình máy chủ web theo cách mà thư mục dữ liệu không có thể truy cập được hoặc bạn di chuyển thư mục dữ liệu ra bên ngoài thư mục gốc của máy chủ web.", + "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Phần \"{header}\" HTTP header không được cấu hình tương ứng \"{expected}\". Điều này có thể dẫn tới vấn đề mất an toàn thông tin nghiêm trọng hoặc nguy cơ lộ thông tin cá nhân và chúng tôi đề nghị bạn hiệu chỉnh lại thiết lập này.", + "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "Phần \"Strict-Transport-Security\" HTTP header không được cấu hình tổi thiểu \"{seconds}\" giây. Để tăng cường bảo mật, chúng tôi đề nghị bạn bật HSTS theo hướng dẫn trong mục <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>.", + "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "Bạn đang truy cập site này bằng giao thức HTTP. Chúng tôi đề nghị bạn cấu hình server của bạn phải yêu cầu truy cập bằng giao thức HTTPS như được mô tả trong mục <a href=\"{docUrl}\">security tips</a>.", + "Shared" : "Được chia sẻ", + "Shared with {recipients}" : "Được chia sẻ với {recipients}", + "Error setting expiration date" : "Lỗi cấu hình ngày kết thúc", + "The public link will expire no later than {days} days after it is created" : "Liên kết công khai sẽ hết hạn sau {days} ngày sau khi được tạo", + "Set expiration date" : "Đặt ngày kết thúc", + "Expiration" : "Hết hạn", + "Expiration date" : "Ngày kết thúc", + "Choose a password for the public link" : "Chọn mật khẩu cho liên kết công khai", + "Copied!" : "Được sao chép", + "Copy" : "Sao chép", + "Not supported!" : "Không được hỗ trợ", + "Press ⌘-C to copy." : "Nhất ⌘-C để sao chép", + "Press Ctrl-C to copy." : "Nhấn Ctrl-C để sao chép.", + "Resharing is not allowed" : "Chia sẻ lại không được cho phép", + "Share to {name}" : "Chia sẻ với {name}", + "Share link" : "Chia sẻ liên kết", + "Link" : "Liên kết", + "Password protect" : "Mật khẩu bảo vệ", + "Allow editing" : "Cho phép điều chỉnh", + "Email link to person" : "Liên kết email tới cá nhân", + "Send" : "Gửi", + "Allow upload and editing" : "Cho phép tải lên và chỉnh sửa", + "Read only" : "Chỉ xem", + "File drop (upload only)" : "Kéo thả file (chỉ áp dụng trong trường hợp tải lên)", + "Shared with you and the group {group} by {owner}" : "Đã được chia sẽ với bạn và nhóm {group} bởi {owner}", + "Shared with you by {owner}" : "Đã được chia sẽ bởi {owner}", + "Choose a password for the mail share" : "Chọn một mật khẩu để chia sẻ qua mail", + "{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} chia sẻ qua liên kết", + "group" : "nhóm", + "remote" : "Từ xa", + "email" : "Thư điện tử", + "shared by {sharer}" : "được chia sẻ bởi {sharer}", + "Unshare" : "Bỏ chia sẻ", + "Can reshare" : "Có thể chia sẻ lại", + "Can edit" : "Có thể chỉnh sửa", + "Can create" : "Có thể tạo", + "Can change" : "Có thể thay đổi", + "Can delete" : "Có thể xóa", + "Access control" : "Kiểm soát truy cập", + "Could not unshare" : "Không thể chia sẻ", + "Error while sharing" : "Lỗi trong quá trình chia sẻ", + "Share details could not be loaded for this item." : "Các chi tiết chia sẻ không thể được nạp đối với mục này", + "_At least {count} character is needed for autocompletion_::_At least {count} characters are needed for autocompletion_" : ["Cần ít nhất {count} ký tự cho tự động hoàn thành"], + "This list is maybe truncated - please refine your search term to see more results." : "Danh sách này có thể bị cắt ngắn - vui lòng chỉnh cụm từ tìm kiếm của bạn để thấy nhiều hơn kết quả khác.", + "No users or groups found for {search}" : "Không có người dùng hoặc nhóm người dùng được tìm với từ khóa {search}", + "No users found for {search}" : "Không tìm thấy người dùng cho {search}", + "An error occurred. Please try again" : "Có lỗi vừa xảy ra. Xin vui lòng thử lại", + "{sharee} (group)" : "{sharee} (nhóm)", + "{sharee} (remote)" : "{sharee} (từ xa)", + "{sharee} (email)" : "{sharee} (thư điện tử)", + "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", + "Share" : "Chia sẻ", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết hoặc địa chỉ email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết.", + "Share with other people by entering a user or group or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, hoặc địa chỉ email.", + "Name or email address..." : "Tên hoặc địa chỉ email.", + "Name or federated cloud ID..." : "Tên hoặc ID đám mây liên kết.", + "Name, federated cloud ID or email address..." : "Tên người dùng, ID đám mây liên kết hoặc địa chỉ email.", + "Name..." : "Tên người dùng...", + "Error" : "Lỗi", + "Error removing share" : "Lỗi khi xóa chia sẻ", + "Non-existing tag #{tag}" : "Thẻ không tồn tại # {tag}", + "restricted" : "hạn chế", + "invisible" : "không thể nhìn thấy.", + "({scope})" : "({scope})", + "Delete" : "Xóa", + "Rename" : "Sửa tên", + "Collaborative tags" : "Thẻ cộng tác", + "No tags found" : "Không tìm thấy thẻ", + "unknown text" : "văn bản không rõ", + "Hello world!" : "Hello world!", + "sunny" : "nắng", + "Hello {name}, the weather is {weather}" : "Xin chào {name}, thời tiết hiện nay {weather}", + "Hello {name}" : "Xin chào {name}", + "<strong>These are your search results<script>alert(1)</script></strong>" : "<strong>Đây là kết quả tìm kiếm của bạn<script>cảnh báo (1)</script></strong>", + "new" : "mới", + "_download %n file_::_download %n files_" : ["tải về%ntệp"], + "The update is in progress, leaving this page might interrupt the process in some environments." : "Quá trình cập nhật đang được tiến hành, đóng trang này có thể làm gián đoạn quá trình.", + "Update to {version}" : "Cập nhật lên {version}", + "An error occurred." : "Đã xảy ra lỗi.", + "Please reload the page." : "Vui lòng tải lại trang.", + "Continue to Nextcloud" : "Tiếp tục đến Nextcloud", + "_The update was successful. Redirecting you to Nextcloud in %n second._::_The update was successful. Redirecting you to Nextcloud in %n seconds._" : ["Cập nhật thành công. Đang chuyển hướng bạn tới Nextcloud trong %ngiây."], + "Searching other places" : "Tìm kiếm các nơi khác", + "No search results in other folders for {tag}{filter}{endtag}" : "Không có kết quả tìm kiếm trong các thư mục khác cho {tag} {filter} {endtag}", + "_{count} search result in another folder_::_{count} search results in other folders_" : ["{count} kết quả tìm kiếm trong các thư mục khác"], + "Personal" : "Cá nhân", + "Users" : "Người dùng", + "Apps" : "Ứng dụng", + "Admin" : "Quản trị", + "Help" : "Giúp đỡ", + "Access forbidden" : "Truy cập bị cấm", + "File not found" : "Không tìm thấy tệp tin", + "The specified document has not been found on the server." : "Không tìm thấy tài liệu trên máy chủ.", + "You can click here to return to %s." : "Bạn có thể nhấp vào đây để quay lại %s.", + "Internal Server Error" : "Lỗi máy chủ.", + "The server encountered an internal error and was unable to complete your request." : "Máy chủ gặp lỗi và không thể hoàn thành yêu cầu của bạn.", + "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Vui lòng liên hệ với quản trị viên máy chủ nếu lỗi này xuất hiện lại nhiều lần, vui lòng đính kèm các chi tiết kỹ thuật bên dưới trong báo cáo của bạn.", + "More details can be found in the server log." : "Các chi tiết có thể được tìm thấy trong nhật ký máy chủ.", + "Technical details" : "Chi tiết kỹ thuật", + "Remote Address: %s" : "Địa chỉ bên ngoài: %s", + "Request ID: %s" : "Yêu cầu ID:%s", + "Type: %s" : "Loại: %s", + "Code: %s" : "Mã: %s", + "Message: %s" : "Thông điệp:%s", + "File: %s" : "%sTệp:", + "Line: %s" : "Dòng: %s", + "Trace" : "Theo dõi", + "Security warning" : "Cảnh báo bảo mật", + "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Thư mục và file dữ liệu của bạn có thể được truy cập từ internet bởi vì file .htaccess không hoạt động", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Để biết thông tin về cách cấu hình đúng máy chủ của bạn, hãy <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">xem tài liệu</a>.", + "Create an <strong>admin account</strong>" : "Tạo một <strong>tài khoản quản trị</strong>", + "Username" : "Tên đăng nhập", + "Storage & database" : "Lưu trữ & cơ sở dữ liệu", + "Data folder" : "Thư mục dữ liệu", + "Configure the database" : "Cấu hình cơ sở dữ liệu", + "Only %s is available." : "Chỉ %s khả dụng.", + "Install and activate additional PHP modules to choose other database types." : "Cài đặt và kích hoạt các mô-đun PHP bổ sung để chọn các loại cơ sở dữ liệu khác.", + "For more details check out the documentation." : "Để biết thêm chi tiết, hãy kiểm tra tài liệu.", + "Database user" : "Người dùng cơ sở dữ liệu", + "Database password" : "Mật khẩu cơ sở dữ liệu", + "Database name" : "Tên cơ sở dữ liệu", + "Database tablespace" : "Cơ sở dữ liệu tablespace", + "Database host" : "Database host", + "Please specify the port number along with the host name (e.g., localhost:5432)." : "Vui lòng xác định số cổng cùng với tên máy chủ lưu trữ (ví dụ: localhost: 5432).", + "Performance warning" : "Cảnh báo hiệu suất", + "SQLite will be used as database." : "SQLite sẽ được sử dụng làm cơ sở dữ liệu.", + "For larger installations we recommend to choose a different database backend." : "Đối với các cài đặt hệ thống lớn, chúng tôi khuyên bạn nên chọn một hệ cơ sở dữ liệu khác.", + "Finish setup" : "Cài đặt hoàn tất", + "Finishing …" : "Đang hoàn thành ...", + "Need help?" : "Cần hỗ trợ ?", + "See the documentation" : "Xem tài liệu", + "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ứng dụng này yêu cầu JavaScript để hoạt động chính xác. Vui lòng {linkstart} bật JavaScript {linkend} và tải lại trang.", + "More apps" : "Thêm ứng dụng", + "Search" : "Tìm kiếm", + "This action requires you to confirm your password:" : "Tác vụ này yêu cầu bạn phải xác nhận mật khẩu của mình:", + "Confirm your password" : "Xác nhận mật khẩu của bạn", + "Server side authentication failed!" : "Xác thực phía máy chủ không thành công!", + "Please contact your administrator." : "Vui lòng liên hệ với quản trị viên.", + "Please try again or contact your administrator." : "Vui lòng thử lại hoặc liên hệ quản trị của bạn.", + "Username or email" : "Tên truy cập hoặc email", + "Wrong password. Reset it?" : "Sai mật khẩu. Gửi lại mật khẩu ?", + "Wrong password." : "Sai mật khẩu.", + "Log in" : "Đăng nhập", + "Stay logged in" : "Lưu trạng thái đăng nhập", + "Alternative Logins" : "Đăng nhập khác", + "Redirecting …" : "Chuyển tiếp ...", + "New password" : "Mật khẩu mới", + "New Password" : "Mật khẩu mới", + "Reset password" : "Khôi phục mật khẩu", + "This Nextcloud instance is currently in single user mode." : "Nextcloud trong trường hợp này đang ở chế độ người dùng duy nhất.", + "This means only administrators can use the instance." : "Điều này có nghĩa chỉ có người quản trị có thể sử dụng trong trường hợp này.", + "Contact your system administrator if this message persists or appeared unexpectedly." : "Liên hệ với người quản trị nếu lỗi này vẫn tồn tại hoặc xuất hiện bất ngờ.", + "Thank you for your patience." : "Cảm ơn sự kiên nhẫn của bạn.", + "Log out" : "Đăng xuất", + "Two-factor authentication" : "Xác thực 2 bước", + "Enhanced security is enabled for your account. Please authenticate using a second factor." : "Tính năng bảo mật nâng cao được kích hoạt cho tài khoản của bạn. Vui lòng xác thực sử dụng yếu tố thứ hai.", + "Cancel log in" : "Hủy đăng nhập", + "Use backup code" : "Sử dụng mã dự phòng", + "Error while validating your second factor" : "Lỗi khi xác thực 2 bước", + "Add \"%s\" as trusted domain" : "Thêm \"%s\" là tên miền tin cậy", + "App update required" : "Ứng dụng yêu cầu cập nhật", + "%s will be updated to version %s" : "%s sẽ được cập nhật lên phiên bản %s", + "These apps will be updated:" : "Những ứng dụng sẽ được cập nhật:", + "These incompatible apps will be disabled:" : "Những ứng dụng không tương thích sẽ bị tắt:", + "The theme %s has been disabled." : "Giao diện %s đã bị tắt.", + "Start update" : "Bắt đầu cập nhật", + "Detailed logs" : "Nhật ký chi tiết", + "Update needed" : "Cần phải cập nhật", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Để được trợ giúp, hãy xem <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">tài liệu</a>liệu.", + "Upgrade via web on my own risk" : "Nâng cấp qua web", + "Problem loading page, reloading in 5 seconds" : "Có vấn đề khi nạp trang, nạp lại trang trong vòng 5 giây", + "Ok" : "Đồng ý", + "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Thư mục dữ liệu và file của bạn có thể truy cập từ Internet. File .htaccess không hoạt động. Chúng tôi khuyến cáo bạn cấu hình web server của bạn sao cho thư mục dữ liệu (data folder) không thể truy câp được hoặc di chuyển thư mục data ra bên ngoài thư mục gốc (root) của Web Server.", + "Error while unsharing" : "Lỗi trong quá trình gỡ chia sẻ", + "can reshare" : "Có thể chia sẻ lại", + "can edit" : "có thể chỉnh sửa", + "can create" : "Có thể tạo mới", + "can change" : "Có thể thay đổi", + "can delete" : "Có thể xóa", + "access control" : "quản lý truy cập", + "Share with people on other servers using their Federated Cloud ID username@example.com/nextcloud" : "Chia sẻ với người trên các máy chủ khác có tài khoản CLoud ID username@example.com/nextcloud", + "Share with users or by mail..." : "Chia sẻ với nguwif dùng hoặc qua thư điện tử...", + "Share with users or remote users..." : "Chia sẻ với người dùng hoặc người dùng từ xa...", + "Share with users, remote users or by mail..." : "Chia sẻ với người dùng, người dùng từ xa hoặc bằng thư điện tử...", + "Share with users or groups..." : "Chia sẻ với người dùng hoặc nhóm người dùng", + "Share with users, groups or by mail..." : "Chia sẻ với người dùng, nhóm người dùng hoặc qua thư điện tử ...", + "Share with users, groups or remote users..." : "Chia sẻ với người dùng, nhóm người dùng hoặc người dùng từ xa...", + "Share with users, groups, remote users or by mail..." : "Chia sẻ với người dùng, nhóm, người dùng từ xa hoặc qua mail ...", + "Share with users..." : "Chia sẻ với người dùng ...", + "The object type is not specified." : "Loại đối tượng không được chỉ định.", + "Enter new" : "Nhập mới", + "Add" : "Thêm", + "Edit tags" : "Sửa thẻ", + "Error loading dialog template: {error}" : "Lỗi khi tải mẫu hội thoại: {error}", + "No tags selected for deletion." : "Không có thẻ nào được chọn để xóa", + "The update was successful. Redirecting you to Nextcloud now." : "Cập nhật thành công. Đang chuyển hướng bạn đến Nextcloud.", + "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Xin chào,\n\nbáo cho bạn biết rằng %s đã chia sẽ %s với bạn.\nXem nó: %s\n\n", + "The share will expire on %s." : "Chia sẻ này sẽ hết hiệu lực vào %s.", + "Cheers!" : "Chúc mừng!", + "Use the following link to reset your password: {link}" : "Dùng đường dẫn sau để khôi phục lại mật khẩu : {link}", + "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Xin chào, <br><br> báo cho bạn biết rằng %s đã chia sẽ %s với bạn. <br> <a href=\"%s\"> Xem </a><br><br>", + "Please use the command line updater because you have a big instance." : "Hãy sử dụng dòng lệnh để cập nhật bởi vì bạn có một hệ thống lớn." +},"pluralForm" :"nplurals=1; plural=0;" +}
\ No newline at end of file diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js index a57e9094bef..47a4bb10e0f 100644 --- a/core/l10n/zh_CN.js +++ b/core/l10n/zh_CN.js @@ -303,6 +303,8 @@ OC.L10N.register( "Update needed" : "需要更新", "Please use the command line updater because you have a big instance with more than 50 users." : "请使用命令行更新,因为您有一个超过50个用户的大型实例。", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "获取更多帮助, 请查看 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档</a>.", + "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "我知道继续通过Web UI进行更新的风险,请求超时运行,并可能导致数据丢失,但我有一个备份,并知道如何恢复。", + "Upgrade via web on my own risk" : "通过网络升级的风险", "This %s instance is currently in maintenance mode, which may take a while." : "该实例 %s 当前处于维护模式, 这将花费一些时间.", "This page will refresh itself when the %s instance is available again." : "当实例 %s 再次可用时此页面将刷新.", "Problem loading page, reloading in 5 seconds" : "加载页面出现问题, 在 5 秒内重新加载", diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json index 364808796b2..2c4f926c2fe 100644 --- a/core/l10n/zh_CN.json +++ b/core/l10n/zh_CN.json @@ -301,6 +301,8 @@ "Update needed" : "需要更新", "Please use the command line updater because you have a big instance with more than 50 users." : "请使用命令行更新,因为您有一个超过50个用户的大型实例。", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "获取更多帮助, 请查看 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档</a>.", + "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "我知道继续通过Web UI进行更新的风险,请求超时运行,并可能导致数据丢失,但我有一个备份,并知道如何恢复。", + "Upgrade via web on my own risk" : "通过网络升级的风险", "This %s instance is currently in maintenance mode, which may take a while." : "该实例 %s 当前处于维护模式, 这将花费一些时间.", "This page will refresh itself when the %s instance is available again." : "当实例 %s 再次可用时此页面将刷新.", "Problem loading page, reloading in 5 seconds" : "加载页面出现问题, 在 5 秒内重新加载", diff --git a/core/shipped.json b/core/shipped.json index 306131405e2..83eb3a29787 100644 --- a/core/shipped.json +++ b/core/shipped.json @@ -41,6 +41,7 @@ "federatedfilesharing", "lookup_server_connector", "provisioning_api", + "oauth2", "twofactor_backupcodes", "workflowengine" ] diff --git a/core/templates/layout.base.php b/core/templates/layout.base.php index e2e61e67e2c..7eb1cf5ffa4 100644 --- a/core/templates/layout.base.php +++ b/core/templates/layout.base.php @@ -12,20 +12,13 @@ <link rel="icon" href="<?php print_unescaped(image_path('', 'favicon.ico')); /* IE11+ supports png */ ?>"> <link rel="apple-touch-icon-precomposed" href="<?php print_unescaped(image_path('', 'favicon-touch.png')); ?>"> <link rel="mask-icon" sizes="any" href="<?php print_unescaped(image_path('', 'favicon-mask.svg')); ?>" color="<?php p($theme->getColorPrimary()); ?>"> - <?php if (isset($_['inline_ocjs'])): ?> - <script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" type="text/javascript"> - <?php print_unescaped($_['inline_ocjs']); ?> - </script> - <?php endif; ?> <?php foreach ($_['cssfiles'] as $cssfile): ?> <link rel="stylesheet" href="<?php print_unescaped($cssfile); ?>"> <?php endforeach; ?> <?php foreach($_['printcssfiles'] as $cssfile): ?> <link rel="stylesheet" href="<?php print_unescaped($cssfile); ?>" media="print"> <?php endforeach; ?> - <?php foreach ($_['jsfiles'] as $jsfile): ?> - <script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php print_unescaped($jsfile); ?>"></script> - <?php endforeach; ?> + <?php emit_script_loading_tags($_); ?> <?php print_unescaped($_['headers']); ?> </head> <body id="body-public"> diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php index 2c2373d53aa..dc56edb0061 100644 --- a/core/templates/layout.guest.php +++ b/core/templates/layout.guest.php @@ -13,20 +13,13 @@ <link rel="icon" href="<?php print_unescaped(image_path('', 'favicon.ico')); /* IE11+ supports png */ ?>"> <link rel="apple-touch-icon-precomposed" href="<?php print_unescaped(image_path('', 'favicon-touch.png')); ?>"> <link rel="mask-icon" sizes="any" href="<?php print_unescaped(image_path('', 'favicon-mask.svg')); ?>" color="<?php p($theme->getColorPrimary()); ?>"> - <?php if (isset($_['inline_ocjs'])): ?> - <script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" type="text/javascript"> - <?php print_unescaped($_['inline_ocjs']); ?> - </script> - <?php endif; ?> <?php foreach($_['cssfiles'] as $cssfile): ?> <link rel="stylesheet" href="<?php print_unescaped($cssfile); ?>"> <?php endforeach; ?> <?php foreach($_['printcssfiles'] as $cssfile): ?> <link rel="stylesheet" href="<?php print_unescaped($cssfile); ?>" media="print"> <?php endforeach; ?> - <?php foreach($_['jsfiles'] as $jsfile): ?> - <script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php print_unescaped($jsfile); ?>"></script> - <?php endforeach; ?> + <?php emit_script_loading_tags($_); ?> <?php print_unescaped($_['headers']); ?> </head> <body id="<?php p($_['bodyid']);?>"> diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index 978534b869c..aad9875f375 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -21,20 +21,13 @@ <link rel="apple-touch-icon-precomposed" href="<?php print_unescaped(image_path($_['appid'], 'favicon-touch.png')); ?>"> <link rel="mask-icon" sizes="any" href="<?php print_unescaped(image_path($_['appid'], 'favicon-mask.svg')); ?>" color="<?php p($theme->getColorPrimary()); ?>"> <link rel="manifest" href="<?php print_unescaped(image_path($_['appid'], 'manifest.json')); ?>"> - <?php if (isset($_['inline_ocjs'])): ?> - <script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" type="text/javascript"> - <?php print_unescaped($_['inline_ocjs']); ?> - </script> - <?php endif; ?> <?php foreach($_['cssfiles'] as $cssfile): ?> <link rel="stylesheet" href="<?php print_unescaped($cssfile); ?>"> <?php endforeach; ?> <?php foreach($_['printcssfiles'] as $cssfile): ?> <link rel="stylesheet" href="<?php print_unescaped($cssfile); ?>" media="print"> <?php endforeach; ?> - <?php foreach($_['jsfiles'] as $jsfile): ?> - <script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php print_unescaped($jsfile); ?>"></script> - <?php endforeach; ?> + <?php emit_script_loading_tags($_); ?> <?php print_unescaped($_['headers']); ?> </head> <body id="<?php p($_['bodyid']);?>"> diff --git a/lib/base.php b/lib/base.php index 38e9fb8e498..226aeeb727f 100644 --- a/lib/base.php +++ b/lib/base.php @@ -292,6 +292,9 @@ class OC { */ public static function checkUpgrade($showTemplate = true) { if (\OCP\Util::needUpgrade()) { + if (function_exists('opcache_reset')) { + opcache_reset(); + } $systemConfig = \OC::$server->getSystemConfig(); if ($showTemplate && !$systemConfig->getValue('maintenance', false)) { self::printUpgradePage(); diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js index d3a3f1d8922..d1daa6c921c 100644 --- a/lib/l10n/pl.js +++ b/lib/l10n/pl.js @@ -181,7 +181,10 @@ OC.L10N.register( "No database drivers (sqlite, mysql, or postgresql) installed." : "Brak sterowników bazy danych (sqlite, mysql or postgresql).", "Cannot write into \"config\" directory" : "Nie można zapisać do katalogu \"config\"", "Cannot write into \"apps\" directory" : "Nie można zapisać do katalogu \"apps\"", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Zazwyczaj można to naprawić poprzez nadanie serwerowi www uprawnień do zapisu w katalogu aplikacji lub poprzez wyłączenie sklepu aplikacji w pliku konfiugracyjnym. Zobacz %s", "Cannot create \"data\" directory" : "Nie mozna utworzyć katalogu \"data\"", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Zazwyczaj można to naprawić poprzez nadanie serwerowi www uprawnień do zapisu w katalogu głównym. Zobacz %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Uprawnienia mogą zazwyczaj być naprawione poprzez nadanie serwerowi www uprawnień do zapisu w katalogu głównym. Zobacz %s.", "Setting locale to %s failed" : "Nie udało się zmienić języka na %s", "Please install one of these locales on your system and restart your webserver." : "Proszę zainstalować jedno z poniższych locale w Twoim systemie i uruchomić ponownie serwer www.", "Please ask your server administrator to install the module." : "Proszę poproś administratora serwera aby zainstalował ten moduł.", @@ -207,7 +210,7 @@ OC.L10N.register( "Could not obtain lock type %d on \"%s\"." : "Nie można uzyskać blokady typu %d na \"%s\".", "Storage unauthorized. %s" : "Magazyn nieautoryzowany. %s", "Storage incomplete configuration. %s" : "Niekompletna konfiguracja magazynu. %s", - "Storage connection error. %s" : "Błąd połączenia magazynu. %s", + "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 został przekroczony. %s", "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Można to zwykle rozwiązać przez %sdodanie serwerowi www uprawnień zapisu do katalogu config%s.", diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json index 1cfbf84a59e..951476baaa1 100644 --- a/lib/l10n/pl.json +++ b/lib/l10n/pl.json @@ -179,7 +179,10 @@ "No database drivers (sqlite, mysql, or postgresql) installed." : "Brak sterowników bazy danych (sqlite, mysql or postgresql).", "Cannot write into \"config\" directory" : "Nie można zapisać do katalogu \"config\"", "Cannot write into \"apps\" directory" : "Nie można zapisać do katalogu \"apps\"", + "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Zazwyczaj można to naprawić poprzez nadanie serwerowi www uprawnień do zapisu w katalogu aplikacji lub poprzez wyłączenie sklepu aplikacji w pliku konfiugracyjnym. Zobacz %s", "Cannot create \"data\" directory" : "Nie mozna utworzyć katalogu \"data\"", + "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Zazwyczaj można to naprawić poprzez nadanie serwerowi www uprawnień do zapisu w katalogu głównym. Zobacz %s", + "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Uprawnienia mogą zazwyczaj być naprawione poprzez nadanie serwerowi www uprawnień do zapisu w katalogu głównym. Zobacz %s.", "Setting locale to %s failed" : "Nie udało się zmienić języka na %s", "Please install one of these locales on your system and restart your webserver." : "Proszę zainstalować jedno z poniższych locale w Twoim systemie i uruchomić ponownie serwer www.", "Please ask your server administrator to install the module." : "Proszę poproś administratora serwera aby zainstalował ten moduł.", @@ -205,7 +208,7 @@ "Could not obtain lock type %d on \"%s\"." : "Nie można uzyskać blokady typu %d na \"%s\".", "Storage unauthorized. %s" : "Magazyn nieautoryzowany. %s", "Storage incomplete configuration. %s" : "Niekompletna konfiguracja magazynu. %s", - "Storage connection error. %s" : "Błąd połączenia magazynu. %s", + "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 został przekroczony. %s", "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Można to zwykle rozwiązać przez %sdodanie serwerowi www uprawnień zapisu do katalogu config%s.", diff --git a/lib/private/Template/SCSSCacher.php b/lib/private/Template/SCSSCacher.php index c31a255e441..6b1c594bd2e 100644 --- a/lib/private/Template/SCSSCacher.php +++ b/lib/private/Template/SCSSCacher.php @@ -226,7 +226,9 @@ class SCSSCacher { try { $data = $this->rebaseUrls($compiledScss, $webDir); $cachedfile->putContent($data); - $depFile->putContent(json_encode($scss->getParsedFiles())); + $deps = json_encode($scss->getParsedFiles()); + $depFile->putContent($deps); + $this->depsCache->set($folder->getName() . '-' . $depFileName, $deps); $gzipFile->putContent(gzencode($data, 9)); $this->logger->debug($webDir.'/'.$fileNameSCSS.' compiled and successfully cached', ['app' => 'core']); return true; diff --git a/lib/private/legacy/template.php b/lib/private/legacy/template.php index b4c69327438..4f7c11d0b64 100644 --- a/lib/private/legacy/template.php +++ b/lib/private/legacy/template.php @@ -12,6 +12,7 @@ * @author Joas Schilling <coding@schilljs.com> * @author Jörn Friedrich Dreyer <jfd@butonic.de> * @author Lukas Reschke <lukas@statuscode.ch> + * @author Michael Letzgus <develope@michael-letzgus.de> * @author Morris Jobke <hey@morrisjobke.de> * @author Raghu Nayyar <hey@raghunayyar.com> * @author Robin Appelman <robin@icewind.nl> @@ -208,6 +209,9 @@ class OC_Template extends \OC\Template\Base { $headers = ''; foreach(OC_Util::$headers as $header) { $headers .= '<'.\OCP\Util::sanitizeHTML($header['tag']); + if ( strcasecmp($header['tag'], 'script') === 0 && in_array('src', array_map('strtolower', array_keys($header['attributes']))) ) { + $headers .= ' defer'; + } foreach($header['attributes'] as $name=>$value) { $headers .= ' '.\OCP\Util::sanitizeHTML($name).'="'.\OCP\Util::sanitizeHTML($value).'"'; } diff --git a/lib/private/legacy/template/functions.php b/lib/private/legacy/template/functions.php index 7814918b815..06eb512b54f 100644 --- a/lib/private/legacy/template/functions.php +++ b/lib/private/legacy/template/functions.php @@ -7,6 +7,7 @@ * @author Joas Schilling <coding@schilljs.com> * @author Jörn Friedrich Dreyer <jfd@butonic.de> * @author Lukas Reschke <lukas@statuscode.ch> + * @author Michael Letzgus <develope@michael-letzgus.de> * @author Morris Jobke <hey@morrisjobke.de> * @author Robin McCorkell <robin@mccorkell.me.uk> * @author Roeland Jago Douma <roeland@famdouma.nl> @@ -38,6 +39,42 @@ function p($string) { } /** + * Prints a <script> tag with nonce and defer depending on config + * @param string $src the source URL, ignored when empty + * @param string $script_content the inline script content, ignored when empty + * @param bool $defer_flag deferred loading or not +*/ +function emit_script_tag($src, $script_content) { + $defer_str=' defer'; + $s='<script nonce="' . \OC::$server->getContentSecurityPolicyNonceManager()->getNonce() . '"'; + if (!empty($src)) { + // emit script tag for deferred loading from $src + $s.=$defer_str.' src="' . $src .'">'; + } else if (!empty($script_content)) { + // emit script tag for inline script from $script_content without defer (see MDN) + $s.=">\n".$script_content."\n"; + } else { + // no $src nor $src_content, really useless empty tag + $s.='>'; + } + $s.='</script>'; + print_unescaped($s."\n"); +} + +/** + * Print all <script> tags for loading JS + * @param hash $obj all the script information from template +*/ +function emit_script_loading_tags($obj) { + if (!empty($obj['inline_ocjs'])) { + emit_script_tag('', $obj['inline_ocjs']); + } + foreach($obj['jsfiles'] as $jsfile) { + emit_script_tag($jsfile, ''); + } +} + +/** * Prints an unsanitized string - usage of this function may result into XSS. * Consider using p() instead. * @param string|array $string the string which will be printed as it is diff --git a/settings/l10n/el.js b/settings/l10n/el.js index 78dc45ea2e2..0c984a5a3f8 100644 --- a/settings/l10n/el.js +++ b/settings/l10n/el.js @@ -7,6 +7,7 @@ OC.L10N.register( "{actor} changed your email address" : "{actor} άλλαξε τη διεύθυνσή του ηλεκτρονικού ταχυδρομείου σας", "You changed your email address" : "Έχετε αλλάξει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας", "Your email address was changed by an administrator" : "Η διεύθυνση ηλεκτρονικής αλληλογραφίας άλλαξε από τον διαχειριστή", + "Security" : "Ασφάλεια", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Ο δικός σας <ισχυρός>κωδικός πρόσβασης</ισχυρός>ή<ισχυρός>αλληλογραφίας</ισχυρός>τροποποιήθηκε", "Your apps" : "Οι εφαρμογές σας", "Enabled apps" : "Ενεργοποιημένες εφαρμογές", diff --git a/settings/l10n/el.json b/settings/l10n/el.json index d1a020daaec..4e089e61d02 100644 --- a/settings/l10n/el.json +++ b/settings/l10n/el.json @@ -5,6 +5,7 @@ "{actor} changed your email address" : "{actor} άλλαξε τη διεύθυνσή του ηλεκτρονικού ταχυδρομείου σας", "You changed your email address" : "Έχετε αλλάξει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας", "Your email address was changed by an administrator" : "Η διεύθυνση ηλεκτρονικής αλληλογραφίας άλλαξε από τον διαχειριστή", + "Security" : "Ασφάλεια", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Ο δικός σας <ισχυρός>κωδικός πρόσβασης</ισχυρός>ή<ισχυρός>αλληλογραφίας</ισχυρός>τροποποιήθηκε", "Your apps" : "Οι εφαρμογές σας", "Enabled apps" : "Ενεργοποιημένες εφαρμογές", diff --git a/settings/l10n/nb.js b/settings/l10n/nb.js index 513d6c5f0b1..f4b8f4c3489 100644 --- a/settings/l10n/nb.js +++ b/settings/l10n/nb.js @@ -113,7 +113,7 @@ OC.L10N.register( "App update" : "Programoppdatering", "Approved" : "Godkjent", "Experimental" : "Eksperimentell", - "No apps found for {query}" : "Ingen programmet funnet for \"{query}\"", + "No apps found for {query}" : "Ingen programmer funnet for {query}", "Enable all" : "Skru på alle", "Allow filesystem access" : "Tillatt filsystem tilgang", "Disconnect" : "Koble fra", diff --git a/settings/l10n/nb.json b/settings/l10n/nb.json index 58b44a466a3..852b4f16f10 100644 --- a/settings/l10n/nb.json +++ b/settings/l10n/nb.json @@ -111,7 +111,7 @@ "App update" : "Programoppdatering", "Approved" : "Godkjent", "Experimental" : "Eksperimentell", - "No apps found for {query}" : "Ingen programmet funnet for \"{query}\"", + "No apps found for {query}" : "Ingen programmer funnet for {query}", "Enable all" : "Skru på alle", "Allow filesystem access" : "Tillatt filsystem tilgang", "Disconnect" : "Koble fra", diff --git a/settings/l10n/pl.js b/settings/l10n/pl.js index be02cf7dd9b..3af3b4320f2 100644 --- a/settings/l10n/pl.js +++ b/settings/l10n/pl.js @@ -251,6 +251,7 @@ OC.L10N.register( "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Dla optymalnej wydajności należy poprawnie skonfigurować zadania w tle. Dla większych instancji zalecane jest użycie usługi 'Cron'. Więcej informacji można znaleźć w dokumentacji.", "Execute one task with each page loaded" : "Wykonuj jedno zadanie wraz z każdą wczytaną stroną.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Cron.php jest zarejestrowany w usłudze webcron do uruchamiania cron.php raz na 15 minut przez http.", + "Use system cron service to call the cron.php file every 15 minutes." : "Użyj usługi systemowej cron do wywoływania cron.php co 15 minut.", "The cron.php needs to be executed by the system user \"%s\"." : "Cron.php musi być wykonywany przez użytkownika systemu \"%s\".", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Aby to uruchomić potrzebujesz rozszerzenia posix do PHP. Po więcej informacji sprawdź {linkstart}dokumentację PHP{linkend}.", "Version" : "Wersja", diff --git a/settings/l10n/pl.json b/settings/l10n/pl.json index 05436b13f43..885ffa2e96b 100644 --- a/settings/l10n/pl.json +++ b/settings/l10n/pl.json @@ -249,6 +249,7 @@ "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Dla optymalnej wydajności należy poprawnie skonfigurować zadania w tle. Dla większych instancji zalecane jest użycie usługi 'Cron'. Więcej informacji można znaleźć w dokumentacji.", "Execute one task with each page loaded" : "Wykonuj jedno zadanie wraz z każdą wczytaną stroną.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Cron.php jest zarejestrowany w usłudze webcron do uruchamiania cron.php raz na 15 minut przez http.", + "Use system cron service to call the cron.php file every 15 minutes." : "Użyj usługi systemowej cron do wywoływania cron.php co 15 minut.", "The cron.php needs to be executed by the system user \"%s\"." : "Cron.php musi być wykonywany przez użytkownika systemu \"%s\".", "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Aby to uruchomić potrzebujesz rozszerzenia posix do PHP. Po więcej informacji sprawdź {linkstart}dokumentację PHP{linkend}.", "Version" : "Wersja", diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js index 74baec24bfd..391cb0fc1a9 100644 --- a/settings/l10n/pt_BR.js +++ b/settings/l10n/pt_BR.js @@ -8,7 +8,7 @@ OC.L10N.register( "You changed your email address" : "Você alterou seu e-mail", "Your email address was changed by an administrator" : "Seu e-mail foi alterado pelo administrador", "Security" : "Segurança", - "You successfully logged in using two-factor authentication (%1$s)" : "Você conectou com êxito usando q autenticação de dois fatores (%1$s)", + "You successfully logged in using two-factor authentication (%1$s)" : "Você conectou com êxito usando a autenticação de dois fatores (%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "A tentativa de login usando a autenticação de dois fatores falhou (%1$s)", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sua <strong>senha</strong> ou <strong>e-mail</strong> foram alterados", "Your apps" : "Seus aplicativos", diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json index 89e45f0423c..05bba8cb156 100644 --- a/settings/l10n/pt_BR.json +++ b/settings/l10n/pt_BR.json @@ -6,7 +6,7 @@ "You changed your email address" : "Você alterou seu e-mail", "Your email address was changed by an administrator" : "Seu e-mail foi alterado pelo administrador", "Security" : "Segurança", - "You successfully logged in using two-factor authentication (%1$s)" : "Você conectou com êxito usando q autenticação de dois fatores (%1$s)", + "You successfully logged in using two-factor authentication (%1$s)" : "Você conectou com êxito usando a autenticação de dois fatores (%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "A tentativa de login usando a autenticação de dois fatores falhou (%1$s)", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sua <strong>senha</strong> ou <strong>e-mail</strong> foram alterados", "Your apps" : "Seus aplicativos", diff --git a/settings/l10n/sl.js b/settings/l10n/sl.js index 3a6e5ae2c7f..224f109349a 100644 --- a/settings/l10n/sl.js +++ b/settings/l10n/sl.js @@ -1,6 +1,8 @@ OC.L10N.register( "settings", { + "{actor} changed your password" : "{actor} vaše geslo je spremenjeno", + "You changed your password" : "Spremenili ste vaše geslo", "Wrong password" : "Napačno geslo", "Saved" : "Shranjeno", "No user supplied" : "Ni navedenega uporabnika", diff --git a/settings/l10n/sl.json b/settings/l10n/sl.json index 5bc8b7b2cce..e5335276d1b 100644 --- a/settings/l10n/sl.json +++ b/settings/l10n/sl.json @@ -1,4 +1,6 @@ { "translations": { + "{actor} changed your password" : "{actor} vaše geslo je spremenjeno", + "You changed your password" : "Spremenili ste vaše geslo", "Wrong password" : "Napačno geslo", "Saved" : "Shranjeno", "No user supplied" : "Ni navedenega uporabnika", diff --git a/tests/acceptance/features/bootstrap/FilesAppContext.php b/tests/acceptance/features/bootstrap/FilesAppContext.php index e769820c9ee..5916fd4bec6 100644 --- a/tests/acceptance/features/bootstrap/FilesAppContext.php +++ b/tests/acceptance/features/bootstrap/FilesAppContext.php @@ -210,6 +210,13 @@ class FilesAppContext implements Context, ActorAwareInterface { /** * @return Locator */ + public static function detailsMenuItem() { + return self::fileActionsMenuItemFor("Details"); + } + + /** + * @return Locator + */ public static function viewFileInFolderMenuItem() { return self::fileActionsMenuItemFor("View in folder"); } @@ -234,7 +241,9 @@ class FilesAppContext implements Context, ActorAwareInterface { * @Given I open the details view for :fileName */ public function iOpenTheDetailsViewFor($fileName) { - $this->actor->find(self::mainLinkForFile($fileName), 10)->click(); + $this->actor->find(self::fileActionsMenuButtonForFile($fileName), 10)->click(); + + $this->actor->find(self::detailsMenuItem(), 2)->click(); } /** diff --git a/tests/lib/App/AppManagerTest.php b/tests/lib/App/AppManagerTest.php index bfb2893955f..c2c0ea55072 100644 --- a/tests/lib/App/AppManagerTest.php +++ b/tests/lib/App/AppManagerTest.php @@ -140,7 +140,7 @@ class AppManagerTest extends TestCase { $this->assertEquals('no', $this->appConfig->getValue( 'some_random_name_which_i_hope_is_not_an_app', 'enabled', 'no' )); - } + } public function testEnableAppForGroups() { $groups = array( @@ -333,6 +333,7 @@ class AppManagerTest extends TestCase { 'federatedfilesharing', 'files', 'lookup_server_connector', + 'oauth2', 'provisioning_api', 'test1', 'test3', @@ -358,11 +359,12 @@ class AppManagerTest extends TestCase { 'federatedfilesharing', 'files', 'lookup_server_connector', + 'oauth2', 'provisioning_api', 'test1', 'test3', 'twofactor_backupcodes', - 'workflowengine' + 'workflowengine', ]; $this->assertEquals($enabled, $this->manager->getEnabledAppsForUser($user)); } @@ -387,6 +389,7 @@ class AppManagerTest extends TestCase { 'testnoversion' => ['id' => 'testnoversion', 'requiremin' => '8.2.0'], 'twofactor_backupcodes' => ['id' => 'twofactor_backupcodes'], 'workflowengine' => ['id' => 'workflowengine'], + 'oauth2' => ['id' => 'oauth2'], ]; $manager->expects($this->any()) @@ -395,7 +398,7 @@ class AppManagerTest extends TestCase { function($appId) use ($appInfos) { return $appInfos[$appId]; } - )); + )); $this->appConfig->setValue('test1', 'enabled', 'yes'); $this->appConfig->setValue('test1', 'installed_version', '1.0.0'); @@ -432,6 +435,7 @@ class AppManagerTest extends TestCase { 'testnoversion' => ['id' => 'testnoversion', 'requiremin' => '8.2.0'], 'twofactor_backupcodes' => ['id' => 'twofactor_backupcodes'], 'workflowengine' => ['id' => 'workflowengine'], + 'oauth2' => ['id' => 'oauth2'], ]; $manager->expects($this->any()) @@ -440,7 +444,7 @@ class AppManagerTest extends TestCase { function($appId) use ($appInfos) { return $appInfos[$appId]; } - )); + )); $this->appConfig->setValue('test1', 'enabled', 'yes'); $this->appConfig->setValue('test2', 'enabled', 'yes'); diff --git a/tests/lib/AppTest.php b/tests/lib/AppTest.php index a60a03a07f5..620e9344c43 100644 --- a/tests/lib/AppTest.php +++ b/tests/lib/AppTest.php @@ -353,6 +353,7 @@ class AppTest extends \Test\TestCase { 'dav', 'federatedfilesharing', 'lookup_server_connector', + 'oauth2', 'provisioning_api', 'twofactor_backupcodes', 'workflowengine', @@ -371,6 +372,7 @@ class AppTest extends \Test\TestCase { 'dav', 'federatedfilesharing', 'lookup_server_connector', + 'oauth2', 'provisioning_api', 'twofactor_backupcodes', 'workflowengine', @@ -390,6 +392,7 @@ class AppTest extends \Test\TestCase { 'dav', 'federatedfilesharing', 'lookup_server_connector', + 'oauth2', 'provisioning_api', 'twofactor_backupcodes', 'workflowengine', @@ -409,6 +412,7 @@ class AppTest extends \Test\TestCase { 'dav', 'federatedfilesharing', 'lookup_server_connector', + 'oauth2', 'provisioning_api', 'twofactor_backupcodes', 'workflowengine', @@ -428,6 +432,7 @@ class AppTest extends \Test\TestCase { 'dav', 'federatedfilesharing', 'lookup_server_connector', + 'oauth2', 'provisioning_api', 'twofactor_backupcodes', 'workflowengine', @@ -508,11 +513,11 @@ class AppTest extends \Test\TestCase { ); $apps = \OC_App::getEnabledApps(); - $this->assertEquals(array('files', 'app3', 'dav', 'federatedfilesharing', 'lookup_server_connector', 'provisioning_api', 'twofactor_backupcodes', 'workflowengine'), $apps); + $this->assertEquals(array('files', 'app3', 'dav', 'federatedfilesharing', 'lookup_server_connector', 'oauth2', 'provisioning_api', 'twofactor_backupcodes', 'workflowengine'), $apps); // mock should not be called again here $apps = \OC_App::getEnabledApps(); - $this->assertEquals(array('files', 'app3', 'dav', 'federatedfilesharing', 'lookup_server_connector', 'provisioning_api', 'twofactor_backupcodes', 'workflowengine'), $apps); + $this->assertEquals(array('files', 'app3', 'dav', 'federatedfilesharing', 'lookup_server_connector', 'oauth2', 'provisioning_api', 'twofactor_backupcodes', 'workflowengine'), $apps); $this->restoreAppConfig(); \OC_User::setUserId(null); diff --git a/version.php b/version.php index da1d0a8bb66..e237770c820 100644 --- a/version.php +++ b/version.php @@ -26,18 +26,17 @@ // between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel // when updating major/minor version number. -$OC_Version = array(12, 0, 0, 24); +$OC_Version = array(13, 0, 0, 0); // The human readable string -$OC_VersionString = '12.0 RC2'; +$OC_VersionString = '13.0.0 alpha'; $OC_VersionCanBeUpgradedFrom = [ 'nextcloud' => [ - '11.0' => true, '12.0' => true, + '13.0' => true, ], 'owncloud' => [ - '10.0.0.12' => true, ], ]; |