diff options
86 files changed, 2162 insertions, 345 deletions
diff --git a/apps/dav/l10n/de.js b/apps/dav/l10n/de.js index d6569cdc4f9..66e17898188 100644 --- a/apps/dav/l10n/de.js +++ b/apps/dav/l10n/de.js @@ -282,7 +282,7 @@ OC.L10N.register( "Saved availability" : "Verfügbarkeit gespeichert", "Failed to save availability" : "Verfügbarkeit konnte nicht gespeichert werden", "Time zone:" : "Zeitzone:", - "to" : "an", + "to" : "bis", "Delete slot" : "Slot löschen", "No working hours set" : "Keine Arbeitszeiten konfiguriert", "Add slot" : "Slot hinzufügen", diff --git a/apps/dav/l10n/de.json b/apps/dav/l10n/de.json index e3a6f980ba1..94354959e6f 100644 --- a/apps/dav/l10n/de.json +++ b/apps/dav/l10n/de.json @@ -280,7 +280,7 @@ "Saved availability" : "Verfügbarkeit gespeichert", "Failed to save availability" : "Verfügbarkeit konnte nicht gespeichert werden", "Time zone:" : "Zeitzone:", - "to" : "an", + "to" : "bis", "Delete slot" : "Slot löschen", "No working hours set" : "Keine Arbeitszeiten konfiguriert", "Add slot" : "Slot hinzufügen", diff --git a/apps/dav/l10n/de_DE.js b/apps/dav/l10n/de_DE.js index 1072d8f9ff2..0a53ba564a7 100644 --- a/apps/dav/l10n/de_DE.js +++ b/apps/dav/l10n/de_DE.js @@ -282,7 +282,7 @@ OC.L10N.register( "Saved availability" : "Verfügbarkeit gespeichert", "Failed to save availability" : "Verfügbarkeit konnte nicht gespeichert werden", "Time zone:" : "Zeitzone:", - "to" : "an", + "to" : "bis", "Delete slot" : "Zeitfenster löschen", "No working hours set" : "Keine Arbeitszeiten konfiguriert", "Add slot" : "Zeitfenster hinzufügen", diff --git a/apps/dav/l10n/de_DE.json b/apps/dav/l10n/de_DE.json index 721cee8c91a..7bf998eec36 100644 --- a/apps/dav/l10n/de_DE.json +++ b/apps/dav/l10n/de_DE.json @@ -280,7 +280,7 @@ "Saved availability" : "Verfügbarkeit gespeichert", "Failed to save availability" : "Verfügbarkeit konnte nicht gespeichert werden", "Time zone:" : "Zeitzone:", - "to" : "an", + "to" : "bis", "Delete slot" : "Zeitfenster löschen", "No working hours set" : "Keine Arbeitszeiten konfiguriert", "Add slot" : "Zeitfenster hinzufügen", diff --git a/apps/dav/l10n/et_EE.js b/apps/dav/l10n/et_EE.js index 69f941b3daa..2cf7703d686 100644 --- a/apps/dav/l10n/et_EE.js +++ b/apps/dav/l10n/et_EE.js @@ -31,7 +31,11 @@ OC.L10N.register( "{actor} deleted event {event} from calendar {calendar}" : "{actor} kustutas sündmuse {event} kalendrist {calendar}", "You deleted event {event} from calendar {calendar}" : "Sa kustutasid sündmuse {event} kalendrist {calendar}", "{actor} updated event {event} in calendar {calendar}" : "{actor} uuendas sündmust {event} kalendris {calendar}", - "You updated event {event} in calendar {calendar}" : "Sa uuendasid sündmust {event} kalendris {calendar}", + "You updated event {event} in calendar {calendar}" : "Sa uuendasid „{event}“ sündmust „{calendar}“ kalendris", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} teisaldas „{event}“ sündmuse „{sourceCalendar}“ kalendrist „{targetCalendar}“ kalendrisse", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Sina teisaldasid „{event}“ sündmuse „{sourceCalendar}“ kalendrist „{targetCalendar}“ kalendrisse", + "{actor} restored event {event} of calendar {calendar}" : "{actor} taastas „{event}“ sündmuse „{calendar}“ kalendris", + "You restored event {event} of calendar {calendar}" : "Sina taastasid „{event}“ sündmuse „{calendar}“ kalendris", "Busy" : "Hõivatud", "{actor} created to-do {todo} in list {calendar}" : "{actor} lisas {todo} ülesande {calendar} loendissse", "You created to-do {todo} in list {calendar}" : "Sina lisasid {todo} ülesande {calendar} loendisse", @@ -68,6 +72,7 @@ OC.L10N.register( "Description: %s" : "Kirjeldus: %s", "Where: %s" : "Kus: %s", "%1$s via %2$s" : "%1$s %2$s kaudu", + "Every Day between %1$s - %2$s until %3$s" : "Iga päev ajavahemikus %1$s-%2$s kuni %3$s", "Cancelled: %1$s" : "Tühistatud: %1$s", "\"%1$s\" has been canceled" : "„%1$s“ on tühistatud", "Re: %1$s" : "Re: %1$s", diff --git a/apps/dav/l10n/et_EE.json b/apps/dav/l10n/et_EE.json index 2eed43d0c8f..e4615d45ca2 100644 --- a/apps/dav/l10n/et_EE.json +++ b/apps/dav/l10n/et_EE.json @@ -29,7 +29,11 @@ "{actor} deleted event {event} from calendar {calendar}" : "{actor} kustutas sündmuse {event} kalendrist {calendar}", "You deleted event {event} from calendar {calendar}" : "Sa kustutasid sündmuse {event} kalendrist {calendar}", "{actor} updated event {event} in calendar {calendar}" : "{actor} uuendas sündmust {event} kalendris {calendar}", - "You updated event {event} in calendar {calendar}" : "Sa uuendasid sündmust {event} kalendris {calendar}", + "You updated event {event} in calendar {calendar}" : "Sa uuendasid „{event}“ sündmust „{calendar}“ kalendris", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} teisaldas „{event}“ sündmuse „{sourceCalendar}“ kalendrist „{targetCalendar}“ kalendrisse", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Sina teisaldasid „{event}“ sündmuse „{sourceCalendar}“ kalendrist „{targetCalendar}“ kalendrisse", + "{actor} restored event {event} of calendar {calendar}" : "{actor} taastas „{event}“ sündmuse „{calendar}“ kalendris", + "You restored event {event} of calendar {calendar}" : "Sina taastasid „{event}“ sündmuse „{calendar}“ kalendris", "Busy" : "Hõivatud", "{actor} created to-do {todo} in list {calendar}" : "{actor} lisas {todo} ülesande {calendar} loendissse", "You created to-do {todo} in list {calendar}" : "Sina lisasid {todo} ülesande {calendar} loendisse", @@ -66,6 +70,7 @@ "Description: %s" : "Kirjeldus: %s", "Where: %s" : "Kus: %s", "%1$s via %2$s" : "%1$s %2$s kaudu", + "Every Day between %1$s - %2$s until %3$s" : "Iga päev ajavahemikus %1$s-%2$s kuni %3$s", "Cancelled: %1$s" : "Tühistatud: %1$s", "\"%1$s\" has been canceled" : "„%1$s“ on tühistatud", "Re: %1$s" : "Re: %1$s", diff --git a/apps/dav/lib/Connector/Sabre/File.php b/apps/dav/lib/Connector/Sabre/File.php index 045b9d7e784..98e0f2e9e4b 100644 --- a/apps/dav/lib/Connector/Sabre/File.php +++ b/apps/dav/lib/Connector/Sabre/File.php @@ -19,6 +19,7 @@ use OCA\DAV\Connector\Sabre\Exception\Forbidden as DAVForbiddenException; use OCA\DAV\Connector\Sabre\Exception\UnsupportedMediaType; use OCP\App\IAppManager; use OCP\Encryption\Exceptions\GenericEncryptionException; +use OCP\Files; use OCP\Files\EntityTooLargeException; use OCP\Files\FileInfo; use OCP\Files\ForbiddenException; @@ -229,7 +230,7 @@ class File extends Node implements IFile { // because we have no clue about the cause we can only throw back a 500/Internal Server Error throw new Exception($this->l10n->t('Could not write file contents')); } - [$count, $result] = \OC_Helper::streamCopy($data, $target); + [$count, $result] = Files::streamCopy($data, $target, true); fclose($target); } diff --git a/apps/federatedfilesharing/l10n/de_DE.js b/apps/federatedfilesharing/l10n/de_DE.js index 40ad6b5be23..d1e9d2c2e71 100644 --- a/apps/federatedfilesharing/l10n/de_DE.js +++ b/apps/federatedfilesharing/l10n/de_DE.js @@ -53,7 +53,7 @@ OC.L10N.register( "Federated Cloud" : "Federated Cloud", "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Sie können mit jedem teilen, der einen Nextcloud-Server oder andere Open Cloud Mesh (OCM) kompatible Server und Dienste verwendet! Geben Sie einfach deren Federated-Cloud-ID in den Teilen-Dialog ein. Diese sieht wie folgt aus: person@cloud.example.com", "Your Federated Cloud ID" : "Ihre Federated-Cloud-ID", - "Share it so your friends can share files with you:" : "Teilen Sie es, so dass Ihre Freunde Dateien mit Ihnen teilen können:", + "Share it so your friends can share files with you:" : "Teilen Sie es, damit Ihre Freunde Dateien mit Ihnen teilen können:", "Facebook" : "Facebook", "X (formerly Twitter)" : "X (früher Twitter)", "formerly Twitter" : "früher Twitter", diff --git a/apps/federatedfilesharing/l10n/de_DE.json b/apps/federatedfilesharing/l10n/de_DE.json index c6cdd274032..962f6fb0857 100644 --- a/apps/federatedfilesharing/l10n/de_DE.json +++ b/apps/federatedfilesharing/l10n/de_DE.json @@ -51,7 +51,7 @@ "Federated Cloud" : "Federated Cloud", "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Sie können mit jedem teilen, der einen Nextcloud-Server oder andere Open Cloud Mesh (OCM) kompatible Server und Dienste verwendet! Geben Sie einfach deren Federated-Cloud-ID in den Teilen-Dialog ein. Diese sieht wie folgt aus: person@cloud.example.com", "Your Federated Cloud ID" : "Ihre Federated-Cloud-ID", - "Share it so your friends can share files with you:" : "Teilen Sie es, so dass Ihre Freunde Dateien mit Ihnen teilen können:", + "Share it so your friends can share files with you:" : "Teilen Sie es, damit Ihre Freunde Dateien mit Ihnen teilen können:", "Facebook" : "Facebook", "X (formerly Twitter)" : "X (früher Twitter)", "formerly Twitter" : "früher Twitter", diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js index f4b11b60bfe..3237a8b49d0 100644 --- a/apps/files/l10n/de.js +++ b/apps/files/l10n/de.js @@ -99,6 +99,10 @@ OC.L10N.register( "Rename file" : "Datei umbenennen", "Folder" : "Ordner", "Unknown file type" : "Unbekannter Dateityp", + "{ext} image" : "{ext}-Bild", + "{ext} video" : "{ext}-Video", + "{ext} audio" : "{ext}-Audio", + "{ext} text" : "{ext}-Text", "Pending" : "Ausstehend", "Unknown date" : "Unbekanntes Datum", "Clear filter" : "Filter zurücksetzen", diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json index f34d8585898..f5ebd06c5a8 100644 --- a/apps/files/l10n/de.json +++ b/apps/files/l10n/de.json @@ -97,6 +97,10 @@ "Rename file" : "Datei umbenennen", "Folder" : "Ordner", "Unknown file type" : "Unbekannter Dateityp", + "{ext} image" : "{ext}-Bild", + "{ext} video" : "{ext}-Video", + "{ext} audio" : "{ext}-Audio", + "{ext} text" : "{ext}-Text", "Pending" : "Ausstehend", "Unknown date" : "Unbekanntes Datum", "Clear filter" : "Filter zurücksetzen", diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js index cbb4d16f40a..bcf374148b5 100644 --- a/apps/files/l10n/de_DE.js +++ b/apps/files/l10n/de_DE.js @@ -99,6 +99,10 @@ OC.L10N.register( "Rename file" : "Datei umbenennen", "Folder" : "Ordner", "Unknown file type" : "Unbekannter Dateityp", + "{ext} image" : "{ext}-Bild", + "{ext} video" : "{ext}-Video", + "{ext} audio" : "{ext}-Audio", + "{ext} text" : "{ext}-Text", "Pending" : "Ausstehend", "Unknown date" : "Unbekanntes Datum", "Clear filter" : "Filter zurücksetzen", diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json index 8e1f611f317..fd0d1714920 100644 --- a/apps/files/l10n/de_DE.json +++ b/apps/files/l10n/de_DE.json @@ -97,6 +97,10 @@ "Rename file" : "Datei umbenennen", "Folder" : "Ordner", "Unknown file type" : "Unbekannter Dateityp", + "{ext} image" : "{ext}-Bild", + "{ext} video" : "{ext}-Video", + "{ext} audio" : "{ext}-Audio", + "{ext} text" : "{ext}-Text", "Pending" : "Ausstehend", "Unknown date" : "Unbekanntes Datum", "Clear filter" : "Filter zurücksetzen", diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js index 17330fbf036..86f79a96ea9 100644 --- a/apps/files/l10n/et_EE.js +++ b/apps/files/l10n/et_EE.js @@ -99,6 +99,10 @@ OC.L10N.register( "Rename file" : "Muuda failinime", "Folder" : "Kaust", "Unknown file type" : "Tundmatu failitüüp", + "{ext} image" : "{ext} pilt", + "{ext} video" : "{ext} video", + "{ext} audio" : "{ext} helifail", + "{ext} text" : "{ext} tekst", "Pending" : "Ootel", "Unknown date" : "Tundmatu kuupäev", "Clear filter" : "Tühjenda filter", diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json index cb2182202e8..7c1baa0915c 100644 --- a/apps/files/l10n/et_EE.json +++ b/apps/files/l10n/et_EE.json @@ -97,6 +97,10 @@ "Rename file" : "Muuda failinime", "Folder" : "Kaust", "Unknown file type" : "Tundmatu failitüüp", + "{ext} image" : "{ext} pilt", + "{ext} video" : "{ext} video", + "{ext} audio" : "{ext} helifail", + "{ext} text" : "{ext} tekst", "Pending" : "Ootel", "Unknown date" : "Tundmatu kuupäev", "Clear filter" : "Tühjenda filter", diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js index 3d61616343b..6c16223edef 100644 --- a/apps/files/l10n/ja.js +++ b/apps/files/l10n/ja.js @@ -71,6 +71,8 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "%1$sから%2$sに転送", "Files compatibility" : "ファイルの互換性", "Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "ファイルをすべてのクライアントと同期できるようにするために、ファイル名を制限することを許可します。デフォルトではPOSIX(LinuxやmacOSなど)で有効なすべてのファイル名が許可されています。", + "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows 互換のファイル名を有効にすると、既存のファイルは変更できなくなりますが、所有者が有効な新しいファイル名に変更できるようになります。", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "この設定を有効にした後、自動的にファイルを移行することも可能です。occコマンドに関するドキュメントを参照してください。", "Enforce Windows compatibility" : "Windowsとの互換性を強制", "This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "予約名や特殊文字のような、Windowsシステムにおいて有効でないファイル名をブロックします。これは大文字、小文字の互換性を強制するものではありません。", "File Management" : "ファイル管理", @@ -96,6 +98,11 @@ OC.L10N.register( "Renamed \"{oldName}\" to \"{newName}\"" : "\"{oldName}\" から \"{newName}\" に名前を変更済み", "Rename file" : "ファイル名の変更", "Folder" : "フォルダー", + "Unknown file type" : "不明なファイルタイプ", + "{ext} image" : "{ext}画像", + "{ext} video" : "{ext}ビデオ", + "{ext} audio" : "{ext}音声", + "{ext} text" : "{ext}テキスト", "Pending" : "保留中", "Unknown date" : "不明な日付", "Clear filter" : "フィルターをクリア", @@ -106,6 +113,7 @@ OC.L10N.register( "Total rows summary" : "総行数のサマリー", "Toggle selection for all files and folders" : "すべてのファイルとフォルダの選択を切り替える", "Name" : "名前", + "File type" : "ファイルの種類", "Size" : "サイズ", "\"{displayName}\" failed on some elements" : "いくつかの要素で \"{displayName}\" が失敗しました。", "\"{displayName}\" batch action executed successfully" : "\"{displayName}\" バッチアクションが正常に実行されました。", @@ -184,6 +192,7 @@ OC.L10N.register( "Sort favorites first" : "お気に入りを最初に並べる", "Sort folders before files" : "ファイルよりもフォルダを先に並べ替えます", "Show hidden files" : "隠しファイルを表示", + "Show file type column" : "ファイルの種類のカラムを表示する", "Crop image previews" : "プレビュー画像を切り抜く", "Enable the grid view" : "グリッド表示を有効にする", "Enable folder tree" : "フォルダーツリーを有効にする", diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json index e778a19f0bb..6e24c0a0326 100644 --- a/apps/files/l10n/ja.json +++ b/apps/files/l10n/ja.json @@ -69,6 +69,8 @@ "Transferred from %1$s on %2$s" : "%1$sから%2$sに転送", "Files compatibility" : "ファイルの互換性", "Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "ファイルをすべてのクライアントと同期できるようにするために、ファイル名を制限することを許可します。デフォルトではPOSIX(LinuxやmacOSなど)で有効なすべてのファイル名が許可されています。", + "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows 互換のファイル名を有効にすると、既存のファイルは変更できなくなりますが、所有者が有効な新しいファイル名に変更できるようになります。", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "この設定を有効にした後、自動的にファイルを移行することも可能です。occコマンドに関するドキュメントを参照してください。", "Enforce Windows compatibility" : "Windowsとの互換性を強制", "This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "予約名や特殊文字のような、Windowsシステムにおいて有効でないファイル名をブロックします。これは大文字、小文字の互換性を強制するものではありません。", "File Management" : "ファイル管理", @@ -94,6 +96,11 @@ "Renamed \"{oldName}\" to \"{newName}\"" : "\"{oldName}\" から \"{newName}\" に名前を変更済み", "Rename file" : "ファイル名の変更", "Folder" : "フォルダー", + "Unknown file type" : "不明なファイルタイプ", + "{ext} image" : "{ext}画像", + "{ext} video" : "{ext}ビデオ", + "{ext} audio" : "{ext}音声", + "{ext} text" : "{ext}テキスト", "Pending" : "保留中", "Unknown date" : "不明な日付", "Clear filter" : "フィルターをクリア", @@ -104,6 +111,7 @@ "Total rows summary" : "総行数のサマリー", "Toggle selection for all files and folders" : "すべてのファイルとフォルダの選択を切り替える", "Name" : "名前", + "File type" : "ファイルの種類", "Size" : "サイズ", "\"{displayName}\" failed on some elements" : "いくつかの要素で \"{displayName}\" が失敗しました。", "\"{displayName}\" batch action executed successfully" : "\"{displayName}\" バッチアクションが正常に実行されました。", @@ -182,6 +190,7 @@ "Sort favorites first" : "お気に入りを最初に並べる", "Sort folders before files" : "ファイルよりもフォルダを先に並べ替えます", "Show hidden files" : "隠しファイルを表示", + "Show file type column" : "ファイルの種類のカラムを表示する", "Crop image previews" : "プレビュー画像を切り抜く", "Enable the grid view" : "グリッド表示を有効にする", "Enable folder tree" : "フォルダーツリーを有効にする", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index 65358d419aa..8e77d1b2bb5 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -99,6 +99,10 @@ OC.L10N.register( "Rename file" : "Renomear arquivo", "Folder" : "Pasta", "Unknown file type" : "Tipo de arquivo desconhecido", + "{ext} image" : "imagem {ext}", + "{ext} video" : "vídeo {ext}", + "{ext} audio" : "áudio {ext}", + "{ext} text" : "texto {ext}", "Pending" : "Pendente", "Unknown date" : "Data desconhecida", "Clear filter" : "Limpar filtro", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 7b39fa76f77..09de897bc56 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -97,6 +97,10 @@ "Rename file" : "Renomear arquivo", "Folder" : "Pasta", "Unknown file type" : "Tipo de arquivo desconhecido", + "{ext} image" : "imagem {ext}", + "{ext} video" : "vídeo {ext}", + "{ext} audio" : "áudio {ext}", + "{ext} text" : "texto {ext}", "Pending" : "Pendente", "Unknown date" : "Data desconhecida", "Clear filter" : "Limpar filtro", diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js index 2847bc373c7..ad6b2e96bf4 100644 --- a/apps/files/l10n/sv.js +++ b/apps/files/l10n/sv.js @@ -98,6 +98,11 @@ OC.L10N.register( "Renamed \"{oldName}\" to \"{newName}\"" : "Bytte namn på \"{oldName}\" till \"{newName}\"", "Rename file" : "Byt namn på fil", "Folder" : "Mapp", + "Unknown file type" : "Okänd filtyp", + "{ext} image" : "{ext} bild", + "{ext} video" : "{ext} video", + "{ext} audio" : "{ext} ljud", + "{ext} text" : "{ext} text", "Pending" : "Väntar", "Unknown date" : "Okänt datum", "Clear filter" : "Rensa filter", @@ -108,6 +113,7 @@ OC.L10N.register( "Total rows summary" : "Sammanfattning antal rader", "Toggle selection for all files and folders" : "Växla markering för alla filer och mappar", "Name" : "Namn", + "File type" : "Filtyp", "Size" : "Storlek", "\"{displayName}\" failed on some elements" : "\"{displayName}\" misslyckades med vissa element", "\"{displayName}\" batch action executed successfully" : "Batchåtgärden \"{displayName}\" har utförts", @@ -186,6 +192,7 @@ OC.L10N.register( "Sort favorites first" : "Sortera favoriter först", "Sort folders before files" : "Sortera mappar före filer", "Show hidden files" : "Visa dolda filer", + "Show file type column" : "Visa kolumn för filtyp", "Crop image previews" : "Beskär förhandsgranskningar för bilder", "Enable the grid view" : "Aktivera rutnätsvy", "Enable folder tree" : "Aktivera mappträd", diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json index affd94daa75..514dd77aab7 100644 --- a/apps/files/l10n/sv.json +++ b/apps/files/l10n/sv.json @@ -96,6 +96,11 @@ "Renamed \"{oldName}\" to \"{newName}\"" : "Bytte namn på \"{oldName}\" till \"{newName}\"", "Rename file" : "Byt namn på fil", "Folder" : "Mapp", + "Unknown file type" : "Okänd filtyp", + "{ext} image" : "{ext} bild", + "{ext} video" : "{ext} video", + "{ext} audio" : "{ext} ljud", + "{ext} text" : "{ext} text", "Pending" : "Väntar", "Unknown date" : "Okänt datum", "Clear filter" : "Rensa filter", @@ -106,6 +111,7 @@ "Total rows summary" : "Sammanfattning antal rader", "Toggle selection for all files and folders" : "Växla markering för alla filer och mappar", "Name" : "Namn", + "File type" : "Filtyp", "Size" : "Storlek", "\"{displayName}\" failed on some elements" : "\"{displayName}\" misslyckades med vissa element", "\"{displayName}\" batch action executed successfully" : "Batchåtgärden \"{displayName}\" har utförts", @@ -184,6 +190,7 @@ "Sort favorites first" : "Sortera favoriter först", "Sort folders before files" : "Sortera mappar före filer", "Show hidden files" : "Visa dolda filer", + "Show file type column" : "Visa kolumn för filtyp", "Crop image previews" : "Beskär förhandsgranskningar för bilder", "Enable the grid view" : "Aktivera rutnätsvy", "Enable folder tree" : "Aktivera mappträd", diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js index 24c6af3046f..b0cc1433457 100644 --- a/apps/files/l10n/zh_CN.js +++ b/apps/files/l10n/zh_CN.js @@ -98,6 +98,11 @@ OC.L10N.register( "Renamed \"{oldName}\" to \"{newName}\"" : "已将“{oldName}”重命名为“{newName}”", "Rename file" : "重命名文件", "Folder" : "文件夹", + "Unknown file type" : "未知文件类型", + "{ext} image" : "{ext} 图片", + "{ext} video" : "{ext} 视频", + "{ext} audio" : "{ext} 音频", + "{ext} text" : "{ext} 文本", "Pending" : "等待", "Unknown date" : "未知日期", "Clear filter" : "清除筛选", @@ -108,6 +113,7 @@ OC.L10N.register( "Total rows summary" : "总行摘要", "Toggle selection for all files and folders" : "切换所有文件和文件夹的选择", "Name" : "名称", + "File type" : "文件类型", "Size" : "大小", "\"{displayName}\" failed on some elements" : "“{displayName}”在某些元素上失败", "\"{displayName}\" batch action executed successfully" : "批量操作“{displayName}”运行成功", @@ -186,6 +192,7 @@ OC.L10N.register( "Sort favorites first" : "收藏排序优先", "Sort folders before files" : "将文件夹排在文件前面", "Show hidden files" : "显示隐藏文件", + "Show file type column" : "显示文件类型列", "Crop image previews" : "裁剪图片预览", "Enable the grid view" : "启用网格视图", "Enable folder tree" : "启用文件夹树", diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json index 6fb7facb3b6..e15d9f5b180 100644 --- a/apps/files/l10n/zh_CN.json +++ b/apps/files/l10n/zh_CN.json @@ -96,6 +96,11 @@ "Renamed \"{oldName}\" to \"{newName}\"" : "已将“{oldName}”重命名为“{newName}”", "Rename file" : "重命名文件", "Folder" : "文件夹", + "Unknown file type" : "未知文件类型", + "{ext} image" : "{ext} 图片", + "{ext} video" : "{ext} 视频", + "{ext} audio" : "{ext} 音频", + "{ext} text" : "{ext} 文本", "Pending" : "等待", "Unknown date" : "未知日期", "Clear filter" : "清除筛选", @@ -106,6 +111,7 @@ "Total rows summary" : "总行摘要", "Toggle selection for all files and folders" : "切换所有文件和文件夹的选择", "Name" : "名称", + "File type" : "文件类型", "Size" : "大小", "\"{displayName}\" failed on some elements" : "“{displayName}”在某些元素上失败", "\"{displayName}\" batch action executed successfully" : "批量操作“{displayName}”运行成功", @@ -184,6 +190,7 @@ "Sort favorites first" : "收藏排序优先", "Sort folders before files" : "将文件夹排在文件前面", "Show hidden files" : "显示隐藏文件", + "Show file type column" : "显示文件类型列", "Crop image previews" : "裁剪图片预览", "Enable the grid view" : "启用网格视图", "Enable folder tree" : "启用文件夹树", diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js index 51c97322725..4ff34d480e5 100644 --- a/apps/files/l10n/zh_TW.js +++ b/apps/files/l10n/zh_TW.js @@ -99,6 +99,10 @@ OC.L10N.register( "Rename file" : "重新命名檔案", "Folder" : "資料夾", "Unknown file type" : "未知檔案類型", + "{ext} image" : "{ext} 影像", + "{ext} video" : "{ext} 視訊", + "{ext} audio" : "{ext} 音訊", + "{ext} text" : "{ext} 文字", "Pending" : "待處理", "Unknown date" : "未知日期", "Clear filter" : "清除過濾條件", diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json index ead55fc3891..0def7339d4d 100644 --- a/apps/files/l10n/zh_TW.json +++ b/apps/files/l10n/zh_TW.json @@ -97,6 +97,10 @@ "Rename file" : "重新命名檔案", "Folder" : "資料夾", "Unknown file type" : "未知檔案類型", + "{ext} image" : "{ext} 影像", + "{ext} video" : "{ext} 視訊", + "{ext} audio" : "{ext} 音訊", + "{ext} text" : "{ext} 文字", "Pending" : "待處理", "Unknown date" : "未知日期", "Clear filter" : "清除過濾條件", diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js index f6aa0685ab2..e686a33970e 100644 --- a/apps/files_sharing/l10n/de.js +++ b/apps/files_sharing/l10n/de.js @@ -182,7 +182,7 @@ OC.L10N.register( "Choose a default folder for accepted shares" : "Einen Standardordner für akzeptierte Freigaben wählen", "Invalid path selected" : "Ungültigen Pfad ausgewählt", "Unknown error" : "Unbekannter Fehler", - "Set default folder for accepted shares" : "Standardordner für akzeptierte Freigaben wählen", + "Set default folder for accepted shares" : "Standardordner für angenommene Freigaben", "Reset" : "Zurücksetzen", "Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen", "Share expiration: " : "Freigabe-Ablaufdatum:", diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json index 52b17773dbd..a797c90fe56 100644 --- a/apps/files_sharing/l10n/de.json +++ b/apps/files_sharing/l10n/de.json @@ -180,7 +180,7 @@ "Choose a default folder for accepted shares" : "Einen Standardordner für akzeptierte Freigaben wählen", "Invalid path selected" : "Ungültigen Pfad ausgewählt", "Unknown error" : "Unbekannter Fehler", - "Set default folder for accepted shares" : "Standardordner für akzeptierte Freigaben wählen", + "Set default folder for accepted shares" : "Standardordner für angenommene Freigaben", "Reset" : "Zurücksetzen", "Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen", "Share expiration: " : "Freigabe-Ablaufdatum:", diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js index 1269c6a0cfb..608e60101c9 100644 --- a/apps/files_sharing/l10n/de_DE.js +++ b/apps/files_sharing/l10n/de_DE.js @@ -182,7 +182,7 @@ OC.L10N.register( "Choose a default folder for accepted shares" : "Wählen Sie einen Standardordner für akzeptierte Freigaben", "Invalid path selected" : "Ungültiger Pfad ausgewählt", "Unknown error" : "Unbekannter Fehler", - "Set default folder for accepted shares" : "Standardordner für akzeptierte Freigaben wählen", + "Set default folder for accepted shares" : "Standardordner für angenommene Freigaben", "Reset" : "Zurücksetzen", "Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen", "Share expiration: " : "Freigabe-Ablaufdatum:", diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json index 0a61a725d3e..97c1ac18a7c 100644 --- a/apps/files_sharing/l10n/de_DE.json +++ b/apps/files_sharing/l10n/de_DE.json @@ -180,7 +180,7 @@ "Choose a default folder for accepted shares" : "Wählen Sie einen Standardordner für akzeptierte Freigaben", "Invalid path selected" : "Ungültiger Pfad ausgewählt", "Unknown error" : "Unbekannter Fehler", - "Set default folder for accepted shares" : "Standardordner für akzeptierte Freigaben wählen", + "Set default folder for accepted shares" : "Standardordner für angenommene Freigaben", "Reset" : "Zurücksetzen", "Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen", "Share expiration: " : "Freigabe-Ablaufdatum:", diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js index 062614d2fe3..dfbb41c95cc 100644 --- a/apps/files_sharing/l10n/ja.js +++ b/apps/files_sharing/l10n/ja.js @@ -313,7 +313,9 @@ OC.L10N.register( "Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access." : "組織内の個人またはチームとファイルを共有するには、この方法を使用します。受信者がすでに共有にアクセスできるが、その場所を見つけられない場合は、簡単にアクセスできるように内部共有リンクを送信できます。", "Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID." : "組織外の個人や組織とファイルを共有するには、この方法を使用します。ファイルやフォルダは、パブリック共有リンクやメールアドレスで共有できます。また、連携クラウドIDを使用して、異なるインスタンスにホストされている他のNextcloudアカウントと共有することもできます。", "Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "内部または外部共有に含まれない共有。これはアプリや他のソースからの共有になります。", + "Share with accounts, teams, federated cloud IDs" : "アカウント、チーム、連携クラウドIDとの共有", "Share with accounts and teams" : "アカウントとチームで共有", + "Email, federated cloud ID" : "電子メール、連携クラウドID", "Unable to load the shares list" : "共有リストを読み込めません", "Expires {relativetime}" : "有効期限 {relativetime}", "this share just expired." : "この共有は期限切れになりました。", @@ -422,6 +424,7 @@ OC.L10N.register( "You are not allowed to edit link shares that you don't own" : "あなたが所有していない共有リンクを編集することは許可されていません", "_1 email address already added_::_{count} email addresses already added_" : ["{count} メールアドレスはすでに追加されています"], "_1 email address added_::_{count} email addresses added_" : ["{count} メールアドレスが追加されました"], + "Share with accounts, teams, federated cloud id" : "アカウント、チーム、連携クラウドIDで共有", "Email, federated cloud id" : "電子メール、連携クラウドID" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json index c2657abce02..67b977bbe3b 100644 --- a/apps/files_sharing/l10n/ja.json +++ b/apps/files_sharing/l10n/ja.json @@ -311,7 +311,9 @@ "Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access." : "組織内の個人またはチームとファイルを共有するには、この方法を使用します。受信者がすでに共有にアクセスできるが、その場所を見つけられない場合は、簡単にアクセスできるように内部共有リンクを送信できます。", "Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID." : "組織外の個人や組織とファイルを共有するには、この方法を使用します。ファイルやフォルダは、パブリック共有リンクやメールアドレスで共有できます。また、連携クラウドIDを使用して、異なるインスタンスにホストされている他のNextcloudアカウントと共有することもできます。", "Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "内部または外部共有に含まれない共有。これはアプリや他のソースからの共有になります。", + "Share with accounts, teams, federated cloud IDs" : "アカウント、チーム、連携クラウドIDとの共有", "Share with accounts and teams" : "アカウントとチームで共有", + "Email, federated cloud ID" : "電子メール、連携クラウドID", "Unable to load the shares list" : "共有リストを読み込めません", "Expires {relativetime}" : "有効期限 {relativetime}", "this share just expired." : "この共有は期限切れになりました。", @@ -420,6 +422,7 @@ "You are not allowed to edit link shares that you don't own" : "あなたが所有していない共有リンクを編集することは許可されていません", "_1 email address already added_::_{count} email addresses already added_" : ["{count} メールアドレスはすでに追加されています"], "_1 email address added_::_{count} email addresses added_" : ["{count} メールアドレスが追加されました"], + "Share with accounts, teams, federated cloud id" : "アカウント、チーム、連携クラウドIDで共有", "Email, federated cloud id" : "電子メール、連携クラウドID" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_versions/lib/Storage.php b/apps/files_versions/lib/Storage.php index 19e7dd598ae..4b58d721583 100644 --- a/apps/files_versions/lib/Storage.php +++ b/apps/files_versions/lib/Storage.php @@ -23,6 +23,7 @@ use OCA\Files_Versions\Versions\IVersionManager; use OCP\AppFramework\Db\DoesNotExistException; use OCP\Command\IBus; use OCP\EventDispatcher\IEventDispatcher; +use OCP\Files; use OCP\Files\FileInfo; use OCP\Files\Folder; use OCP\Files\IMimeTypeDetector; @@ -32,6 +33,7 @@ use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; use OCP\Files\Search\ISearchBinaryOperator; use OCP\Files\Search\ISearchComparison; +use OCP\Files\Storage\IWriteStreamStorage; use OCP\Files\StorageInvalidException; use OCP\Files\StorageNotAvailableException; use OCP\IURLGenerator; @@ -416,12 +418,25 @@ class Storage { try { // TODO add a proper way of overwriting a file while maintaining file ids - if ($storage1->instanceOfStorage('\OC\Files\ObjectStore\ObjectStoreStorage') || $storage2->instanceOfStorage('\OC\Files\ObjectStore\ObjectStoreStorage')) { + if ($storage1->instanceOfStorage(\OC\Files\ObjectStore\ObjectStoreStorage::class) + || $storage2->instanceOfStorage(\OC\Files\ObjectStore\ObjectStoreStorage::class) + ) { $source = $storage1->fopen($internalPath1, 'r'); - $target = $storage2->fopen($internalPath2, 'w'); - [, $result] = \OC_Helper::streamCopy($source, $target); - fclose($source); - fclose($target); + $result = $source !== false; + if ($result) { + if ($storage2->instanceOfStorage(IWriteStreamStorage::class)) { + /** @var IWriteStreamStorage $storage2 */ + $storage2->writeStream($internalPath2, $source); + } else { + $target = $storage2->fopen($internalPath2, 'w'); + $result = $target !== false; + if ($target !== false) { + [, $result] = Files::streamCopy($source, $target, true); + fclose($target); + } + } + fclose($source); + } if ($result !== false) { $storage1->unlink($internalPath1); diff --git a/apps/settings/l10n/de.js b/apps/settings/l10n/de.js index 66150d7a47b..1b90e97094c 100644 --- a/apps/settings/l10n/de.js +++ b/apps/settings/l10n/de.js @@ -122,7 +122,7 @@ OC.L10N.register( "Mobile & desktop" : "Mobil & Desktop", "Email server" : "E-Mail-Server", "Mail Providers" : "E-Mail-Anbieter", - "Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "Der E-Mail-Provider ermöglicht das Senden von E-Mails direkt über das persönliche E-Mail-Konto des Benutzers. Derzeit ist diese Funktion auf Kalendereinladungen beschränkt. Es erfordert Nextcloud Mail 4.1 und ein E-Mail-Konto in Nextcloud Mail, das mit der E-Mail-Adresse des Benutzers in Nextcloud übereinstimmt.", + "Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "Der E-Mail-Anbieter ermöglicht das Senden von E-Mails direkt über das persönliche E-Mail-Konto des Benutzers. Derzeit ist diese Funktion auf Kalendereinladungen beschränkt. Es erfordert Nextcloud Mail 4.1 und ein E-Mail-Konto in Nextcloud Mail, das mit der E-Mail-Adresse des Benutzers in Nextcloud übereinstimmt.", "Send emails using" : "E-Mails senden mittels", "User's email account" : "E-Mail-Konto des Benutzers", "System email account" : "System-E-Mail-Konto", @@ -371,14 +371,14 @@ OC.L10N.register( "Allow users to set custom share link tokens" : "Benutzern erlauben, benutzerdefinierte Freigabelink-Token festzulegen", "Shares with custom tokens will continue to be accessible after this setting has been disabled" : "Freigaben mit benutzerdefinierten Token sind auch noch nach der Deaktivierung dieser Einstellung zugänglich", "Shares with guessable tokens may be accessed easily" : "Auf Freigaben mit erratbaren Token kann u. U. leicht zugegriffen werden", - "Limit sharing based on groups" : "Freigeben basierend auf Gruppen beschränken", + "Limit sharing based on groups" : "Freigaben nach Gruppen einschränken", "Allow sharing for everyone (default)" : "Teilen für alle erlauben (Standard)", - "Exclude some groups from sharing" : "Einige Gruppen vom Teilen ausschließen", - "Limit sharing to some groups" : "Teilen auf einige Gruppen beschränken", - "Groups allowed to share" : "Gruppen, die teilen dürfen", + "Exclude some groups from sharing" : "Bestimmte Gruppen vom Teilen ausschließen", + "Limit sharing to some groups" : "Teilen für bestimmte Gruppen erlauben", + "Groups allowed to share" : "Für die Linkfreigabe zugelassene Gruppen", "Groups excluded from sharing" : "Von der Linkfreigabe ausgeschlossene Gruppen", "Not allowed groups will still be able to receive shares, but not to initiate them." : "Nicht zugelassene Gruppen können zwar weiterhin Freigaben empfangen, aber nicht erstellen.", - "Set default expiration date for internal shares" : "Lege das Standardablaufdatum für interne Freigaben fest", + "Set default expiration date for internal shares" : "Standardablaufdatum für interne Freigaben festlegen", "Enforce expiration date" : "Ablaufdatum erzwingen", "Default expiration time of new shares in days" : "Standardablaufzeit neuer Freigaben in Tagen", "Expire shares after x days" : "Freigaben laufen nach x Tagen ab", @@ -393,7 +393,7 @@ OC.L10N.register( "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Wenn die Autovervollständigung \"gleiche Gruppe\" und \"Rufnummernintegration\" aktiviert ist, reicht eine Übereinstimmung in einem der beiden Bereiche aus, um den Benutzer anzuzeigen.", "Restrict account name autocompletion and system address book access to users within the same groups" : "Die automatische Vervollständigung von Kontonamen und den Zugriff auf das Systemadressbuch auf Benutzer innerhalb derselben Gruppen beschränken", "Restrict account name autocompletion to users based on phone number integration" : "Die automatische Vervollständigung des Kontonamens auf Benutzer beschränken, die auf der Integration von Telefonnummern basieren.", - "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und bei gleicher Gruppenzugehörigkeit)", + "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Die automatische Vervollständigung ermöglichen, wenn der vollständige Name oder die E-Mail-Adresse eingegeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeit)", "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite (Wird nur gezeigt, wenn die Dateiliste nicht angezeigt wird.) ", "Disclaimer text" : "Haftungsausschlusstext", "This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.", @@ -549,7 +549,7 @@ OC.L10N.register( "The cron.php needs to be executed by the system account \"{user}\"." : "Die cron.php muss von dem Systemkonto \"{user}\" ausgeführt werden.", "The PHP POSIX extension is required. See {linkstart}PHP documentation{linkend} for more details." : "Die PHP-POSIX-Erweiterung ist erforderlich. Weitere Einzelheiten hierzu in der {linkstart}PHP-Dokumentation{linkend}.", "Unable to update background job mode" : "Hintergrund-Job-Modus kann nicht aktualisiert werden", - "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden sich in der Dokumentation.", + "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrund-Aufgaben richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden sich in der Dokumentation.", "Last job execution ran {time}. Something seems wrong." : "Der letzte Job lief {time}. Etwas scheint nicht zu stimmen.", "Last job ran {relativeTime}." : "Der letzte Job lief {relativeTime}.", "Background job did not run yet!" : "Hintergrund-Job wurde bislang nicht ausgeführt!", @@ -870,7 +870,7 @@ OC.L10N.register( "Save" : "Speichern", "Test and verify email settings" : "Testen und überprüfen der E-Mail-Einstellungen", "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Performance deiner Instanz ist es wichtig, dass alles richtig konfiguriert ist. Um dir dabei zu helfen, werden einige automatische Prüfungen durchgeführt. Weitere Informationen kannst du der verlinkten Dokumentation entnehmen.", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Leistung deiner Instanz ist es von großer Bedeutung, dass alles richtig konfiguriert ist. Um dich dabei zu unterstützen, werden einige automatische Prüfungen durchgeführt. Weitere Informationen findest du in der verlinkten Dokumentation.", "All checks passed." : "Alle Überprüfungen bestanden.", "There are some errors regarding your setup." : "Es gibt einige Fehler in der Systemkonfiguration.", "There are some warnings regarding your setup." : "Es gibt einige Warnungen in der Systemkonfiguration.", diff --git a/apps/settings/l10n/de.json b/apps/settings/l10n/de.json index c25dbf707bd..19b887b7028 100644 --- a/apps/settings/l10n/de.json +++ b/apps/settings/l10n/de.json @@ -120,7 +120,7 @@ "Mobile & desktop" : "Mobil & Desktop", "Email server" : "E-Mail-Server", "Mail Providers" : "E-Mail-Anbieter", - "Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "Der E-Mail-Provider ermöglicht das Senden von E-Mails direkt über das persönliche E-Mail-Konto des Benutzers. Derzeit ist diese Funktion auf Kalendereinladungen beschränkt. Es erfordert Nextcloud Mail 4.1 und ein E-Mail-Konto in Nextcloud Mail, das mit der E-Mail-Adresse des Benutzers in Nextcloud übereinstimmt.", + "Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "Der E-Mail-Anbieter ermöglicht das Senden von E-Mails direkt über das persönliche E-Mail-Konto des Benutzers. Derzeit ist diese Funktion auf Kalendereinladungen beschränkt. Es erfordert Nextcloud Mail 4.1 und ein E-Mail-Konto in Nextcloud Mail, das mit der E-Mail-Adresse des Benutzers in Nextcloud übereinstimmt.", "Send emails using" : "E-Mails senden mittels", "User's email account" : "E-Mail-Konto des Benutzers", "System email account" : "System-E-Mail-Konto", @@ -369,14 +369,14 @@ "Allow users to set custom share link tokens" : "Benutzern erlauben, benutzerdefinierte Freigabelink-Token festzulegen", "Shares with custom tokens will continue to be accessible after this setting has been disabled" : "Freigaben mit benutzerdefinierten Token sind auch noch nach der Deaktivierung dieser Einstellung zugänglich", "Shares with guessable tokens may be accessed easily" : "Auf Freigaben mit erratbaren Token kann u. U. leicht zugegriffen werden", - "Limit sharing based on groups" : "Freigeben basierend auf Gruppen beschränken", + "Limit sharing based on groups" : "Freigaben nach Gruppen einschränken", "Allow sharing for everyone (default)" : "Teilen für alle erlauben (Standard)", - "Exclude some groups from sharing" : "Einige Gruppen vom Teilen ausschließen", - "Limit sharing to some groups" : "Teilen auf einige Gruppen beschränken", - "Groups allowed to share" : "Gruppen, die teilen dürfen", + "Exclude some groups from sharing" : "Bestimmte Gruppen vom Teilen ausschließen", + "Limit sharing to some groups" : "Teilen für bestimmte Gruppen erlauben", + "Groups allowed to share" : "Für die Linkfreigabe zugelassene Gruppen", "Groups excluded from sharing" : "Von der Linkfreigabe ausgeschlossene Gruppen", "Not allowed groups will still be able to receive shares, but not to initiate them." : "Nicht zugelassene Gruppen können zwar weiterhin Freigaben empfangen, aber nicht erstellen.", - "Set default expiration date for internal shares" : "Lege das Standardablaufdatum für interne Freigaben fest", + "Set default expiration date for internal shares" : "Standardablaufdatum für interne Freigaben festlegen", "Enforce expiration date" : "Ablaufdatum erzwingen", "Default expiration time of new shares in days" : "Standardablaufzeit neuer Freigaben in Tagen", "Expire shares after x days" : "Freigaben laufen nach x Tagen ab", @@ -391,7 +391,7 @@ "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Wenn die Autovervollständigung \"gleiche Gruppe\" und \"Rufnummernintegration\" aktiviert ist, reicht eine Übereinstimmung in einem der beiden Bereiche aus, um den Benutzer anzuzeigen.", "Restrict account name autocompletion and system address book access to users within the same groups" : "Die automatische Vervollständigung von Kontonamen und den Zugriff auf das Systemadressbuch auf Benutzer innerhalb derselben Gruppen beschränken", "Restrict account name autocompletion to users based on phone number integration" : "Die automatische Vervollständigung des Kontonamens auf Benutzer beschränken, die auf der Integration von Telefonnummern basieren.", - "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und bei gleicher Gruppenzugehörigkeit)", + "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Die automatische Vervollständigung ermöglichen, wenn der vollständige Name oder die E-Mail-Adresse eingegeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeit)", "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite (Wird nur gezeigt, wenn die Dateiliste nicht angezeigt wird.) ", "Disclaimer text" : "Haftungsausschlusstext", "This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.", @@ -547,7 +547,7 @@ "The cron.php needs to be executed by the system account \"{user}\"." : "Die cron.php muss von dem Systemkonto \"{user}\" ausgeführt werden.", "The PHP POSIX extension is required. See {linkstart}PHP documentation{linkend} for more details." : "Die PHP-POSIX-Erweiterung ist erforderlich. Weitere Einzelheiten hierzu in der {linkstart}PHP-Dokumentation{linkend}.", "Unable to update background job mode" : "Hintergrund-Job-Modus kann nicht aktualisiert werden", - "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden sich in der Dokumentation.", + "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrund-Aufgaben richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden sich in der Dokumentation.", "Last job execution ran {time}. Something seems wrong." : "Der letzte Job lief {time}. Etwas scheint nicht zu stimmen.", "Last job ran {relativeTime}." : "Der letzte Job lief {relativeTime}.", "Background job did not run yet!" : "Hintergrund-Job wurde bislang nicht ausgeführt!", @@ -868,7 +868,7 @@ "Save" : "Speichern", "Test and verify email settings" : "Testen und überprüfen der E-Mail-Einstellungen", "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Performance deiner Instanz ist es wichtig, dass alles richtig konfiguriert ist. Um dir dabei zu helfen, werden einige automatische Prüfungen durchgeführt. Weitere Informationen kannst du der verlinkten Dokumentation entnehmen.", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Leistung deiner Instanz ist es von großer Bedeutung, dass alles richtig konfiguriert ist. Um dich dabei zu unterstützen, werden einige automatische Prüfungen durchgeführt. Weitere Informationen findest du in der verlinkten Dokumentation.", "All checks passed." : "Alle Überprüfungen bestanden.", "There are some errors regarding your setup." : "Es gibt einige Fehler in der Systemkonfiguration.", "There are some warnings regarding your setup." : "Es gibt einige Warnungen in der Systemkonfiguration.", diff --git a/apps/settings/l10n/de_DE.js b/apps/settings/l10n/de_DE.js index 5388ff52529..002bd98e591 100644 --- a/apps/settings/l10n/de_DE.js +++ b/apps/settings/l10n/de_DE.js @@ -122,7 +122,7 @@ OC.L10N.register( "Mobile & desktop" : "Mobil & Desktop", "Email server" : "E-Mail-Server", "Mail Providers" : "E-Mail-Anbieter", - "Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "Der E-Mail-Provider ermöglicht das Senden von E-Mails direkt über das persönliche E-Mail-Konto des Benutzers. Derzeit ist diese Funktion auf Kalendereinladungen beschränkt. Es erfordert Nextcloud Mail 4.1 und ein E-Mail-Konto in Nextcloud Mail, das mit der E-Mail-Adresse des Benutzers in Nextcloud übereinstimmt.", + "Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "Der E-Mail-Anbieter ermöglicht das Senden von E-Mails direkt über das persönliche E-Mail-Konto des Benutzers. Derzeit ist diese Funktion auf Kalendereinladungen beschränkt. Es erfordert Nextcloud Mail 4.1 und ein E-Mail-Konto in Nextcloud Mail, das mit der E-Mail-Adresse des Benutzers in Nextcloud übereinstimmt.", "Send emails using" : "E-Mails senden mittels", "User's email account" : "E-Mail-Konto des Benutzers", "System email account" : "System-E-Mail-Konto", @@ -371,14 +371,14 @@ OC.L10N.register( "Allow users to set custom share link tokens" : "Benutzern erlauben, benutzerdefinierte Freigabelink-Token festzulegen", "Shares with custom tokens will continue to be accessible after this setting has been disabled" : "Freigaben mit benutzerdefinierten Token sind auch noch nach der Deaktivierung dieser Einstellung zugänglich", "Shares with guessable tokens may be accessed easily" : "Auf Freigaben mit erratbaren Token kann u. U. leicht zugegriffen werden", - "Limit sharing based on groups" : "Freigeben basierend auf Gruppen beschränken", - "Allow sharing for everyone (default)" : "Teilen für jedermann erlauben (Standard)", - "Exclude some groups from sharing" : "Einige Gruppen vom Teilen ausschließen", - "Limit sharing to some groups" : "Teilen auf einige Gruppen beschränken", - "Groups allowed to share" : "Gruppen, die teilen dürfen", + "Limit sharing based on groups" : "Freigaben nach Gruppen einschränken", + "Allow sharing for everyone (default)" : "Teilen für alle erlauben (Standard)", + "Exclude some groups from sharing" : "Bestimmte Gruppen vom Teilen ausschließen", + "Limit sharing to some groups" : "Teilen für bestimmte Gruppen erlauben", + "Groups allowed to share" : "Für die Linkfreigabe zugelassene Gruppen", "Groups excluded from sharing" : "Von der Linkfreigabe ausgeschlossene Gruppen", "Not allowed groups will still be able to receive shares, but not to initiate them." : "Nicht zugelassene Gruppen können zwar weiterhin Freigaben empfangen, aber nicht erstellen.", - "Set default expiration date for internal shares" : "Legen Sie das Standardablaufdatum für interne Freigaben fest", + "Set default expiration date for internal shares" : "Standardablaufdatum für interne Freigaben festlegen", "Enforce expiration date" : "Ablaufdatum erzwingen", "Default expiration time of new shares in days" : "Standardablaufzeit neuer Freigaben in Tagen", "Expire shares after x days" : "Freigaben laufen nach x Tagen ab", @@ -393,7 +393,7 @@ OC.L10N.register( "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Wenn die Autovervollständigung \"gleiche Gruppe\" und \"Rufnummernintegration\" aktiviert ist, reicht eine Übereinstimmung in einem der beiden Bereiche aus, um den Benutzer anzuzeigen.", "Restrict account name autocompletion and system address book access to users within the same groups" : "Die automatische Vervollständigung von Kontonamen und den Zugriff auf das Systemadressbuch auf Benutzer innerhalb derselben Gruppen beschränken", "Restrict account name autocompletion to users based on phone number integration" : "Die automatische Vervollständigung des Kontonamens auf Benutzer beschränken, die auf der Integration von Telefonnummern basieren.", - "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung, wenn der volle Namen oder E-Mail-Adresse eingegeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeit)", + "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Die automatische Vervollständigung ermöglichen, wenn der vollständige Name oder die E-Mail-Adresse eingegeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeit)", "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Haftungsausschluss auf der öffentlichen Upload-Seite anzeigen (Wird nur gezeigt, wenn die Dateiliste nicht angezeigt wird.) ", "Disclaimer text" : "Haftungsausschlusstext", "This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.", @@ -549,7 +549,7 @@ OC.L10N.register( "The cron.php needs to be executed by the system account \"{user}\"." : "Die cron.php muss von dem Systemkonto \"{user}\" ausgeführt werden.", "The PHP POSIX extension is required. See {linkstart}PHP documentation{linkend} for more details." : "Die PHP-POSIX-Erweiterung ist erforderlich. Weitere Einzelheiten finden Sie in der {linkstart}PHP-Dokumentation{linkend}.", "Unable to update background job mode" : "Hintergrund-Aufgaben-Modus kann nicht aktualisiert werden", - "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.", + "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrund-Aufgaben richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.", "Last job execution ran {time}. Something seems wrong." : "Die letzte Aufgaben-Ausführung lief {time}. Etwas scheint falsch zu sein.", "Last job ran {relativeTime}." : "Die letzte Aufgabe lief {relativeTime}.", "Background job did not run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!", @@ -789,7 +789,7 @@ OC.L10N.register( "Location" : "Ort", "Profile picture" : "Profilbild", "About" : "Über", - "Date of birth" : "Geburtsdatum:", + "Date of birth" : "Geburtsdatum", "Full name" : "Vollständiger Name", "Additional email" : "Zusätzliche E-Mail-Adresse", "Fediverse (e.g. Mastodon)" : "Fediverse (wie z. B. Mastodon)", @@ -870,7 +870,7 @@ OC.L10N.register( "Save" : "Speichern", "Test and verify email settings" : "Testen und Überprüfen der E-Mail-Einstellungen", "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Geschwindigkeit Ihrer Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Ihnen hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen finden Sie in der verlinkten Dokumentation.", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Leistung Ihrer Instanz ist es von großer Bedeutung, dass alles richtig konfiguriert ist. Um Sie dabei zu unterstützen, werden einige automatische Prüfungen durchgeführt. Weitere Informationen finden Sie in der verlinkten Dokumentation.", "All checks passed." : "Alle Überprüfungen bestanden.", "There are some errors regarding your setup." : "Es gibt einige Fehler in Ihrer Systemkonfiguration.", "There are some warnings regarding your setup." : "Es gibt einige Warnungen zu Ihrer Systemkonfiguration.", diff --git a/apps/settings/l10n/de_DE.json b/apps/settings/l10n/de_DE.json index 0f35dc26f55..4d040cf5a19 100644 --- a/apps/settings/l10n/de_DE.json +++ b/apps/settings/l10n/de_DE.json @@ -120,7 +120,7 @@ "Mobile & desktop" : "Mobil & Desktop", "Email server" : "E-Mail-Server", "Mail Providers" : "E-Mail-Anbieter", - "Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "Der E-Mail-Provider ermöglicht das Senden von E-Mails direkt über das persönliche E-Mail-Konto des Benutzers. Derzeit ist diese Funktion auf Kalendereinladungen beschränkt. Es erfordert Nextcloud Mail 4.1 und ein E-Mail-Konto in Nextcloud Mail, das mit der E-Mail-Adresse des Benutzers in Nextcloud übereinstimmt.", + "Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "Der E-Mail-Anbieter ermöglicht das Senden von E-Mails direkt über das persönliche E-Mail-Konto des Benutzers. Derzeit ist diese Funktion auf Kalendereinladungen beschränkt. Es erfordert Nextcloud Mail 4.1 und ein E-Mail-Konto in Nextcloud Mail, das mit der E-Mail-Adresse des Benutzers in Nextcloud übereinstimmt.", "Send emails using" : "E-Mails senden mittels", "User's email account" : "E-Mail-Konto des Benutzers", "System email account" : "System-E-Mail-Konto", @@ -369,14 +369,14 @@ "Allow users to set custom share link tokens" : "Benutzern erlauben, benutzerdefinierte Freigabelink-Token festzulegen", "Shares with custom tokens will continue to be accessible after this setting has been disabled" : "Freigaben mit benutzerdefinierten Token sind auch noch nach der Deaktivierung dieser Einstellung zugänglich", "Shares with guessable tokens may be accessed easily" : "Auf Freigaben mit erratbaren Token kann u. U. leicht zugegriffen werden", - "Limit sharing based on groups" : "Freigeben basierend auf Gruppen beschränken", - "Allow sharing for everyone (default)" : "Teilen für jedermann erlauben (Standard)", - "Exclude some groups from sharing" : "Einige Gruppen vom Teilen ausschließen", - "Limit sharing to some groups" : "Teilen auf einige Gruppen beschränken", - "Groups allowed to share" : "Gruppen, die teilen dürfen", + "Limit sharing based on groups" : "Freigaben nach Gruppen einschränken", + "Allow sharing for everyone (default)" : "Teilen für alle erlauben (Standard)", + "Exclude some groups from sharing" : "Bestimmte Gruppen vom Teilen ausschließen", + "Limit sharing to some groups" : "Teilen für bestimmte Gruppen erlauben", + "Groups allowed to share" : "Für die Linkfreigabe zugelassene Gruppen", "Groups excluded from sharing" : "Von der Linkfreigabe ausgeschlossene Gruppen", "Not allowed groups will still be able to receive shares, but not to initiate them." : "Nicht zugelassene Gruppen können zwar weiterhin Freigaben empfangen, aber nicht erstellen.", - "Set default expiration date for internal shares" : "Legen Sie das Standardablaufdatum für interne Freigaben fest", + "Set default expiration date for internal shares" : "Standardablaufdatum für interne Freigaben festlegen", "Enforce expiration date" : "Ablaufdatum erzwingen", "Default expiration time of new shares in days" : "Standardablaufzeit neuer Freigaben in Tagen", "Expire shares after x days" : "Freigaben laufen nach x Tagen ab", @@ -391,7 +391,7 @@ "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Wenn die Autovervollständigung \"gleiche Gruppe\" und \"Rufnummernintegration\" aktiviert ist, reicht eine Übereinstimmung in einem der beiden Bereiche aus, um den Benutzer anzuzeigen.", "Restrict account name autocompletion and system address book access to users within the same groups" : "Die automatische Vervollständigung von Kontonamen und den Zugriff auf das Systemadressbuch auf Benutzer innerhalb derselben Gruppen beschränken", "Restrict account name autocompletion to users based on phone number integration" : "Die automatische Vervollständigung des Kontonamens auf Benutzer beschränken, die auf der Integration von Telefonnummern basieren.", - "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung, wenn der volle Namen oder E-Mail-Adresse eingegeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeit)", + "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Die automatische Vervollständigung ermöglichen, wenn der vollständige Name oder die E-Mail-Adresse eingegeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeit)", "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Haftungsausschluss auf der öffentlichen Upload-Seite anzeigen (Wird nur gezeigt, wenn die Dateiliste nicht angezeigt wird.) ", "Disclaimer text" : "Haftungsausschlusstext", "This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.", @@ -547,7 +547,7 @@ "The cron.php needs to be executed by the system account \"{user}\"." : "Die cron.php muss von dem Systemkonto \"{user}\" ausgeführt werden.", "The PHP POSIX extension is required. See {linkstart}PHP documentation{linkend} for more details." : "Die PHP-POSIX-Erweiterung ist erforderlich. Weitere Einzelheiten finden Sie in der {linkstart}PHP-Dokumentation{linkend}.", "Unable to update background job mode" : "Hintergrund-Aufgaben-Modus kann nicht aktualisiert werden", - "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.", + "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrund-Aufgaben richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.", "Last job execution ran {time}. Something seems wrong." : "Die letzte Aufgaben-Ausführung lief {time}. Etwas scheint falsch zu sein.", "Last job ran {relativeTime}." : "Die letzte Aufgabe lief {relativeTime}.", "Background job did not run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!", @@ -787,7 +787,7 @@ "Location" : "Ort", "Profile picture" : "Profilbild", "About" : "Über", - "Date of birth" : "Geburtsdatum:", + "Date of birth" : "Geburtsdatum", "Full name" : "Vollständiger Name", "Additional email" : "Zusätzliche E-Mail-Adresse", "Fediverse (e.g. Mastodon)" : "Fediverse (wie z. B. Mastodon)", @@ -868,7 +868,7 @@ "Save" : "Speichern", "Test and verify email settings" : "Testen und Überprüfen der E-Mail-Einstellungen", "Security & setup warnings" : "Sicherheits- & Einrichtungswarnungen", - "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Geschwindigkeit Ihrer Installation ist es von großer Bedeutung, dass sie richtig konfiguriert ist. Um Ihnen hierbei zu helfen werden einige automatische Tests durchgeführt. Weitere Informationen finden Sie in der verlinkten Dokumentation.", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Für die Sicherheit und Leistung Ihrer Instanz ist es von großer Bedeutung, dass alles richtig konfiguriert ist. Um Sie dabei zu unterstützen, werden einige automatische Prüfungen durchgeführt. Weitere Informationen finden Sie in der verlinkten Dokumentation.", "All checks passed." : "Alle Überprüfungen bestanden.", "There are some errors regarding your setup." : "Es gibt einige Fehler in Ihrer Systemkonfiguration.", "There are some warnings regarding your setup." : "Es gibt einige Warnungen zu Ihrer Systemkonfiguration.", diff --git a/apps/settings/l10n/fr.js b/apps/settings/l10n/fr.js index 38ccba9634c..56e7508f399 100644 --- a/apps/settings/l10n/fr.js +++ b/apps/settings/l10n/fr.js @@ -223,7 +223,7 @@ OC.L10N.register( "MySQL row format" : "MySQL format row ", "You are not using MySQL" : "Vous n'utilisez pas MySQL", "None of your tables use ROW_FORMAT=Compressed" : "Aucune de vos tables n'utilise ROW_FORMAT=Compressed", - "Incorrect row format found in your database. ROW_FORMAT=Dynamic offers the best database performances for Nextcloud. Please update row format on the following list: %s." : "Format de ligne incorrect trouvé dans votre base de donnéées. ROW_FORMAT=Dynamic offre les meilleures performances de base de données pour Nextcloud. Veuillez modifier le format de ligne dans la liste: %s", + "Incorrect row format found in your database. ROW_FORMAT=Dynamic offers the best database performances for Nextcloud. Please update row format on the following list: %s." : "Format de ligne incorrect trouvé dans votre base de données. ROW_FORMAT=Dynamic offre les meilleures performances de base de données pour Nextcloud. Veuillez modifier le format de ligne dans la liste: %s", "MySQL Unicode support" : "Compatibilité Unicode MySQL", "MySQL is used as database and does support 4-byte characters" : "MySQL est utilisé comme base de données et n'est pas compatible avec les caractères sur 4 octets", "MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL." : "MySQL est utilisé comme base de données et n'est pas compatible avec les caractères sur 4 octets. Pour être capable de gérer les caractères sur 4 octets (comme les émojis) sans problème, par exemple, dans les noms de fichiers ou les commentaires, il est recommandé d'activer la compatibilité 4 octets dans MySQL.", diff --git a/apps/settings/l10n/fr.json b/apps/settings/l10n/fr.json index 5b5d67102f7..2b5a1e5bd65 100644 --- a/apps/settings/l10n/fr.json +++ b/apps/settings/l10n/fr.json @@ -221,7 +221,7 @@ "MySQL row format" : "MySQL format row ", "You are not using MySQL" : "Vous n'utilisez pas MySQL", "None of your tables use ROW_FORMAT=Compressed" : "Aucune de vos tables n'utilise ROW_FORMAT=Compressed", - "Incorrect row format found in your database. ROW_FORMAT=Dynamic offers the best database performances for Nextcloud. Please update row format on the following list: %s." : "Format de ligne incorrect trouvé dans votre base de donnéées. ROW_FORMAT=Dynamic offre les meilleures performances de base de données pour Nextcloud. Veuillez modifier le format de ligne dans la liste: %s", + "Incorrect row format found in your database. ROW_FORMAT=Dynamic offers the best database performances for Nextcloud. Please update row format on the following list: %s." : "Format de ligne incorrect trouvé dans votre base de données. ROW_FORMAT=Dynamic offre les meilleures performances de base de données pour Nextcloud. Veuillez modifier le format de ligne dans la liste: %s", "MySQL Unicode support" : "Compatibilité Unicode MySQL", "MySQL is used as database and does support 4-byte characters" : "MySQL est utilisé comme base de données et n'est pas compatible avec les caractères sur 4 octets", "MySQL is used as database but does not support 4-byte characters. To be able to handle 4-byte characters (like emojis) without issues in filenames or comments for example it is recommended to enable the 4-byte support in MySQL." : "MySQL est utilisé comme base de données et n'est pas compatible avec les caractères sur 4 octets. Pour être capable de gérer les caractères sur 4 octets (comme les émojis) sans problème, par exemple, dans les noms de fichiers ou les commentaires, il est recommandé d'activer la compatibilité 4 octets dans MySQL.", diff --git a/apps/settings/l10n/it.js b/apps/settings/l10n/it.js index 5fd40d06340..95f012f9599 100644 --- a/apps/settings/l10n/it.js +++ b/apps/settings/l10n/it.js @@ -256,6 +256,7 @@ OC.L10N.register( "OPcache is not working as it should, opcache_get_status() returns false, please check configuration." : "OPcache non funziona come dovrebbe, opcache_get_status() restituisce false, controlla la configurazione.", "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply \"opcache.max_accelerated_files\" to your PHP configuration with a value higher than \"%s\"." : "Il numero massimo di chiavi OPcache è stato quasi superato. Per garantire che tutti gli script possano essere mantenuti nella cache, si consiglia di applicare \"opcache.max_accelerated_files\" alla configurazione PHP con un valore superiore a \"%s\".", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply \"opcache.memory_consumption\" to your PHP configuration with a value higher than \"%s\"." : "Il buffer OPcache è quasi pieno. Per garantire che tutti gli script possano essere conservati nella cache, si consiglia di applicare \"opcache.memory_consumption\" alla configurazione PHP con un valore superiore a \"%s\".", + "The PHP OPcache module is not properly configured. %s." : "Il modulo PHP OPcache non è correttamente configurato. %s.", "Correctly configured" : "Configurato correttamente", "PHP version" : "Versione PHP", "You are currently running PHP %s." : "Attualmente stai usando PHP %s.", @@ -304,7 +305,16 @@ OC.L10N.register( "Enforce password protection" : "Imponi la protezione con password", "Exclude groups from password requirements" : "Escludi gruppi dai requisiti della password", "Exclude groups from creating link shares" : "Escludi gruppi dalla creazione dei collegamenti di condivisione", + "Allow users to set custom share link tokens" : "Consenti agli utenti di impostare token di collegamento personalizzati", + "Shares with custom tokens will continue to be accessible after this setting has been disabled" : "Le condivisioni con token personalizzati continueranno a essere accessibili dopo aver disabilitato questa impostazione", + "Shares with guessable tokens may be accessed easily" : "Le condivisioni con token indovinabili sono facilmente accessibili", + "Limit sharing based on groups" : "Limita la condivisione in base ai gruppi", + "Exclude some groups from sharing" : "Escludi alcuni gruppi dalla condivisione", + "Limit sharing to some groups" : "Limita la condivisione ad alcuni gruppi", + "Groups allowed to share" : "Gruppi autorizzati a condividere", "Groups excluded from sharing" : "Gruppi esclusi dalla condivisione", + "Not allowed groups will still be able to receive shares, but not to initiate them." : "I gruppi non autorizzati potranno comunque ricevere condivisioni, ma non avviarle.", + "Set default expiration date for internal shares" : "Imposta la data di scadenza predefinita per le condivisioni interne", "Enforce expiration date" : "Forza la data di scadenza", "Default expiration time of new shares in days" : "Scadenza predefinita delle nuove condivisioni in giorni", "Expire shares after x days" : "Scadenza delle condivisioni dopo x giorni", @@ -315,6 +325,7 @@ OC.L10N.register( "Set default expiration date for shares via link or mail" : "Imposta la data di scadenza predefinita per le condivisioni tramite link o posta", "Default expiration time of shares in days" : "Scadenza predefinita delle condivisioni in giorni", "Privacy settings for sharing" : "Impostazioni sulla privacy per la condivisione", + "Allow account name autocompletion in share dialog and allow access to the system address book" : "Consenti il completamento automatico del nome dell'account nella finestra di dialogo di condivisione e consenti l'accesso alla rubrica di sistema", "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Se completamento di \"stesso gruppo\" e \"integrazione numero di telefono\" sono attivi, una corrispondenza in uno dei due è sufficiente per mostrare l'utente.", "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Consenti il completamento automatico quando inserisci il nome completo o l'indirizzo email (ignorando la corrispondenza della rubrica mancante e l'appartenenza allo stesso gruppo)", "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Mostra il testo della liberatoria sulla pagina di caricamento del collegamento pubblico (visualizzato solo quando l'elenco dei file è nascosto)", @@ -348,6 +359,7 @@ OC.L10N.register( "No apps found for your version" : "Nessuna applicazione trovata per la tua versione", "_%n app has an update available_::_%n apps have an update available_" : ["%n applicazione ha un aggiornamento disponibile","%n applicazioni hanno un aggiornamento disponibile","%n applicazioni hanno un aggiornamento disponibile"], "_Update_::_Update all_" : ["Aggiorna","Aggiorna","Aggiorna tutto"], + "Failed to load groups" : "Impossibile caricare i gruppi", "Failed to create group" : "Creazione gruppo fallita", "Create group" : "Crea gruppo", "Group name" : "Nome del gruppo", @@ -423,6 +435,7 @@ OC.L10N.register( "Password" : "Password", "Show QR code for mobile apps" : "Mostra il codice QR per le applicazioni mobili", "Use system cron service to call the cron.php file every 5 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 5 minuti.", + "The cron.php needs to be executed by the system account \"{user}\"." : "Il cron.php deve essere eseguito dall'account di sistema \"{user}\".", "The PHP POSIX extension is required. See {linkstart}PHP documentation{linkend} for more details." : "È necessaria l'estensione POSIX di PHP. Vedi la {linkstart}documentazione di PHP{linkend} per maggiori dettagli.", "Unable to update background job mode" : "Impossibile aggiornare la modalità delle operazioni in background", "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Per un buon funzionamento del server, è importante configurare le operazioni in background correttamente. \"Cron\" è l'impostazione consigliata. Vedi la documentazione per ulteriori informazioni.", @@ -523,12 +536,14 @@ OC.L10N.register( "Password change is disabled because the master key is disabled" : "La modifica della password è disabilitata poiché la chiave principale è disabilitata", "Loading accounts …" : "Caricamento account in corso...", "Manager" : "Responsabile", + "Failed to search groups" : "Impossibile cercare i gruppi", "New account" : "Nuovo account", "Display name" : "Nome visualizzato", "Either password or email is required" : "La password o l'email è necessaria", "Password (required)" : "Password (richiesta)", "Email (required)" : "Email (richiesta)", "Email" : "Posta elettronica", + "Member of the following groups" : "Membro dei seguenti gruppi", "Quota" : "Quote", "Language" : "Lingua", "Set default language" : "Imposta lingua predefinita", diff --git a/apps/settings/l10n/it.json b/apps/settings/l10n/it.json index 7bc04158924..16d6b817633 100644 --- a/apps/settings/l10n/it.json +++ b/apps/settings/l10n/it.json @@ -254,6 +254,7 @@ "OPcache is not working as it should, opcache_get_status() returns false, please check configuration." : "OPcache non funziona come dovrebbe, opcache_get_status() restituisce false, controlla la configurazione.", "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply \"opcache.max_accelerated_files\" to your PHP configuration with a value higher than \"%s\"." : "Il numero massimo di chiavi OPcache è stato quasi superato. Per garantire che tutti gli script possano essere mantenuti nella cache, si consiglia di applicare \"opcache.max_accelerated_files\" alla configurazione PHP con un valore superiore a \"%s\".", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply \"opcache.memory_consumption\" to your PHP configuration with a value higher than \"%s\"." : "Il buffer OPcache è quasi pieno. Per garantire che tutti gli script possano essere conservati nella cache, si consiglia di applicare \"opcache.memory_consumption\" alla configurazione PHP con un valore superiore a \"%s\".", + "The PHP OPcache module is not properly configured. %s." : "Il modulo PHP OPcache non è correttamente configurato. %s.", "Correctly configured" : "Configurato correttamente", "PHP version" : "Versione PHP", "You are currently running PHP %s." : "Attualmente stai usando PHP %s.", @@ -302,7 +303,16 @@ "Enforce password protection" : "Imponi la protezione con password", "Exclude groups from password requirements" : "Escludi gruppi dai requisiti della password", "Exclude groups from creating link shares" : "Escludi gruppi dalla creazione dei collegamenti di condivisione", + "Allow users to set custom share link tokens" : "Consenti agli utenti di impostare token di collegamento personalizzati", + "Shares with custom tokens will continue to be accessible after this setting has been disabled" : "Le condivisioni con token personalizzati continueranno a essere accessibili dopo aver disabilitato questa impostazione", + "Shares with guessable tokens may be accessed easily" : "Le condivisioni con token indovinabili sono facilmente accessibili", + "Limit sharing based on groups" : "Limita la condivisione in base ai gruppi", + "Exclude some groups from sharing" : "Escludi alcuni gruppi dalla condivisione", + "Limit sharing to some groups" : "Limita la condivisione ad alcuni gruppi", + "Groups allowed to share" : "Gruppi autorizzati a condividere", "Groups excluded from sharing" : "Gruppi esclusi dalla condivisione", + "Not allowed groups will still be able to receive shares, but not to initiate them." : "I gruppi non autorizzati potranno comunque ricevere condivisioni, ma non avviarle.", + "Set default expiration date for internal shares" : "Imposta la data di scadenza predefinita per le condivisioni interne", "Enforce expiration date" : "Forza la data di scadenza", "Default expiration time of new shares in days" : "Scadenza predefinita delle nuove condivisioni in giorni", "Expire shares after x days" : "Scadenza delle condivisioni dopo x giorni", @@ -313,6 +323,7 @@ "Set default expiration date for shares via link or mail" : "Imposta la data di scadenza predefinita per le condivisioni tramite link o posta", "Default expiration time of shares in days" : "Scadenza predefinita delle condivisioni in giorni", "Privacy settings for sharing" : "Impostazioni sulla privacy per la condivisione", + "Allow account name autocompletion in share dialog and allow access to the system address book" : "Consenti il completamento automatico del nome dell'account nella finestra di dialogo di condivisione e consenti l'accesso alla rubrica di sistema", "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Se completamento di \"stesso gruppo\" e \"integrazione numero di telefono\" sono attivi, una corrispondenza in uno dei due è sufficiente per mostrare l'utente.", "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Consenti il completamento automatico quando inserisci il nome completo o l'indirizzo email (ignorando la corrispondenza della rubrica mancante e l'appartenenza allo stesso gruppo)", "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Mostra il testo della liberatoria sulla pagina di caricamento del collegamento pubblico (visualizzato solo quando l'elenco dei file è nascosto)", @@ -346,6 +357,7 @@ "No apps found for your version" : "Nessuna applicazione trovata per la tua versione", "_%n app has an update available_::_%n apps have an update available_" : ["%n applicazione ha un aggiornamento disponibile","%n applicazioni hanno un aggiornamento disponibile","%n applicazioni hanno un aggiornamento disponibile"], "_Update_::_Update all_" : ["Aggiorna","Aggiorna","Aggiorna tutto"], + "Failed to load groups" : "Impossibile caricare i gruppi", "Failed to create group" : "Creazione gruppo fallita", "Create group" : "Crea gruppo", "Group name" : "Nome del gruppo", @@ -421,6 +433,7 @@ "Password" : "Password", "Show QR code for mobile apps" : "Mostra il codice QR per le applicazioni mobili", "Use system cron service to call the cron.php file every 5 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 5 minuti.", + "The cron.php needs to be executed by the system account \"{user}\"." : "Il cron.php deve essere eseguito dall'account di sistema \"{user}\".", "The PHP POSIX extension is required. See {linkstart}PHP documentation{linkend} for more details." : "È necessaria l'estensione POSIX di PHP. Vedi la {linkstart}documentazione di PHP{linkend} per maggiori dettagli.", "Unable to update background job mode" : "Impossibile aggiornare la modalità delle operazioni in background", "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Per un buon funzionamento del server, è importante configurare le operazioni in background correttamente. \"Cron\" è l'impostazione consigliata. Vedi la documentazione per ulteriori informazioni.", @@ -521,12 +534,14 @@ "Password change is disabled because the master key is disabled" : "La modifica della password è disabilitata poiché la chiave principale è disabilitata", "Loading accounts …" : "Caricamento account in corso...", "Manager" : "Responsabile", + "Failed to search groups" : "Impossibile cercare i gruppi", "New account" : "Nuovo account", "Display name" : "Nome visualizzato", "Either password or email is required" : "La password o l'email è necessaria", "Password (required)" : "Password (richiesta)", "Email (required)" : "Email (richiesta)", "Email" : "Posta elettronica", + "Member of the following groups" : "Membro dei seguenti gruppi", "Quota" : "Quote", "Language" : "Lingua", "Set default language" : "Imposta lingua predefinita", diff --git a/apps/sharebymail/l10n/de.js b/apps/sharebymail/l10n/de.js index bbbe6d400f2..e66e9d82c37 100644 --- a/apps/sharebymail/l10n/de.js +++ b/apps/sharebymail/l10n/de.js @@ -13,7 +13,7 @@ OC.L10N.register( "{actor} unshared {file} from {email} by mail" : "{actor} teilt {file} nicht mehr mit {email} via E-Mail", "Password to access {file} was sent to {email}" : "Passwort für den Zugriff auf {file} wurde an {email} versandt ", "Password to access {file} was sent to you" : "Passwort für den Zugriff auf {file} wurde an dich gesendet", - "Share by mail" : "Geteilt über eine E-Mail", + "Share by mail" : "Teilen per E-Mail", "Sharing %1$s failed, because this item is already shared with the account %2$s" : "Freigeben von %1$s ist fehlgeschlagen, da dieses Element schon mit dem Konto %2$s geteilt wurde", "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erzeugtes Passwort kann nicht versandt werden. Bitte gib in deinen persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche es erneut.", "Failed to send share by email. Got an invalid email address" : "Die Freigabe per E-Mail konnte nicht gesendet werden. Habe eine ungültige E-Mail-Adresse erhalten.", diff --git a/apps/sharebymail/l10n/de.json b/apps/sharebymail/l10n/de.json index a98ad30a28d..ca952b6d67c 100644 --- a/apps/sharebymail/l10n/de.json +++ b/apps/sharebymail/l10n/de.json @@ -11,7 +11,7 @@ "{actor} unshared {file} from {email} by mail" : "{actor} teilt {file} nicht mehr mit {email} via E-Mail", "Password to access {file} was sent to {email}" : "Passwort für den Zugriff auf {file} wurde an {email} versandt ", "Password to access {file} was sent to you" : "Passwort für den Zugriff auf {file} wurde an dich gesendet", - "Share by mail" : "Geteilt über eine E-Mail", + "Share by mail" : "Teilen per E-Mail", "Sharing %1$s failed, because this item is already shared with the account %2$s" : "Freigeben von %1$s ist fehlgeschlagen, da dieses Element schon mit dem Konto %2$s geteilt wurde", "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erzeugtes Passwort kann nicht versandt werden. Bitte gib in deinen persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche es erneut.", "Failed to send share by email. Got an invalid email address" : "Die Freigabe per E-Mail konnte nicht gesendet werden. Habe eine ungültige E-Mail-Adresse erhalten.", diff --git a/apps/sharebymail/l10n/de_DE.js b/apps/sharebymail/l10n/de_DE.js index 338d60108cd..16e66447462 100644 --- a/apps/sharebymail/l10n/de_DE.js +++ b/apps/sharebymail/l10n/de_DE.js @@ -13,7 +13,7 @@ OC.L10N.register( "{actor} unshared {file} from {email} by mail" : "{actor} teilt {file} nicht mehr mit {email} via E-Mail", "Password to access {file} was sent to {email}" : "Passwort für den Zugriff auf {file} wurde an {email} versandt ", "Password to access {file} was sent to you" : "Passwort für den Zugriff auf {file} wurde an Sie versandt ", - "Share by mail" : "Geteilt über eine E-Mail", + "Share by mail" : "Teilen per E-Mail", "Sharing %1$s failed, because this item is already shared with the account %2$s" : "Freigeben von %1$s ist fehlgeschlagen, da dieses Element schon mit dem Konto %2$s geteilt wurde", "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erzeugtes Passwort kann nicht versandt werden. Bitte geben Sie in Ihren persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche Sie es erneut.", "Failed to send share by email. Got an invalid email address" : "Die Freigabe per E-Mail konnte nicht gesendet werden. Es wurde eine ungültige E-Mail-Adresse angegeben.", diff --git a/apps/sharebymail/l10n/de_DE.json b/apps/sharebymail/l10n/de_DE.json index 27ee126b8f0..752bc7681c5 100644 --- a/apps/sharebymail/l10n/de_DE.json +++ b/apps/sharebymail/l10n/de_DE.json @@ -11,7 +11,7 @@ "{actor} unshared {file} from {email} by mail" : "{actor} teilt {file} nicht mehr mit {email} via E-Mail", "Password to access {file} was sent to {email}" : "Passwort für den Zugriff auf {file} wurde an {email} versandt ", "Password to access {file} was sent to you" : "Passwort für den Zugriff auf {file} wurde an Sie versandt ", - "Share by mail" : "Geteilt über eine E-Mail", + "Share by mail" : "Teilen per E-Mail", "Sharing %1$s failed, because this item is already shared with the account %2$s" : "Freigeben von %1$s ist fehlgeschlagen, da dieses Element schon mit dem Konto %2$s geteilt wurde", "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erzeugtes Passwort kann nicht versandt werden. Bitte geben Sie in Ihren persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche Sie es erneut.", "Failed to send share by email. Got an invalid email address" : "Die Freigabe per E-Mail konnte nicht gesendet werden. Es wurde eine ungültige E-Mail-Adresse angegeben.", diff --git a/apps/weather_status/l10n/ko.js b/apps/weather_status/l10n/ko.js index 6f28af490e8..9af97446624 100644 --- a/apps/weather_status/l10n/ko.js +++ b/apps/weather_status/l10n/ko.js @@ -7,11 +7,44 @@ OC.L10N.register( "Error" : "오류", "Weather status" : "날씨 현황", "Weather status in your dashboard" : "내 대시보드에 있는 날씨 현황", - "Detect location" : "위치 감지", - "Set custom address" : "주소 설정", - "Favorites" : "즐겨찾기", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "날씨 현황이 대시보드 앱에 통합되었습니다.\n사용자의 현재 위치를 자동 혹은 수동으로 지정할 수 있습니다. 그 후 6시간의 일기예보가 표시됩니다.\n날씨 현황은 달력 앱과 같이 다른 곳에서도 통합될 수 있습니다.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 오늘 오후 늦게 맑음", + "{temperature} {unit} clear sky" : "{temperature} {unit} 맑음", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 오늘 오후 늦게 흐림 ", + "{temperature} {unit} cloudy" : "{temperature} {unit} 흐림 ", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개를 동반한 눈", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 천둥·번개를 동반한 눈", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개를 동반한 소나기눈", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} 천둥·번개를 동반한 소나기눈", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개와 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} 천둥·번개와 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 오늘 오후 늦게 소나기눈", + "{temperature} {unit} snow showers" : "{temperature} {unit} 소나기눈", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 오늘 오후 늦게 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} 극야를 동반한 소나기눈", + "{temperature} {unit} snow later today" : "{temperature} {unit} 오늘 오후 늦게 눈", + "{temperature} {unit} snow" : "{temperature} {unit} 눈", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 오늘 오후 늦게 맑음", + "{temperature} {unit} fair weather" : "{temperature} {unit} 맑음", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 오늘 오후 늦게 구름 조금", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 구름 조금", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 오늘 오후 늦게 안개", + "{temperature} {unit} foggy" : "{temperature} {unit} 안개", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 약한 비", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 약한 비", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 비", + "{temperature} {unit} rainfall" : "{temperature} {unit} 비", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 거센 비", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 거센 비", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 소나기", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} 소나기", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 약한 소나기", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 약한 소나기", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 거센 소나기", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 거센 소나기", "More weather for {adr}" : "{adr} 날씨 더 보기", "Loading weather" : "날씨 불러오는 중", + "Set location for weather" : "날씨 위치 설정", "Remove from favorites" : "즐겨찾기에서 제거", "Add as favorite" : "즐겨찾기로 추가", "You are not logged in." : "당신은 로그인하지 않았습니다.", @@ -22,7 +55,9 @@ OC.L10N.register( "There was an error setting the location." : "주소를 설정하는 동안 오류가 발생했습니다.", "There was an error saving the mode." : "모드 저장에 오류가 있습니다.", "There was an error using personal address." : "개인 주소를 사용하는 동안 오류가 발생했습니다.", - "Set location for weather" : "날씨 위치 설정", - "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "날씨 현황이 대시보드 앱에 통합되었습니다.\n사용자의 현재 위치를 자동 혹은 수동으로 지정할 수 있습니다. 그 후 6시간의 일기예보가 표시됩니다.\n날씨 현황은 달력 앱과 같이 다른 곳에서도 통합될 수 있습니다." + "Unknown weather code" : "알 수 없는 날씨 코드", + "Detect location" : "위치 감지", + "Set custom address" : "주소 설정", + "Favorites" : "즐겨찾기" }, "nplurals=1; plural=0;"); diff --git a/apps/weather_status/l10n/ko.json b/apps/weather_status/l10n/ko.json index b07606e36ae..1a7bbaa4d64 100644 --- a/apps/weather_status/l10n/ko.json +++ b/apps/weather_status/l10n/ko.json @@ -5,11 +5,44 @@ "Error" : "오류", "Weather status" : "날씨 현황", "Weather status in your dashboard" : "내 대시보드에 있는 날씨 현황", - "Detect location" : "위치 감지", - "Set custom address" : "주소 설정", - "Favorites" : "즐겨찾기", + "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "날씨 현황이 대시보드 앱에 통합되었습니다.\n사용자의 현재 위치를 자동 혹은 수동으로 지정할 수 있습니다. 그 후 6시간의 일기예보가 표시됩니다.\n날씨 현황은 달력 앱과 같이 다른 곳에서도 통합될 수 있습니다.", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} 오늘 오후 늦게 맑음", + "{temperature} {unit} clear sky" : "{temperature} {unit} 맑음", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} 오늘 오후 늦게 흐림 ", + "{temperature} {unit} cloudy" : "{temperature} {unit} 흐림 ", + "{temperature} {unit} snow and thunder later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개를 동반한 눈", + "{temperature} {unit} snow and thunder" : "{temperature} {unit} 천둥·번개를 동반한 눈", + "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개를 동반한 소나기눈", + "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} 천둥·번개를 동반한 소나기눈", + "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} 오늘 오후 늦게 천둥·번개와 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} 천둥·번개와 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers later today" : "{temperature} {unit} 오늘 오후 늦게 소나기눈", + "{temperature} {unit} snow showers" : "{temperature} {unit} 소나기눈", + "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} 오늘 오후 늦게 극야를 동반한 소나기눈", + "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} 극야를 동반한 소나기눈", + "{temperature} {unit} snow later today" : "{temperature} {unit} 오늘 오후 늦게 눈", + "{temperature} {unit} snow" : "{temperature} {unit} 눈", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} 오늘 오후 늦게 맑음", + "{temperature} {unit} fair weather" : "{temperature} {unit} 맑음", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 오늘 오후 늦게 구름 조금", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} 구름 조금", + "{temperature} {unit} foggy later today" : "{temperature} {unit} 오늘 오후 늦게 안개", + "{temperature} {unit} foggy" : "{temperature} {unit} 안개", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 약한 비", + "{temperature} {unit} light rainfall" : "{temperature} {unit} 약한 비", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 비", + "{temperature} {unit} rainfall" : "{temperature} {unit} 비", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 오늘 오후 늦게 거센 비", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 거센 비", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 소나기", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} 소나기", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 약한 소나기", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 약한 소나기", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 오늘 오후 늦게 거센 소나기", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 거센 소나기", "More weather for {adr}" : "{adr} 날씨 더 보기", "Loading weather" : "날씨 불러오는 중", + "Set location for weather" : "날씨 위치 설정", "Remove from favorites" : "즐겨찾기에서 제거", "Add as favorite" : "즐겨찾기로 추가", "You are not logged in." : "당신은 로그인하지 않았습니다.", @@ -20,7 +53,9 @@ "There was an error setting the location." : "주소를 설정하는 동안 오류가 발생했습니다.", "There was an error saving the mode." : "모드 저장에 오류가 있습니다.", "There was an error using personal address." : "개인 주소를 사용하는 동안 오류가 발생했습니다.", - "Set location for weather" : "날씨 위치 설정", - "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "날씨 현황이 대시보드 앱에 통합되었습니다.\n사용자의 현재 위치를 자동 혹은 수동으로 지정할 수 있습니다. 그 후 6시간의 일기예보가 표시됩니다.\n날씨 현황은 달력 앱과 같이 다른 곳에서도 통합될 수 있습니다." + "Unknown weather code" : "알 수 없는 날씨 코드", + "Detect location" : "위치 감지", + "Set custom address" : "주소 설정", + "Favorites" : "즐겨찾기" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml index c0f3d35e57f..f1107ecb4a1 100644 --- a/build/psalm-baseline.xml +++ b/build/psalm-baseline.xml @@ -675,6 +675,12 @@ </ParamNameMismatch> </file> <file src="apps/dav/lib/Connector/Sabre/File.php"> + <DeprecatedClass> + <code><![CDATA[Files::streamCopy($data, $target, true)]]></code> + </DeprecatedClass> + <DeprecatedMethod> + <code><![CDATA[Files::streamCopy($data, $target, true)]]></code> + </DeprecatedMethod> <LessSpecificReturnStatement> <code><![CDATA[$this->node]]></code> </LessSpecificReturnStatement> @@ -1964,14 +1970,13 @@ </file> <file src="apps/files_versions/lib/Storage.php"> <DeprecatedClass> + <code><![CDATA[Files::streamCopy($source, $target, true)]]></code> <code><![CDATA[\OC_Util::setupFS($uid)]]></code> </DeprecatedClass> <DeprecatedMethod> + <code><![CDATA[Files::streamCopy($source, $target, true)]]></code> <code><![CDATA[dispatch]]></code> </DeprecatedMethod> - <RedundantCondition> - <code><![CDATA[$storage1->instanceOfStorage('\OC\Files\ObjectStore\ObjectStoreStorage')]]></code> - </RedundantCondition> </file> <file src="apps/oauth2/lib/Controller/OauthApiController.php"> <NoInterfaceProperties> diff --git a/core/l10n/de.js b/core/l10n/de.js index 85f1050e0e1..2c69f7aaa38 100644 --- a/core/l10n/de.js +++ b/core/l10n/de.js @@ -80,8 +80,125 @@ OC.L10N.register( "%s (incompatible)" : "%s (inkompatibel)", "The following apps have been disabled: %s" : "Folgende Apps wurden deaktiviert: %s", "Already up to date" : "Bereits aktuell", + "Windows Command Script" : "Windows-Befehlsskript", + "Electronic book document" : "E-Book-Dokument", + "TrueType Font Collection" : "TrueType-Schriftartensammlung", + "Web Open Font Format" : "Web Open Font Format", + "GPX geographic data" : "GPX-Geodaten", + "Gzip archive" : "Gzip-Archiv", + "Adobe Illustrator document" : "Adobe Illustrator-Dokument", + "Java source code" : "Java Quellcode", + "JavaScript source code" : "JavaScript Quellcode", + "JSON document" : "JSON-Dokument", + "Microsoft Access database" : "Microsoft Access-Datenbank", + "Microsoft OneNote document" : "Microsoft OneNote-Dokument", + "Microsoft Word document" : "Microsoft Word-Dokument", "Unknown" : "Unbekannt", + "PDF document" : "PDF-Dokument", + "PostScript document" : "PostScript-Dokument", + "RSS summary" : "RSS-Zusammenfassung", + "Android package" : "Android-Paket", + "KML geographic data" : "KML-Geodaten", + "KML geographic compressed data" : "Komprimierte KML-Geodaten", + "Lotus Word Pro document" : "Lotus Word Pro-Dokument", + "Excel spreadsheet" : "Excel-Tabelle", + "Excel add-in" : "Excel-Add-in", + "Excel 2007 binary spreadsheet" : "Excel 2007 Binärtabelle", + "Excel spreadsheet template" : "Excel-Tabellenvorlage", + "Outlook Message" : "Outlook-Nachricht", + "PowerPoint presentation" : "PowerPoint-Präsentation", + "PowerPoint add-in" : "PowerPoint Add-in", + "PowerPoint presentation template" : "PowerPoint-Präsentationsvorlage", + "Word document" : "Word Dokument", + "ODF formula" : "ODF-Formel", + "ODG drawing" : "ODG-Zeichnung", + "ODG drawing (Flat XML)" : "ODG-Zeichnung (Flat XML)", + "ODG template" : "ODG-Vorlage", + "ODP presentation" : "ODP-Präsentation", + "ODP presentation (Flat XML)" : "ODP-Präsentation (Flat XML)", + "ODP template" : "ODP-Vorlage", + "ODS spreadsheet" : "ODS-Tabelle", + "ODS spreadsheet (Flat XML)" : "ODS-Tabelle (Flat XML)", + "ODS template" : "ODS-Vorlage", + "ODT document" : "ODT-Dokument", + "ODT document (Flat XML)" : "ODT-Dokument (Flat XML)", + "ODT template" : "ODT-Vorlage", + "PowerPoint 2007 presentation" : "PowerPoint 2007-Präsentation", + "PowerPoint 2007 show" : "PowerPoint 2007-Schau", + "PowerPoint 2007 presentation template" : "PowerPoint 2007-Präsentationsvorlage", + "Excel 2007 spreadsheet" : "Excel 2007-Tabelle", + "Excel 2007 spreadsheet template" : "Excel 2007-Tabellenvorlage", + "Word 2007 document" : "Word 2007-Dokument", + "Word 2007 document template" : "Word 2007-Dokumentenvorlage", + "Microsoft Visio document" : "Microsoft Visio-Dokument", + "WordPerfect document" : "WordPerfect-Dokument", + "7-zip archive" : "7-zip-Archiv", + "Blender scene" : "Blender-Szene", + "Bzip2 archive" : "Bzip2-Archiv", + "Debian package" : "Debian-Paket", + "FictionBook document" : "FictionBook-Dokument", + "Unknown font" : "Unbekannte Schriftart", + "Krita document" : "Krita-Dokument", + "Mobipocket e-book" : "Mobipocket E-Book", + "Windows Installer package" : "Windows-Installationspaket", + "Perl script" : "Perl-Skript", + "PHP script" : "PHP-Skript", + "Tar archive" : "Tar-Archiv", + "XML document" : "XML-Dokument", + "YAML document" : "YAML-Dokument", + "Zip archive" : "Zip-Archiv", + "Zstandard archive" : "Zstandard-Archiv", + "AAC audio" : "AAC-Audio", + "FLAC audio" : "FLAC-Audio", + "MPEG-4 audio" : "MPEG-4-Audio", + "MP3 audio" : "MP3-Audio", + "Ogg audio" : "Ogg-Audio", + "RIFF/WAVe standard Audio" : "RIFF/WAVe Standard-Audio", + "WebM audio" : "WebM-Audio", + "MP3 ShoutCast playlist" : "MP3 ShoutCast-Wiedergabeliste", + "Windows BMP image" : "Windows BMP-Bild", + "Better Portable Graphics image" : "Better Portable Graphics-Bild", + "EMF image" : "EMF-Bild", + "GIF image" : "GIF-Bild", + "HEIC image" : "HEIC-Bild", + "HEIF image" : "HEIF-Bild", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2-Bild", + "JPEG image" : "JPEG-Bild", "PNG image" : "PNG-Bild", + "SVG image" : "SVG-Bild", + "Truevision Targa image" : "Truevision Targa-Bild", + "TIFF image" : "TIFF-Bild", + "WebP image" : "WebP-Bild", + "Digital raw image" : "Digitales raw-Bild", + "Windows Icon" : "Windows-Symbol", + "Email message" : "E-Mail-Nachricht", + "VCS/ICS calendar" : "VCS/ICS-Kalender", + "CSS stylesheet" : "CSS-Stylesheet", + "CSV document" : "CSV-Dokument", + "HTML document" : "HTML-Dokument", + "Markdown document" : "Markdown-Dokument", + "Org-mode file" : "Org-mode-Datei", + "Plain text document" : "Rohtext-Dokument", + "Rich Text document" : "Rich Text-Dokument", + "Electronic business card" : "Elektronische Visitenkarte", + "C++ source code" : "C++-Quellcode", + "LDIF address book" : "LDIF-Adressbuch", + "NFO document" : "NFO-Dokument", + "PHP source" : "PHP-Quelltext", + "Python script" : "Python-Skript", + "ReStructuredText document" : "ReStructuredText-Dokument", + "3GPP multimedia file" : "3GPP Multimedia-Datei", + "MPEG video" : "MPEG-Video", + "DV video" : "DV-Video", + "MPEG-2 transport stream" : "MPEG-2-Transportstrom", + "MPEG-4 video" : "MPEG-4-Video", + "Ogg video" : "Ogg-Video", + "QuickTime video" : "QuickTime-Video", + "WebM video" : "WebM-Video", + "Flash video" : "Flash-Video", + "Matroska video" : "Matroska-Video", + "Windows Media video" : "Windows Media-Video", + "AVI video" : "AVI-Video", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "For more details see the {linkstart}documentation ↗{linkend}." : "Weitere Informationen findest du in der {linkstart}Dokumentation ↗{linkend}.", "unknown text" : "Unbekannter Text", diff --git a/core/l10n/de.json b/core/l10n/de.json index 12a5eef1ddf..04a0f5ace51 100644 --- a/core/l10n/de.json +++ b/core/l10n/de.json @@ -78,8 +78,125 @@ "%s (incompatible)" : "%s (inkompatibel)", "The following apps have been disabled: %s" : "Folgende Apps wurden deaktiviert: %s", "Already up to date" : "Bereits aktuell", + "Windows Command Script" : "Windows-Befehlsskript", + "Electronic book document" : "E-Book-Dokument", + "TrueType Font Collection" : "TrueType-Schriftartensammlung", + "Web Open Font Format" : "Web Open Font Format", + "GPX geographic data" : "GPX-Geodaten", + "Gzip archive" : "Gzip-Archiv", + "Adobe Illustrator document" : "Adobe Illustrator-Dokument", + "Java source code" : "Java Quellcode", + "JavaScript source code" : "JavaScript Quellcode", + "JSON document" : "JSON-Dokument", + "Microsoft Access database" : "Microsoft Access-Datenbank", + "Microsoft OneNote document" : "Microsoft OneNote-Dokument", + "Microsoft Word document" : "Microsoft Word-Dokument", "Unknown" : "Unbekannt", + "PDF document" : "PDF-Dokument", + "PostScript document" : "PostScript-Dokument", + "RSS summary" : "RSS-Zusammenfassung", + "Android package" : "Android-Paket", + "KML geographic data" : "KML-Geodaten", + "KML geographic compressed data" : "Komprimierte KML-Geodaten", + "Lotus Word Pro document" : "Lotus Word Pro-Dokument", + "Excel spreadsheet" : "Excel-Tabelle", + "Excel add-in" : "Excel-Add-in", + "Excel 2007 binary spreadsheet" : "Excel 2007 Binärtabelle", + "Excel spreadsheet template" : "Excel-Tabellenvorlage", + "Outlook Message" : "Outlook-Nachricht", + "PowerPoint presentation" : "PowerPoint-Präsentation", + "PowerPoint add-in" : "PowerPoint Add-in", + "PowerPoint presentation template" : "PowerPoint-Präsentationsvorlage", + "Word document" : "Word Dokument", + "ODF formula" : "ODF-Formel", + "ODG drawing" : "ODG-Zeichnung", + "ODG drawing (Flat XML)" : "ODG-Zeichnung (Flat XML)", + "ODG template" : "ODG-Vorlage", + "ODP presentation" : "ODP-Präsentation", + "ODP presentation (Flat XML)" : "ODP-Präsentation (Flat XML)", + "ODP template" : "ODP-Vorlage", + "ODS spreadsheet" : "ODS-Tabelle", + "ODS spreadsheet (Flat XML)" : "ODS-Tabelle (Flat XML)", + "ODS template" : "ODS-Vorlage", + "ODT document" : "ODT-Dokument", + "ODT document (Flat XML)" : "ODT-Dokument (Flat XML)", + "ODT template" : "ODT-Vorlage", + "PowerPoint 2007 presentation" : "PowerPoint 2007-Präsentation", + "PowerPoint 2007 show" : "PowerPoint 2007-Schau", + "PowerPoint 2007 presentation template" : "PowerPoint 2007-Präsentationsvorlage", + "Excel 2007 spreadsheet" : "Excel 2007-Tabelle", + "Excel 2007 spreadsheet template" : "Excel 2007-Tabellenvorlage", + "Word 2007 document" : "Word 2007-Dokument", + "Word 2007 document template" : "Word 2007-Dokumentenvorlage", + "Microsoft Visio document" : "Microsoft Visio-Dokument", + "WordPerfect document" : "WordPerfect-Dokument", + "7-zip archive" : "7-zip-Archiv", + "Blender scene" : "Blender-Szene", + "Bzip2 archive" : "Bzip2-Archiv", + "Debian package" : "Debian-Paket", + "FictionBook document" : "FictionBook-Dokument", + "Unknown font" : "Unbekannte Schriftart", + "Krita document" : "Krita-Dokument", + "Mobipocket e-book" : "Mobipocket E-Book", + "Windows Installer package" : "Windows-Installationspaket", + "Perl script" : "Perl-Skript", + "PHP script" : "PHP-Skript", + "Tar archive" : "Tar-Archiv", + "XML document" : "XML-Dokument", + "YAML document" : "YAML-Dokument", + "Zip archive" : "Zip-Archiv", + "Zstandard archive" : "Zstandard-Archiv", + "AAC audio" : "AAC-Audio", + "FLAC audio" : "FLAC-Audio", + "MPEG-4 audio" : "MPEG-4-Audio", + "MP3 audio" : "MP3-Audio", + "Ogg audio" : "Ogg-Audio", + "RIFF/WAVe standard Audio" : "RIFF/WAVe Standard-Audio", + "WebM audio" : "WebM-Audio", + "MP3 ShoutCast playlist" : "MP3 ShoutCast-Wiedergabeliste", + "Windows BMP image" : "Windows BMP-Bild", + "Better Portable Graphics image" : "Better Portable Graphics-Bild", + "EMF image" : "EMF-Bild", + "GIF image" : "GIF-Bild", + "HEIC image" : "HEIC-Bild", + "HEIF image" : "HEIF-Bild", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2-Bild", + "JPEG image" : "JPEG-Bild", "PNG image" : "PNG-Bild", + "SVG image" : "SVG-Bild", + "Truevision Targa image" : "Truevision Targa-Bild", + "TIFF image" : "TIFF-Bild", + "WebP image" : "WebP-Bild", + "Digital raw image" : "Digitales raw-Bild", + "Windows Icon" : "Windows-Symbol", + "Email message" : "E-Mail-Nachricht", + "VCS/ICS calendar" : "VCS/ICS-Kalender", + "CSS stylesheet" : "CSS-Stylesheet", + "CSV document" : "CSV-Dokument", + "HTML document" : "HTML-Dokument", + "Markdown document" : "Markdown-Dokument", + "Org-mode file" : "Org-mode-Datei", + "Plain text document" : "Rohtext-Dokument", + "Rich Text document" : "Rich Text-Dokument", + "Electronic business card" : "Elektronische Visitenkarte", + "C++ source code" : "C++-Quellcode", + "LDIF address book" : "LDIF-Adressbuch", + "NFO document" : "NFO-Dokument", + "PHP source" : "PHP-Quelltext", + "Python script" : "Python-Skript", + "ReStructuredText document" : "ReStructuredText-Dokument", + "3GPP multimedia file" : "3GPP Multimedia-Datei", + "MPEG video" : "MPEG-Video", + "DV video" : "DV-Video", + "MPEG-2 transport stream" : "MPEG-2-Transportstrom", + "MPEG-4 video" : "MPEG-4-Video", + "Ogg video" : "Ogg-Video", + "QuickTime video" : "QuickTime-Video", + "WebM video" : "WebM-Video", + "Flash video" : "Flash-Video", + "Matroska video" : "Matroska-Video", + "Windows Media video" : "Windows Media-Video", + "AVI video" : "AVI-Video", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "For more details see the {linkstart}documentation ↗{linkend}." : "Weitere Informationen findest du in der {linkstart}Dokumentation ↗{linkend}.", "unknown text" : "Unbekannter Text", diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index 69fe565f20e..4bf8bdf1649 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -80,8 +80,125 @@ OC.L10N.register( "%s (incompatible)" : "%s (inkompatibel)", "The following apps have been disabled: %s" : "Folgende Apps wurden deaktiviert: %s", "Already up to date" : "Bereits aktuell", + "Windows Command Script" : "Windows-Befehlsskript", + "Electronic book document" : "E-Book-Dokument", + "TrueType Font Collection" : "TrueType-Schriftartensammlung", + "Web Open Font Format" : "Web Open Font Format", + "GPX geographic data" : "GPX-Geodaten", + "Gzip archive" : "Gzip-Archiv", + "Adobe Illustrator document" : "Adobe Illustrator-Dokument", + "Java source code" : "Java Quellcode", + "JavaScript source code" : "JavaScript Quellcode", + "JSON document" : "JSON-Dokument", + "Microsoft Access database" : "Microsoft Access-Datenbank", + "Microsoft OneNote document" : "Microsoft OneNote-Dokument", + "Microsoft Word document" : "Microsoft Word-Dokument", "Unknown" : "Unbekannt", + "PDF document" : "PDF-Dokument", + "PostScript document" : "PostScript-Dokument", + "RSS summary" : "RSS-Zusammenfassung", + "Android package" : "Android-Paket", + "KML geographic data" : "KML-Geodaten", + "KML geographic compressed data" : "Komprimierte KML-Geodaten", + "Lotus Word Pro document" : "Lotus Word Pro-Dokument", + "Excel spreadsheet" : "Excel-Tabelle", + "Excel add-in" : "Excel-Add-in", + "Excel 2007 binary spreadsheet" : "Excel 2007 Binärtabelle", + "Excel spreadsheet template" : "Excel-Tabellenvorlage", + "Outlook Message" : "Outlook-Nachricht", + "PowerPoint presentation" : "PowerPoint-Präsentation", + "PowerPoint add-in" : "PowerPoint Add-in", + "PowerPoint presentation template" : "PowerPoint-Präsentationsvorlage", + "Word document" : "Word Dokument", + "ODF formula" : "ODF-Formel", + "ODG drawing" : "ODG-Zeichnung", + "ODG drawing (Flat XML)" : "ODG-Zeichnung (Flat XML)", + "ODG template" : "ODG-Vorlage", + "ODP presentation" : "ODP-Präsentation", + "ODP presentation (Flat XML)" : "ODP-Präsentation (Flat XML)", + "ODP template" : "ODP-Vorlage", + "ODS spreadsheet" : "ODS-Tabelle", + "ODS spreadsheet (Flat XML)" : "ODS-Tabelle (Flat XML)", + "ODS template" : "ODS-Vorlage", + "ODT document" : "ODT-Dokument", + "ODT document (Flat XML)" : "ODT-Dokument (Flat XML)", + "ODT template" : "ODT-Vorlage", + "PowerPoint 2007 presentation" : "PowerPoint 2007-Präsentation", + "PowerPoint 2007 show" : "PowerPoint 2007-Schau", + "PowerPoint 2007 presentation template" : "PowerPoint 2007-Präsentationsvorlage", + "Excel 2007 spreadsheet" : "Excel 2007-Tabelle", + "Excel 2007 spreadsheet template" : "Excel 2007-Tabellenvorlage", + "Word 2007 document" : "Word 2007-Dokument", + "Word 2007 document template" : "Word 2007-Dokumentenvorlage", + "Microsoft Visio document" : "Microsoft Visio-Dokument", + "WordPerfect document" : "WordPerfect-Dokument", + "7-zip archive" : "7-zip-Archiv", + "Blender scene" : "Blender-Szene", + "Bzip2 archive" : "Bzip2-Archiv", + "Debian package" : "Debian-Paket", + "FictionBook document" : "FictionBook-Dokument", + "Unknown font" : "Unbekannte Schriftart", + "Krita document" : "Krita-Dokument", + "Mobipocket e-book" : "Mobipocket E-Book", + "Windows Installer package" : "Windows-Installationspaket", + "Perl script" : "Perl-Skript", + "PHP script" : "PHP-Skript", + "Tar archive" : "Tar-Archiv", + "XML document" : "XML-Dokument", + "YAML document" : "YAML-Dokument", + "Zip archive" : "Zip-Archiv", + "Zstandard archive" : "Zstandard-Archiv", + "AAC audio" : "AAC-Audio", + "FLAC audio" : "FLAC-Audio", + "MPEG-4 audio" : "MPEG-4-Audio", + "MP3 audio" : "MP3-Audio", + "Ogg audio" : "Ogg-Audio", + "RIFF/WAVe standard Audio" : "RIFF/WAVe Standard-Audio", + "WebM audio" : "WebM-Audio", + "MP3 ShoutCast playlist" : "MP3 ShoutCast-Wiedergabeliste", + "Windows BMP image" : "Windows BMP-Bild", + "Better Portable Graphics image" : "Better Portable Graphics-Bild", + "EMF image" : "EMF-Bild", + "GIF image" : "GIF-Bild", + "HEIC image" : "HEIC-Bild", + "HEIF image" : "HEIF-Bild", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2-Bild", + "JPEG image" : "JPEG-Bild", "PNG image" : "PNG-Bild", + "SVG image" : "SVG-Bild", + "Truevision Targa image" : "Truevision Targa-Bild", + "TIFF image" : "TIFF-Bild", + "WebP image" : "WebP-Bild", + "Digital raw image" : "Digitales raw-Bild", + "Windows Icon" : "Windows-Symbol", + "Email message" : "E-Mail-Nachricht", + "VCS/ICS calendar" : "VCS/ICS-Kalender", + "CSS stylesheet" : "CSS-Stylesheet", + "CSV document" : "CSV-Dokument", + "HTML document" : "HTML-Dokument", + "Markdown document" : "Markdown-Dokument", + "Org-mode file" : "Org-mode-Datei", + "Plain text document" : "Rohtext-Dokument", + "Rich Text document" : "Rich Text-Dokument", + "Electronic business card" : "Elektronische Visitenkarte", + "C++ source code" : "C++-Quellcode", + "LDIF address book" : "LDIF-Adressbuch", + "NFO document" : "NFO-Dokument", + "PHP source" : "PHP-Quelle", + "Python script" : "Python-Skript", + "ReStructuredText document" : "ReStructuredText-Dokument", + "3GPP multimedia file" : "3GPP Multimedia-Datei", + "MPEG video" : "MPEG-Video", + "DV video" : "DV-Video", + "MPEG-2 transport stream" : "MPEG-2-Transportstrom", + "MPEG-4 video" : "MPEG-4-Video", + "Ogg video" : "Ogg-Video", + "QuickTime video" : "QuickTime-Video", + "WebM video" : "WebM-Video", + "Flash video" : "Flash-Video", + "Matroska video" : "Matroska-Video", + "Windows Media video" : "Windows Media-Video", + "AVI video" : "AVI-Video", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "For more details see the {linkstart}documentation ↗{linkend}." : "Weitere Informationen finden Sie in der {linkstart}Dokumentation ↗{linkend}.", "unknown text" : "Unbekannter Text", diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index 703f5cfdf60..755fb0536c7 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -78,8 +78,125 @@ "%s (incompatible)" : "%s (inkompatibel)", "The following apps have been disabled: %s" : "Folgende Apps wurden deaktiviert: %s", "Already up to date" : "Bereits aktuell", + "Windows Command Script" : "Windows-Befehlsskript", + "Electronic book document" : "E-Book-Dokument", + "TrueType Font Collection" : "TrueType-Schriftartensammlung", + "Web Open Font Format" : "Web Open Font Format", + "GPX geographic data" : "GPX-Geodaten", + "Gzip archive" : "Gzip-Archiv", + "Adobe Illustrator document" : "Adobe Illustrator-Dokument", + "Java source code" : "Java Quellcode", + "JavaScript source code" : "JavaScript Quellcode", + "JSON document" : "JSON-Dokument", + "Microsoft Access database" : "Microsoft Access-Datenbank", + "Microsoft OneNote document" : "Microsoft OneNote-Dokument", + "Microsoft Word document" : "Microsoft Word-Dokument", "Unknown" : "Unbekannt", + "PDF document" : "PDF-Dokument", + "PostScript document" : "PostScript-Dokument", + "RSS summary" : "RSS-Zusammenfassung", + "Android package" : "Android-Paket", + "KML geographic data" : "KML-Geodaten", + "KML geographic compressed data" : "Komprimierte KML-Geodaten", + "Lotus Word Pro document" : "Lotus Word Pro-Dokument", + "Excel spreadsheet" : "Excel-Tabelle", + "Excel add-in" : "Excel-Add-in", + "Excel 2007 binary spreadsheet" : "Excel 2007 Binärtabelle", + "Excel spreadsheet template" : "Excel-Tabellenvorlage", + "Outlook Message" : "Outlook-Nachricht", + "PowerPoint presentation" : "PowerPoint-Präsentation", + "PowerPoint add-in" : "PowerPoint Add-in", + "PowerPoint presentation template" : "PowerPoint-Präsentationsvorlage", + "Word document" : "Word Dokument", + "ODF formula" : "ODF-Formel", + "ODG drawing" : "ODG-Zeichnung", + "ODG drawing (Flat XML)" : "ODG-Zeichnung (Flat XML)", + "ODG template" : "ODG-Vorlage", + "ODP presentation" : "ODP-Präsentation", + "ODP presentation (Flat XML)" : "ODP-Präsentation (Flat XML)", + "ODP template" : "ODP-Vorlage", + "ODS spreadsheet" : "ODS-Tabelle", + "ODS spreadsheet (Flat XML)" : "ODS-Tabelle (Flat XML)", + "ODS template" : "ODS-Vorlage", + "ODT document" : "ODT-Dokument", + "ODT document (Flat XML)" : "ODT-Dokument (Flat XML)", + "ODT template" : "ODT-Vorlage", + "PowerPoint 2007 presentation" : "PowerPoint 2007-Präsentation", + "PowerPoint 2007 show" : "PowerPoint 2007-Schau", + "PowerPoint 2007 presentation template" : "PowerPoint 2007-Präsentationsvorlage", + "Excel 2007 spreadsheet" : "Excel 2007-Tabelle", + "Excel 2007 spreadsheet template" : "Excel 2007-Tabellenvorlage", + "Word 2007 document" : "Word 2007-Dokument", + "Word 2007 document template" : "Word 2007-Dokumentenvorlage", + "Microsoft Visio document" : "Microsoft Visio-Dokument", + "WordPerfect document" : "WordPerfect-Dokument", + "7-zip archive" : "7-zip-Archiv", + "Blender scene" : "Blender-Szene", + "Bzip2 archive" : "Bzip2-Archiv", + "Debian package" : "Debian-Paket", + "FictionBook document" : "FictionBook-Dokument", + "Unknown font" : "Unbekannte Schriftart", + "Krita document" : "Krita-Dokument", + "Mobipocket e-book" : "Mobipocket E-Book", + "Windows Installer package" : "Windows-Installationspaket", + "Perl script" : "Perl-Skript", + "PHP script" : "PHP-Skript", + "Tar archive" : "Tar-Archiv", + "XML document" : "XML-Dokument", + "YAML document" : "YAML-Dokument", + "Zip archive" : "Zip-Archiv", + "Zstandard archive" : "Zstandard-Archiv", + "AAC audio" : "AAC-Audio", + "FLAC audio" : "FLAC-Audio", + "MPEG-4 audio" : "MPEG-4-Audio", + "MP3 audio" : "MP3-Audio", + "Ogg audio" : "Ogg-Audio", + "RIFF/WAVe standard Audio" : "RIFF/WAVe Standard-Audio", + "WebM audio" : "WebM-Audio", + "MP3 ShoutCast playlist" : "MP3 ShoutCast-Wiedergabeliste", + "Windows BMP image" : "Windows BMP-Bild", + "Better Portable Graphics image" : "Better Portable Graphics-Bild", + "EMF image" : "EMF-Bild", + "GIF image" : "GIF-Bild", + "HEIC image" : "HEIC-Bild", + "HEIF image" : "HEIF-Bild", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2-Bild", + "JPEG image" : "JPEG-Bild", "PNG image" : "PNG-Bild", + "SVG image" : "SVG-Bild", + "Truevision Targa image" : "Truevision Targa-Bild", + "TIFF image" : "TIFF-Bild", + "WebP image" : "WebP-Bild", + "Digital raw image" : "Digitales raw-Bild", + "Windows Icon" : "Windows-Symbol", + "Email message" : "E-Mail-Nachricht", + "VCS/ICS calendar" : "VCS/ICS-Kalender", + "CSS stylesheet" : "CSS-Stylesheet", + "CSV document" : "CSV-Dokument", + "HTML document" : "HTML-Dokument", + "Markdown document" : "Markdown-Dokument", + "Org-mode file" : "Org-mode-Datei", + "Plain text document" : "Rohtext-Dokument", + "Rich Text document" : "Rich Text-Dokument", + "Electronic business card" : "Elektronische Visitenkarte", + "C++ source code" : "C++-Quellcode", + "LDIF address book" : "LDIF-Adressbuch", + "NFO document" : "NFO-Dokument", + "PHP source" : "PHP-Quelle", + "Python script" : "Python-Skript", + "ReStructuredText document" : "ReStructuredText-Dokument", + "3GPP multimedia file" : "3GPP Multimedia-Datei", + "MPEG video" : "MPEG-Video", + "DV video" : "DV-Video", + "MPEG-2 transport stream" : "MPEG-2-Transportstrom", + "MPEG-4 video" : "MPEG-4-Video", + "Ogg video" : "Ogg-Video", + "QuickTime video" : "QuickTime-Video", + "WebM video" : "WebM-Video", + "Flash video" : "Flash-Video", + "Matroska video" : "Matroska-Video", + "Windows Media video" : "Windows Media-Video", + "AVI video" : "AVI-Video", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "For more details see the {linkstart}documentation ↗{linkend}." : "Weitere Informationen finden Sie in der {linkstart}Dokumentation ↗{linkend}.", "unknown text" : "Unbekannter Text", diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js index 67067611564..59587290fd1 100644 --- a/core/l10n/et_EE.js +++ b/core/l10n/et_EE.js @@ -80,7 +80,125 @@ OC.L10N.register( "%s (incompatible)" : "%s (pole ühilduv)", "The following apps have been disabled: %s" : "Järgmised rakendused lülitati välja: %s", "Already up to date" : "On juba ajakohane", + "Windows Command Script" : "Windows Commandi skript", + "Electronic book document" : "E-raamatu dokument", + "TrueType Font Collection" : "TrueType'i kirjatüüpide kogumik", + "Web Open Font Format" : "Web Open Font vorming", + "GPX geographic data" : "GPX-i geoandmed", + "Gzip archive" : "Gzipi arhiivifail", + "Adobe Illustrator document" : "Adobe Illustratori dokument", + "Java source code" : "Java lähtekood", + "JavaScript source code" : "JavaScripti lähtekood", + "JSON document" : "JSON-dokument", + "Microsoft Access database" : "Microsoft Accessi andmebaas", + "Microsoft OneNote document" : "Microsoft OneNote'i dokument", + "Microsoft Word document" : "Microsoft Wordi dokument", "Unknown" : "Teadmata", + "PDF document" : "PDF-dokument", + "PostScript document" : "PostScripti dokument", + "RSS summary" : "RSS-i kokkuvõte", + "Android package" : "Androidi pakett", + "KML geographic data" : "KML-i geoandmed", + "KML geographic compressed data" : "KML-i pakitud geoandmed", + "Lotus Word Pro document" : "Lotus Word Pro dokument", + "Excel spreadsheet" : "Exceli arvutustabel", + "Excel add-in" : "Exceli lisamoodul", + "Excel 2007 binary spreadsheet" : "Excel 2007 kompileeritud arvutustabel", + "Excel spreadsheet template" : "Exceli arvutustabeli mall", + "Outlook Message" : "Outlooki e-kiri", + "PowerPoint presentation" : "PowerPointi esitlus", + "PowerPoint add-in" : "PowerPointi lisamoodul", + "PowerPoint presentation template" : "PowerPointi esitluse mall", + "Word document" : "Wordi dokument", + "ODF formula" : "ODF-i valem", + "ODG drawing" : "ODG joonistus", + "ODG drawing (Flat XML)" : "ODG joonistus (Flat XML)", + "ODG template" : "ODG joonistuse mall", + "ODP presentation" : "ODP esitlus", + "ODP presentation (Flat XML)" : "ODP esitlus (Flat XML)", + "ODP template" : "ODP esitluse mall", + "ODS spreadsheet" : "ODS-i arvutustabel", + "ODS spreadsheet (Flat XML)" : "ODS-i arvutustabel (Flat XML)", + "ODS template" : "ODS-i arvutustabeli mall", + "ODT document" : "ODT dokument", + "ODT document (Flat XML)" : "ODT dokument (Flat XML)", + "ODT template" : "ODT dokumendi mall", + "PowerPoint 2007 presentation" : "PowerPoint 2007 esitlus", + "PowerPoint 2007 show" : "PowerPoint 2007 slaidiesitlus", + "PowerPoint 2007 presentation template" : "PowerPoint 2007 esitluse mall", + "Excel 2007 spreadsheet" : "Excel 2007 arvutustabel", + "Excel 2007 spreadsheet template" : "Excel 2007 arvutustabeli mall", + "Word 2007 document" : "Word 2007 dokument", + "Word 2007 document template" : "Word 2007 dokumendimall", + "Microsoft Visio document" : "Microsoft Visio dokument", + "WordPerfect document" : "WordPerfecti dokument", + "7-zip archive" : "7-zip arhiivifail", + "Blender scene" : "Blenderi stseen", + "Bzip2 archive" : "Bzip2 arhiivifail", + "Debian package" : "Debian pakett", + "FictionBook document" : "FictionBooki dokument", + "Unknown font" : "Tundmatu kirjatüüp", + "Krita document" : "Krita dokument", + "Mobipocket e-book" : "Mobipocketi e-raamat", + "Windows Installer package" : "Windows Installeri pakett", + "Perl script" : "Perli skript", + "PHP script" : "PHP skript", + "Tar archive" : "Tari arhiivifail", + "XML document" : "XML-dokument", + "YAML document" : "YAML-dokument", + "Zip archive" : "Zipi arhiivifail", + "Zstandard archive" : "Zstandardi arhiivifail", + "AAC audio" : "AAC helifail", + "FLAC audio" : "FLAC helifail", + "MPEG-4 audio" : "MPEG-4 helifail", + "MP3 audio" : "MP3 helifail", + "Ogg audio" : "Ogg helifail", + "RIFF/WAVe standard Audio" : "RIFF/WAVe standardne helifail", + "WebM audio" : "WebM helifail", + "MP3 ShoutCast playlist" : "MP3 ShoutCasti esitusloend", + "Windows BMP image" : "Windows BMP pilt", + "Better Portable Graphics image" : "Better Portable Graphicsi pilt", + "EMF image" : "EMF pilt", + "GIF image" : "GIF pilt", + "HEIC image" : "HEIC pilt", + "HEIF image" : "HEIF pilt", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2 pilt", + "JPEG image" : "JPEG pilt", + "PNG image" : "PNG pilt", + "SVG image" : "SVG pilt", + "Truevision Targa image" : "Truevision Targa pilt", + "TIFF image" : "TIFF pilt", + "WebP image" : "WebP pilt", + "Digital raw image" : "Digitaalne töötlemata pilt", + "Windows Icon" : "Windowsi ikoon", + "Email message" : "E-kiri", + "VCS/ICS calendar" : "VCS/ICS-i kalender", + "CSS stylesheet" : "CSS-i laaditabel", + "CSV document" : "CSV-dokument", + "HTML document" : "HTML-dokument", + "Markdown document" : "Markdowni dokument", + "Org-mode file" : "Org-mode'i fail", + "Plain text document" : "Vormindamata tekstidokument", + "Rich Text document" : "Vormindatud tekstidokument", + "Electronic business card" : "Elektrooniline visiitkaart", + "C++ source code" : "C++ lähtekood", + "LDIF address book" : "LDIF-i aaddressiraamat", + "NFO document" : "NFO-dokument", + "PHP source" : "PHP lähtekood", + "Python script" : "Pythoni skript", + "ReStructuredText document" : "ReStructuredTexti dokument", + "3GPP multimedia file" : "3GPP multimeediafail", + "MPEG video" : "MPEG video", + "DV video" : "DV video", + "MPEG-2 transport stream" : "MPEG-2 transport stream", + "MPEG-4 video" : "MPEG-4 video", + "Ogg video" : "Ogg video", + "QuickTime video" : "QuickTime video", + "WebM video" : "WebM video", + "Flash video" : "Flash video", + "Matroska video" : "Matroska video", + "Windows Media video" : "Windows Media video", + "AVI video" : "AVI video", "Error occurred while checking server setup" : "Serveri seadete kontrolimisel tekkis viga", "For more details see the {linkstart}documentation ↗{linkend}." : "Lisateavet leiad {linkstart}dokumentatsioonist ↗{linkend}.", "unknown text" : "tundmatu tekst", diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json index 20f8d914eec..a796bd741c3 100644 --- a/core/l10n/et_EE.json +++ b/core/l10n/et_EE.json @@ -78,7 +78,125 @@ "%s (incompatible)" : "%s (pole ühilduv)", "The following apps have been disabled: %s" : "Järgmised rakendused lülitati välja: %s", "Already up to date" : "On juba ajakohane", + "Windows Command Script" : "Windows Commandi skript", + "Electronic book document" : "E-raamatu dokument", + "TrueType Font Collection" : "TrueType'i kirjatüüpide kogumik", + "Web Open Font Format" : "Web Open Font vorming", + "GPX geographic data" : "GPX-i geoandmed", + "Gzip archive" : "Gzipi arhiivifail", + "Adobe Illustrator document" : "Adobe Illustratori dokument", + "Java source code" : "Java lähtekood", + "JavaScript source code" : "JavaScripti lähtekood", + "JSON document" : "JSON-dokument", + "Microsoft Access database" : "Microsoft Accessi andmebaas", + "Microsoft OneNote document" : "Microsoft OneNote'i dokument", + "Microsoft Word document" : "Microsoft Wordi dokument", "Unknown" : "Teadmata", + "PDF document" : "PDF-dokument", + "PostScript document" : "PostScripti dokument", + "RSS summary" : "RSS-i kokkuvõte", + "Android package" : "Androidi pakett", + "KML geographic data" : "KML-i geoandmed", + "KML geographic compressed data" : "KML-i pakitud geoandmed", + "Lotus Word Pro document" : "Lotus Word Pro dokument", + "Excel spreadsheet" : "Exceli arvutustabel", + "Excel add-in" : "Exceli lisamoodul", + "Excel 2007 binary spreadsheet" : "Excel 2007 kompileeritud arvutustabel", + "Excel spreadsheet template" : "Exceli arvutustabeli mall", + "Outlook Message" : "Outlooki e-kiri", + "PowerPoint presentation" : "PowerPointi esitlus", + "PowerPoint add-in" : "PowerPointi lisamoodul", + "PowerPoint presentation template" : "PowerPointi esitluse mall", + "Word document" : "Wordi dokument", + "ODF formula" : "ODF-i valem", + "ODG drawing" : "ODG joonistus", + "ODG drawing (Flat XML)" : "ODG joonistus (Flat XML)", + "ODG template" : "ODG joonistuse mall", + "ODP presentation" : "ODP esitlus", + "ODP presentation (Flat XML)" : "ODP esitlus (Flat XML)", + "ODP template" : "ODP esitluse mall", + "ODS spreadsheet" : "ODS-i arvutustabel", + "ODS spreadsheet (Flat XML)" : "ODS-i arvutustabel (Flat XML)", + "ODS template" : "ODS-i arvutustabeli mall", + "ODT document" : "ODT dokument", + "ODT document (Flat XML)" : "ODT dokument (Flat XML)", + "ODT template" : "ODT dokumendi mall", + "PowerPoint 2007 presentation" : "PowerPoint 2007 esitlus", + "PowerPoint 2007 show" : "PowerPoint 2007 slaidiesitlus", + "PowerPoint 2007 presentation template" : "PowerPoint 2007 esitluse mall", + "Excel 2007 spreadsheet" : "Excel 2007 arvutustabel", + "Excel 2007 spreadsheet template" : "Excel 2007 arvutustabeli mall", + "Word 2007 document" : "Word 2007 dokument", + "Word 2007 document template" : "Word 2007 dokumendimall", + "Microsoft Visio document" : "Microsoft Visio dokument", + "WordPerfect document" : "WordPerfecti dokument", + "7-zip archive" : "7-zip arhiivifail", + "Blender scene" : "Blenderi stseen", + "Bzip2 archive" : "Bzip2 arhiivifail", + "Debian package" : "Debian pakett", + "FictionBook document" : "FictionBooki dokument", + "Unknown font" : "Tundmatu kirjatüüp", + "Krita document" : "Krita dokument", + "Mobipocket e-book" : "Mobipocketi e-raamat", + "Windows Installer package" : "Windows Installeri pakett", + "Perl script" : "Perli skript", + "PHP script" : "PHP skript", + "Tar archive" : "Tari arhiivifail", + "XML document" : "XML-dokument", + "YAML document" : "YAML-dokument", + "Zip archive" : "Zipi arhiivifail", + "Zstandard archive" : "Zstandardi arhiivifail", + "AAC audio" : "AAC helifail", + "FLAC audio" : "FLAC helifail", + "MPEG-4 audio" : "MPEG-4 helifail", + "MP3 audio" : "MP3 helifail", + "Ogg audio" : "Ogg helifail", + "RIFF/WAVe standard Audio" : "RIFF/WAVe standardne helifail", + "WebM audio" : "WebM helifail", + "MP3 ShoutCast playlist" : "MP3 ShoutCasti esitusloend", + "Windows BMP image" : "Windows BMP pilt", + "Better Portable Graphics image" : "Better Portable Graphicsi pilt", + "EMF image" : "EMF pilt", + "GIF image" : "GIF pilt", + "HEIC image" : "HEIC pilt", + "HEIF image" : "HEIF pilt", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2 pilt", + "JPEG image" : "JPEG pilt", + "PNG image" : "PNG pilt", + "SVG image" : "SVG pilt", + "Truevision Targa image" : "Truevision Targa pilt", + "TIFF image" : "TIFF pilt", + "WebP image" : "WebP pilt", + "Digital raw image" : "Digitaalne töötlemata pilt", + "Windows Icon" : "Windowsi ikoon", + "Email message" : "E-kiri", + "VCS/ICS calendar" : "VCS/ICS-i kalender", + "CSS stylesheet" : "CSS-i laaditabel", + "CSV document" : "CSV-dokument", + "HTML document" : "HTML-dokument", + "Markdown document" : "Markdowni dokument", + "Org-mode file" : "Org-mode'i fail", + "Plain text document" : "Vormindamata tekstidokument", + "Rich Text document" : "Vormindatud tekstidokument", + "Electronic business card" : "Elektrooniline visiitkaart", + "C++ source code" : "C++ lähtekood", + "LDIF address book" : "LDIF-i aaddressiraamat", + "NFO document" : "NFO-dokument", + "PHP source" : "PHP lähtekood", + "Python script" : "Pythoni skript", + "ReStructuredText document" : "ReStructuredTexti dokument", + "3GPP multimedia file" : "3GPP multimeediafail", + "MPEG video" : "MPEG video", + "DV video" : "DV video", + "MPEG-2 transport stream" : "MPEG-2 transport stream", + "MPEG-4 video" : "MPEG-4 video", + "Ogg video" : "Ogg video", + "QuickTime video" : "QuickTime video", + "WebM video" : "WebM video", + "Flash video" : "Flash video", + "Matroska video" : "Matroska video", + "Windows Media video" : "Windows Media video", + "AVI video" : "AVI video", "Error occurred while checking server setup" : "Serveri seadete kontrolimisel tekkis viga", "For more details see the {linkstart}documentation ↗{linkend}." : "Lisateavet leiad {linkstart}dokumentatsioonist ↗{linkend}.", "unknown text" : "tundmatu tekst", diff --git a/core/l10n/ja.js b/core/l10n/ja.js index 4e4a74837fa..d14ee4e5ec1 100644 --- a/core/l10n/ja.js +++ b/core/l10n/ja.js @@ -80,7 +80,125 @@ OC.L10N.register( "%s (incompatible)" : "%s (非互換)", "The following apps have been disabled: %s" : "次のアプリが無効になりました: %s ", "Already up to date" : "すべて更新済", + "Windows Command Script" : "Windowsコマンドスクリプト", + "Electronic book document" : "電子書籍ドキュメント", + "TrueType Font Collection" : "TrueTypeフォントコレクション", + "Web Open Font Format" : "Webオープンフォント形式", + "GPX geographic data" : "GPX地理データ", + "Gzip archive" : "Gzipアーカイブ", + "Adobe Illustrator document" : "Adobe Illustratorドキュメント", + "Java source code" : "Javaソースコード", + "JavaScript source code" : "JavaScriptソースコード", + "JSON document" : "JSONドキュメント", + "Microsoft Access database" : "Microsoft Accessデータベース", + "Microsoft OneNote document" : "Microsoft OneNoteドキュメント", + "Microsoft Word document" : "Microsoft Wordドキュメント", "Unknown" : "不明", + "PDF document" : "PDFドキュメント", + "PostScript document" : "PostScriptドキュメント", + "RSS summary" : "RSS概要", + "Android package" : "Androidパッケージ", + "KML geographic data" : "KML地理データ", + "KML geographic compressed data" : "KML地理圧縮データ", + "Lotus Word Pro document" : "Lotus Word Proドキュメント", + "Excel spreadsheet" : "Excelスプレッドシート", + "Excel add-in" : "Excelアドイン", + "Excel 2007 binary spreadsheet" : "Excel 2007バイナリスプレッドシート", + "Excel spreadsheet template" : "Excelスプレッドシートテンプレート", + "Outlook Message" : "Outlookメッセージ", + "PowerPoint presentation" : "PowerPointプレゼンテーション", + "PowerPoint add-in" : "PowerPointアドイン", + "PowerPoint presentation template" : "PowerPointプレゼンテーションテンプレート", + "Word document" : "Wordドキュメント", + "ODF formula" : "ODFフォーミュラ", + "ODG drawing" : "ODG図面", + "ODG drawing (Flat XML)" : "ODG 図面 (フラット XML)", + "ODG template" : "ODGテンプレート", + "ODP presentation" : "ODPプレゼンテーション", + "ODP presentation (Flat XML)" : "ODPプレゼンテーション (フラット XML)", + "ODP template" : "ODPテンプレート", + "ODS spreadsheet" : "ODSスプレッドシート", + "ODS spreadsheet (Flat XML)" : "ODSスプレッドシート (フラット XML)", + "ODS template" : "ODSテンプレート", + "ODT document" : "ODTドキュメント", + "ODT document (Flat XML)" : "ODTドキュメント (フラット XML)", + "ODT template" : "ODTテンプレート", + "PowerPoint 2007 presentation" : "PowerPoint 2007プレゼンテーション", + "PowerPoint 2007 show" : "PowerPoint 2007 表示", + "PowerPoint 2007 presentation template" : "PowerPoint 2007プレゼンテーションテンプレート", + "Excel 2007 spreadsheet" : "Excel 2007スプレッドシート", + "Excel 2007 spreadsheet template" : "Excel 2007スプレッドシートテンプレート", + "Word 2007 document" : "Word 2007ドキュメント", + "Word 2007 document template" : "Word 2007ドキュメントテンプレート", + "Microsoft Visio document" : "Microsoft Visioドキュメント", + "WordPerfect document" : "WordPerfectドキュメント", + "7-zip archive" : "7-zipアーカイブ", + "Blender scene" : "Blenderシーン", + "Bzip2 archive" : "Bzip2アーカイブ", + "Debian package" : "Debianパッケージ", + "FictionBook document" : "FictionBookドキュメント", + "Unknown font" : "不明なフォント", + "Krita document" : "Kritaドキュメント", + "Mobipocket e-book" : "Mobipocket 電子書籍", + "Windows Installer package" : "Windowsインストーラーパッケージ", + "Perl script" : "Perlスクリプト", + "PHP script" : "PHPスクリプト", + "Tar archive" : "Tarアーカイブ", + "XML document" : "XMLドキュメント", + "YAML document" : "YAMLドキュメント", + "Zip archive" : "Zipアーカイブ", + "Zstandard archive" : "Zstandardアーカイブ", + "AAC audio" : "AAC音声", + "FLAC audio" : "FLAC音声", + "MPEG-4 audio" : "MPEG-4音声", + "MP3 audio" : "MP3音声", + "Ogg audio" : "Ogg音声", + "RIFF/WAVe standard Audio" : "RIFF/WAVeスタンダード音声", + "WebM audio" : "WebM音声", + "MP3 ShoutCast playlist" : "MP3 ShoutCastプレイリスト", + "Windows BMP image" : "Windows BMP画像", + "Better Portable Graphics image" : "Better Portable Graphics画像", + "EMF image" : "EMF画像", + "GIF image" : "GIF画像", + "HEIC image" : "HEIC画像", + "HEIF image" : "HEIF画像", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2画像", + "JPEG image" : "JPEG画像", + "PNG image" : "PNG画像", + "SVG image" : "SVG画像", + "Truevision Targa image" : "Truevision Targa画像", + "TIFF image" : "TIFF画像", + "WebP image" : "WebP画像", + "Digital raw image" : "Digital raw画像", + "Windows Icon" : "Windowsアイコン", + "Email message" : "メールメッセージ", + "VCS/ICS calendar" : "VCS/ICSカレンダー", + "CSS stylesheet" : "CSSスタイルシート", + "CSV document" : "CSVドキュメント", + "HTML document" : "HTMLドキュメント", + "Markdown document" : "Markdownドキュメント", + "Org-mode file" : "Org-modeファイル", + "Plain text document" : "プレーンテキストドキュメント", + "Rich Text document" : "リッチテキストドキュメント", + "Electronic business card" : "電子ビジネスカード", + "C++ source code" : "C++ソースコード", + "LDIF address book" : "LDIFアドレス帳", + "NFO document" : "NFOドキュメント", + "PHP source" : "PHPソース", + "Python script" : "Pythonスクリプト", + "ReStructuredText document" : "ReStructuredTextドキュメント", + "3GPP multimedia file" : "3GPPマルチメディアファイル", + "MPEG video" : "MPEGビデオ", + "DV video" : "DVビデオ", + "MPEG-2 transport stream" : "MPEG-2トランスポートストリーム", + "MPEG-4 video" : "MPEG-4ビデオ", + "Ogg video" : "Oggビデオ", + "QuickTime video" : "QuickTimeビデオ", + "WebM video" : "WebMビデオ", + "Flash video" : "Flashビデオ", + "Matroska video" : "Matroskaビデオ", + "Windows Media video" : "Windows Mediaビデオ", + "AVI video" : "AVI ビデオ", "Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました", "For more details see the {linkstart}documentation ↗{linkend}." : "詳細については、{linkstart}ドキュメント↗{linkend}を参照してください。", "unknown text" : "不明なテキスト", diff --git a/core/l10n/ja.json b/core/l10n/ja.json index be0d6b0b8f4..a3aba7d42f5 100644 --- a/core/l10n/ja.json +++ b/core/l10n/ja.json @@ -78,7 +78,125 @@ "%s (incompatible)" : "%s (非互換)", "The following apps have been disabled: %s" : "次のアプリが無効になりました: %s ", "Already up to date" : "すべて更新済", + "Windows Command Script" : "Windowsコマンドスクリプト", + "Electronic book document" : "電子書籍ドキュメント", + "TrueType Font Collection" : "TrueTypeフォントコレクション", + "Web Open Font Format" : "Webオープンフォント形式", + "GPX geographic data" : "GPX地理データ", + "Gzip archive" : "Gzipアーカイブ", + "Adobe Illustrator document" : "Adobe Illustratorドキュメント", + "Java source code" : "Javaソースコード", + "JavaScript source code" : "JavaScriptソースコード", + "JSON document" : "JSONドキュメント", + "Microsoft Access database" : "Microsoft Accessデータベース", + "Microsoft OneNote document" : "Microsoft OneNoteドキュメント", + "Microsoft Word document" : "Microsoft Wordドキュメント", "Unknown" : "不明", + "PDF document" : "PDFドキュメント", + "PostScript document" : "PostScriptドキュメント", + "RSS summary" : "RSS概要", + "Android package" : "Androidパッケージ", + "KML geographic data" : "KML地理データ", + "KML geographic compressed data" : "KML地理圧縮データ", + "Lotus Word Pro document" : "Lotus Word Proドキュメント", + "Excel spreadsheet" : "Excelスプレッドシート", + "Excel add-in" : "Excelアドイン", + "Excel 2007 binary spreadsheet" : "Excel 2007バイナリスプレッドシート", + "Excel spreadsheet template" : "Excelスプレッドシートテンプレート", + "Outlook Message" : "Outlookメッセージ", + "PowerPoint presentation" : "PowerPointプレゼンテーション", + "PowerPoint add-in" : "PowerPointアドイン", + "PowerPoint presentation template" : "PowerPointプレゼンテーションテンプレート", + "Word document" : "Wordドキュメント", + "ODF formula" : "ODFフォーミュラ", + "ODG drawing" : "ODG図面", + "ODG drawing (Flat XML)" : "ODG 図面 (フラット XML)", + "ODG template" : "ODGテンプレート", + "ODP presentation" : "ODPプレゼンテーション", + "ODP presentation (Flat XML)" : "ODPプレゼンテーション (フラット XML)", + "ODP template" : "ODPテンプレート", + "ODS spreadsheet" : "ODSスプレッドシート", + "ODS spreadsheet (Flat XML)" : "ODSスプレッドシート (フラット XML)", + "ODS template" : "ODSテンプレート", + "ODT document" : "ODTドキュメント", + "ODT document (Flat XML)" : "ODTドキュメント (フラット XML)", + "ODT template" : "ODTテンプレート", + "PowerPoint 2007 presentation" : "PowerPoint 2007プレゼンテーション", + "PowerPoint 2007 show" : "PowerPoint 2007 表示", + "PowerPoint 2007 presentation template" : "PowerPoint 2007プレゼンテーションテンプレート", + "Excel 2007 spreadsheet" : "Excel 2007スプレッドシート", + "Excel 2007 spreadsheet template" : "Excel 2007スプレッドシートテンプレート", + "Word 2007 document" : "Word 2007ドキュメント", + "Word 2007 document template" : "Word 2007ドキュメントテンプレート", + "Microsoft Visio document" : "Microsoft Visioドキュメント", + "WordPerfect document" : "WordPerfectドキュメント", + "7-zip archive" : "7-zipアーカイブ", + "Blender scene" : "Blenderシーン", + "Bzip2 archive" : "Bzip2アーカイブ", + "Debian package" : "Debianパッケージ", + "FictionBook document" : "FictionBookドキュメント", + "Unknown font" : "不明なフォント", + "Krita document" : "Kritaドキュメント", + "Mobipocket e-book" : "Mobipocket 電子書籍", + "Windows Installer package" : "Windowsインストーラーパッケージ", + "Perl script" : "Perlスクリプト", + "PHP script" : "PHPスクリプト", + "Tar archive" : "Tarアーカイブ", + "XML document" : "XMLドキュメント", + "YAML document" : "YAMLドキュメント", + "Zip archive" : "Zipアーカイブ", + "Zstandard archive" : "Zstandardアーカイブ", + "AAC audio" : "AAC音声", + "FLAC audio" : "FLAC音声", + "MPEG-4 audio" : "MPEG-4音声", + "MP3 audio" : "MP3音声", + "Ogg audio" : "Ogg音声", + "RIFF/WAVe standard Audio" : "RIFF/WAVeスタンダード音声", + "WebM audio" : "WebM音声", + "MP3 ShoutCast playlist" : "MP3 ShoutCastプレイリスト", + "Windows BMP image" : "Windows BMP画像", + "Better Portable Graphics image" : "Better Portable Graphics画像", + "EMF image" : "EMF画像", + "GIF image" : "GIF画像", + "HEIC image" : "HEIC画像", + "HEIF image" : "HEIF画像", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2画像", + "JPEG image" : "JPEG画像", + "PNG image" : "PNG画像", + "SVG image" : "SVG画像", + "Truevision Targa image" : "Truevision Targa画像", + "TIFF image" : "TIFF画像", + "WebP image" : "WebP画像", + "Digital raw image" : "Digital raw画像", + "Windows Icon" : "Windowsアイコン", + "Email message" : "メールメッセージ", + "VCS/ICS calendar" : "VCS/ICSカレンダー", + "CSS stylesheet" : "CSSスタイルシート", + "CSV document" : "CSVドキュメント", + "HTML document" : "HTMLドキュメント", + "Markdown document" : "Markdownドキュメント", + "Org-mode file" : "Org-modeファイル", + "Plain text document" : "プレーンテキストドキュメント", + "Rich Text document" : "リッチテキストドキュメント", + "Electronic business card" : "電子ビジネスカード", + "C++ source code" : "C++ソースコード", + "LDIF address book" : "LDIFアドレス帳", + "NFO document" : "NFOドキュメント", + "PHP source" : "PHPソース", + "Python script" : "Pythonスクリプト", + "ReStructuredText document" : "ReStructuredTextドキュメント", + "3GPP multimedia file" : "3GPPマルチメディアファイル", + "MPEG video" : "MPEGビデオ", + "DV video" : "DVビデオ", + "MPEG-2 transport stream" : "MPEG-2トランスポートストリーム", + "MPEG-4 video" : "MPEG-4ビデオ", + "Ogg video" : "Oggビデオ", + "QuickTime video" : "QuickTimeビデオ", + "WebM video" : "WebMビデオ", + "Flash video" : "Flashビデオ", + "Matroska video" : "Matroskaビデオ", + "Windows Media video" : "Windows Mediaビデオ", + "AVI video" : "AVI ビデオ", "Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました", "For more details see the {linkstart}documentation ↗{linkend}." : "詳細については、{linkstart}ドキュメント↗{linkend}を参照してください。", "unknown text" : "不明なテキスト", diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index 73879f8d07c..97590c13b40 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -80,8 +80,124 @@ OC.L10N.register( "%s (incompatible)" : "%s (incompatível)", "The following apps have been disabled: %s" : "Os seguintes aplicativos foram desativados: %s", "Already up to date" : "Já está atualizado", + "Windows Command Script" : "Script de Comando do Windows", + "Electronic book document" : "Documento de livro eletrônico", + "TrueType Font Collection" : "Coleção de Fontes TrueType", + "Web Open Font Format" : "Formato de Fonte Aberta da Web", + "GPX geographic data" : "Dados geográficos GPX", + "Gzip archive" : "Arquivo gzip", + "Adobe Illustrator document" : "Documento do Adobe Illustrator", + "Java source code" : "Código-fonte Java", + "JavaScript source code" : "Código-fonte JavaScript", + "JSON document" : "Documento JSON", + "Microsoft Access database" : "Banco de dados do Microsoft Access", + "Microsoft OneNote document" : "Documento do Microsoft OneNote", + "Microsoft Word document" : "Documento do Microsoft Word", "Unknown" : "Desconhecida", + "PDF document" : "Documento PDF", + "PostScript document" : "Documento PostScript", + "RSS summary" : "Resumo RSS", + "Android package" : "Pacote para Android", + "KML geographic data" : "Dados geográficos KML", + "KML geographic compressed data" : "Dados comprimidos geográficos KML", + "Lotus Word Pro document" : "Documento do Lotus Word Pro", + "Excel spreadsheet" : "Planilha do Excel", + "Excel add-in" : "Suplemento do Excel", + "Excel 2007 binary spreadsheet" : "Planilha binária do Excel 2007", + "Excel spreadsheet template" : "Modelo de planilha do Excel", + "Outlook Message" : "Mensagem do Outlook", + "PowerPoint presentation" : "Apresentação do PowerPoint", + "PowerPoint add-in" : "Suplemento do PowerPoint", + "PowerPoint presentation template" : "Modelo de apresentação do PowerPoint", + "Word document" : "Documento do Word", + "ODF formula" : "Fórmula ODF", + "ODG drawing" : "Desenho ODG", + "ODG drawing (Flat XML)" : "Desenho ODG (XML plano)", + "ODG template" : "Modelo ODG", + "ODP presentation" : "Apresentação ODP", + "ODP presentation (Flat XML)" : "Apresentação ODP (XML plano)", + "ODP template" : "Modelo ODP", + "ODS spreadsheet" : "Planilha ODS", + "ODS spreadsheet (Flat XML)" : "Planilha ODS (XML plano)", + "ODS template" : "Modelo ODS", + "ODT document" : "Documento ODT", + "ODT document (Flat XML)" : "Documento ODT (XML plano)", + "ODT template" : "Modelo ODT", + "PowerPoint 2007 presentation" : "Apresentação do Powerpoint 2007", + "PowerPoint 2007 show" : "Show do PowerPoint 2007", + "PowerPoint 2007 presentation template" : "Modelo de apresentação do PowerPoint 2007", + "Excel 2007 spreadsheet" : "Planilha do Excel 2007", + "Excel 2007 spreadsheet template" : "Modelo de planilha do Excel 2007", + "Word 2007 document" : "Documento do Word 2007", + "Word 2007 document template" : "Modelo de documento do Word 2007", + "Microsoft Visio document" : "Documento do Microsoft Visio", + "WordPerfect document" : "Documento do WordPerfect", + "7-zip archive" : "Arquivo 7-zip", + "Blender scene" : "Cena do Blender", + "Bzip2 archive" : "Arquivo bzip2", + "Debian package" : "Pacote do Debian", + "FictionBook document" : "Documento do FictionBook", + "Unknown font" : "Fonte desconhecida", + "Krita document" : "Documento do Krita", + "Mobipocket e-book" : "Livro eletrônico Mobipocket", + "Windows Installer package" : "Pacote do Windows Installer", + "Perl script" : "Script Perl", + "PHP script" : "Script PHP", + "Tar archive" : "Arquivo tar", + "XML document" : "Documento XML", + "YAML document" : "Documento YAML", + "Zip archive" : "Arquivo zip", + "Zstandard archive" : "Arquivo zstandard", + "AAC audio" : "Áudio AAC", + "FLAC audio" : "Áudio FLAC", + "MPEG-4 audio" : "Áudio MPEG-4", + "MP3 audio" : "Áudio MP3", + "Ogg audio" : "Áudio ogg", + "RIFF/WAVe standard Audio" : "Áudio padrão RIFF/WAVe", + "WebM audio" : "Áudio WebM", + "MP3 ShoutCast playlist" : "Lista de reprodução do MP3 ShoutCast", + "Windows BMP image" : "Imagem BMP do Windows", + "Better Portable Graphics image" : "Imagem Better Portable Graphics", + "EMF image" : "Imagem EMF", + "GIF image" : "Imagem GIF", + "HEIC image" : "Imagem HEIC", + "HEIF image" : "Imagem HEIF", + "JPEG-2000 JP2 image" : "Imagem JPEG-2000 JP2", + "JPEG image" : "Imagem JPEG", "PNG image" : "Imagem PNG", + "SVG image" : "Imagem SVG", + "Truevision Targa image" : "Imagem Truevision Targa", + "TIFF image" : "Imagem TIFF", + "WebP image" : "Imagem WebP", + "Digital raw image" : "Imagem digital bruta", + "Windows Icon" : "Ícone do Windows", + "Email message" : "Mensagem de e-mail", + "VCS/ICS calendar" : "Calendário VCS/ICS", + "CSS stylesheet" : "Folha de estilo CSS", + "CSV document" : "Documento CSV", + "HTML document" : "Documento HTML", + "Markdown document" : "Documento Markdown", + "Plain text document" : "Documento de texto simples", + "Rich Text document" : "Documento Rich Text", + "Electronic business card" : "Cartão de visita eletrônico", + "C++ source code" : "Código-fonte C++", + "LDIF address book" : "Catálogo de endereços LDIF", + "NFO document" : "Documento NFO", + "PHP source" : "Código-fonte PHP", + "Python script" : "Script Python", + "ReStructuredText document" : "Documento ReStructuredText", + "3GPP multimedia file" : "Arquivo multimídia 3GPP", + "MPEG video" : "Vídeo MPEG", + "DV video" : "Vídeo DV", + "MPEG-2 transport stream" : "Fluxo de transporte MPEG-2", + "MPEG-4 video" : "Vídeo MPEG-4", + "Ogg video" : "Vídeo ogg", + "QuickTime video" : "Vídeo QuickTime", + "WebM video" : "Vídeo WebM", + "Flash video" : "Vídeo Flash", + "Matroska video" : "Vídeo Matroska", + "Windows Media video" : "Vídeo Windows Media", + "AVI video" : "Vídeo AVI", "Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para obter mais detalhes, consulte a {linkstart}documentação ↗{linkend}.", "unknown text" : "texto desconhecido", diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index a8bf2767a55..3b573b0a9d9 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -78,8 +78,124 @@ "%s (incompatible)" : "%s (incompatível)", "The following apps have been disabled: %s" : "Os seguintes aplicativos foram desativados: %s", "Already up to date" : "Já está atualizado", + "Windows Command Script" : "Script de Comando do Windows", + "Electronic book document" : "Documento de livro eletrônico", + "TrueType Font Collection" : "Coleção de Fontes TrueType", + "Web Open Font Format" : "Formato de Fonte Aberta da Web", + "GPX geographic data" : "Dados geográficos GPX", + "Gzip archive" : "Arquivo gzip", + "Adobe Illustrator document" : "Documento do Adobe Illustrator", + "Java source code" : "Código-fonte Java", + "JavaScript source code" : "Código-fonte JavaScript", + "JSON document" : "Documento JSON", + "Microsoft Access database" : "Banco de dados do Microsoft Access", + "Microsoft OneNote document" : "Documento do Microsoft OneNote", + "Microsoft Word document" : "Documento do Microsoft Word", "Unknown" : "Desconhecida", + "PDF document" : "Documento PDF", + "PostScript document" : "Documento PostScript", + "RSS summary" : "Resumo RSS", + "Android package" : "Pacote para Android", + "KML geographic data" : "Dados geográficos KML", + "KML geographic compressed data" : "Dados comprimidos geográficos KML", + "Lotus Word Pro document" : "Documento do Lotus Word Pro", + "Excel spreadsheet" : "Planilha do Excel", + "Excel add-in" : "Suplemento do Excel", + "Excel 2007 binary spreadsheet" : "Planilha binária do Excel 2007", + "Excel spreadsheet template" : "Modelo de planilha do Excel", + "Outlook Message" : "Mensagem do Outlook", + "PowerPoint presentation" : "Apresentação do PowerPoint", + "PowerPoint add-in" : "Suplemento do PowerPoint", + "PowerPoint presentation template" : "Modelo de apresentação do PowerPoint", + "Word document" : "Documento do Word", + "ODF formula" : "Fórmula ODF", + "ODG drawing" : "Desenho ODG", + "ODG drawing (Flat XML)" : "Desenho ODG (XML plano)", + "ODG template" : "Modelo ODG", + "ODP presentation" : "Apresentação ODP", + "ODP presentation (Flat XML)" : "Apresentação ODP (XML plano)", + "ODP template" : "Modelo ODP", + "ODS spreadsheet" : "Planilha ODS", + "ODS spreadsheet (Flat XML)" : "Planilha ODS (XML plano)", + "ODS template" : "Modelo ODS", + "ODT document" : "Documento ODT", + "ODT document (Flat XML)" : "Documento ODT (XML plano)", + "ODT template" : "Modelo ODT", + "PowerPoint 2007 presentation" : "Apresentação do Powerpoint 2007", + "PowerPoint 2007 show" : "Show do PowerPoint 2007", + "PowerPoint 2007 presentation template" : "Modelo de apresentação do PowerPoint 2007", + "Excel 2007 spreadsheet" : "Planilha do Excel 2007", + "Excel 2007 spreadsheet template" : "Modelo de planilha do Excel 2007", + "Word 2007 document" : "Documento do Word 2007", + "Word 2007 document template" : "Modelo de documento do Word 2007", + "Microsoft Visio document" : "Documento do Microsoft Visio", + "WordPerfect document" : "Documento do WordPerfect", + "7-zip archive" : "Arquivo 7-zip", + "Blender scene" : "Cena do Blender", + "Bzip2 archive" : "Arquivo bzip2", + "Debian package" : "Pacote do Debian", + "FictionBook document" : "Documento do FictionBook", + "Unknown font" : "Fonte desconhecida", + "Krita document" : "Documento do Krita", + "Mobipocket e-book" : "Livro eletrônico Mobipocket", + "Windows Installer package" : "Pacote do Windows Installer", + "Perl script" : "Script Perl", + "PHP script" : "Script PHP", + "Tar archive" : "Arquivo tar", + "XML document" : "Documento XML", + "YAML document" : "Documento YAML", + "Zip archive" : "Arquivo zip", + "Zstandard archive" : "Arquivo zstandard", + "AAC audio" : "Áudio AAC", + "FLAC audio" : "Áudio FLAC", + "MPEG-4 audio" : "Áudio MPEG-4", + "MP3 audio" : "Áudio MP3", + "Ogg audio" : "Áudio ogg", + "RIFF/WAVe standard Audio" : "Áudio padrão RIFF/WAVe", + "WebM audio" : "Áudio WebM", + "MP3 ShoutCast playlist" : "Lista de reprodução do MP3 ShoutCast", + "Windows BMP image" : "Imagem BMP do Windows", + "Better Portable Graphics image" : "Imagem Better Portable Graphics", + "EMF image" : "Imagem EMF", + "GIF image" : "Imagem GIF", + "HEIC image" : "Imagem HEIC", + "HEIF image" : "Imagem HEIF", + "JPEG-2000 JP2 image" : "Imagem JPEG-2000 JP2", + "JPEG image" : "Imagem JPEG", "PNG image" : "Imagem PNG", + "SVG image" : "Imagem SVG", + "Truevision Targa image" : "Imagem Truevision Targa", + "TIFF image" : "Imagem TIFF", + "WebP image" : "Imagem WebP", + "Digital raw image" : "Imagem digital bruta", + "Windows Icon" : "Ícone do Windows", + "Email message" : "Mensagem de e-mail", + "VCS/ICS calendar" : "Calendário VCS/ICS", + "CSS stylesheet" : "Folha de estilo CSS", + "CSV document" : "Documento CSV", + "HTML document" : "Documento HTML", + "Markdown document" : "Documento Markdown", + "Plain text document" : "Documento de texto simples", + "Rich Text document" : "Documento Rich Text", + "Electronic business card" : "Cartão de visita eletrônico", + "C++ source code" : "Código-fonte C++", + "LDIF address book" : "Catálogo de endereços LDIF", + "NFO document" : "Documento NFO", + "PHP source" : "Código-fonte PHP", + "Python script" : "Script Python", + "ReStructuredText document" : "Documento ReStructuredText", + "3GPP multimedia file" : "Arquivo multimídia 3GPP", + "MPEG video" : "Vídeo MPEG", + "DV video" : "Vídeo DV", + "MPEG-2 transport stream" : "Fluxo de transporte MPEG-2", + "MPEG-4 video" : "Vídeo MPEG-4", + "Ogg video" : "Vídeo ogg", + "QuickTime video" : "Vídeo QuickTime", + "WebM video" : "Vídeo WebM", + "Flash video" : "Vídeo Flash", + "Matroska video" : "Vídeo Matroska", + "Windows Media video" : "Vídeo Windows Media", + "AVI video" : "Vídeo AVI", "Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor", "For more details see the {linkstart}documentation ↗{linkend}." : "Para obter mais detalhes, consulte a {linkstart}documentação ↗{linkend}.", "unknown text" : "texto desconhecido", diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js index 16ce12acafd..9755d0fe1ae 100644 --- a/core/l10n/zh_CN.js +++ b/core/l10n/zh_CN.js @@ -17,7 +17,7 @@ OC.L10N.register( "No image or file provided" : "没有提供图片或文件", "Unknown filetype" : "未知的文件类型", "An error occurred. Please contact your admin." : "发生了错误,请联系管理员。", - "Invalid image" : "无效的图像", + "Invalid image" : "无效的图片", "No temporary profile picture available, try again" : "没有临时个人页图片可用,请重试", "No crop data provided" : "没有提供剪裁数据", "No valid crop data provided" : "没有提供有效的裁剪数据", @@ -47,8 +47,8 @@ OC.L10N.register( "Bad request" : "请求错误", "Requested task type does not exist" : "请求的任务类型不存在", "Necessary language model provider is not available" : "无必要的语言模型提供程序", - "No text to image provider is available" : "没有可用的文字转图像提供者", - "Image not found" : "未找到图像", + "No text to image provider is available" : "没有可用的文字转图片提供者", + "Image not found" : "未找到图片", "No translation provider available" : "没有可用的翻译提供程序", "Could not detect language" : "无法检测语言", "Unable to translate" : "无法翻译", @@ -80,8 +80,125 @@ OC.L10N.register( "%s (incompatible)" : "%s (不兼容)", "The following apps have been disabled: %s" : "以下应用已被禁用:%s", "Already up to date" : "已经是最新版本", + "Windows Command Script" : "Windows 命令脚本", + "Electronic book document" : "电子书文档", + "TrueType Font Collection" : "TrueType 字体集", + "Web Open Font Format" : "Web 开放字体格式", + "GPX geographic data" : "GPX 地理数据", + "Gzip archive" : "Gzip 归档文件", + "Adobe Illustrator document" : "Adobe Illustrator 文档", + "Java source code" : "Java 源代码", + "JavaScript source code" : "JavaScript 源代码", + "JSON document" : "JSON 文档", + "Microsoft Access database" : "Microsoft Access 数据库", + "Microsoft OneNote document" : "Microsoft OneNote 文档", + "Microsoft Word document" : "Microsoft Word 文档", "Unknown" : "未知", + "PDF document" : "PDF 文档", + "PostScript document" : "PostScript 文档", + "RSS summary" : "RSS 摘要", + "Android package" : "Android 软件包", + "KML geographic data" : "KML 地理数据", + "KML geographic compressed data" : "KML 地理压缩数据", + "Lotus Word Pro document" : "Lotus Word Pro document文档", + "Excel spreadsheet" : "Excel 电子表格", + "Excel add-in" : "Excel 插件", + "Excel 2007 binary spreadsheet" : "Excel 2007 二进制电子表格", + "Excel spreadsheet template" : "Excel 电子表格模板", + "Outlook Message" : "Outlook 邮件", + "PowerPoint presentation" : "PowerPoint 演示文稿", + "PowerPoint add-in" : "PowerPoint 插件", + "PowerPoint presentation template" : "PowerPoint 演示文稿模板", + "Word document" : "Word 文档", + "ODF formula" : "ODF 公式", + "ODG drawing" : "ODG 绘图", + "ODG drawing (Flat XML)" : "ODG 绘图(Flat XML)", + "ODG template" : "ODG 模板", + "ODP presentation" : "ODP 演示文稿", + "ODP presentation (Flat XML)" : "ODP 演示文稿(Flat XML)", + "ODP template" : "ODP 模板", + "ODS spreadsheet" : "ODS 电子表格", + "ODS spreadsheet (Flat XML)" : "ODS 电子表格(Flat XML)", + "ODS template" : "ODS 模板", + "ODT document" : "ODT 文档", + "ODT document (Flat XML)" : "ODT 文档(Flat XML)", + "ODT template" : "ODT 模板", + "PowerPoint 2007 presentation" : "PowerPoint 2007 演示文稿", + "PowerPoint 2007 show" : "PowerPoint 2007 放映", + "PowerPoint 2007 presentation template" : "PowerPoint 2007 演示文稿模板", + "Excel 2007 spreadsheet" : "Excel 2007 电子表格", + "Excel 2007 spreadsheet template" : "Excel 2007 电子表格模板", + "Word 2007 document" : "Word 2007 文档", + "Word 2007 document template" : "Word 2007 文档模板", + "Microsoft Visio document" : "Microsoft Visio 文档", + "WordPerfect document" : "WordPerfect 文档", + "7-zip archive" : "7-zip 归档文件", + "Blender scene" : "Blender 场景", + "Bzip2 archive" : "Bzip2 归档文件", + "Debian package" : "Debian 软件包", + "FictionBook document" : "FictionBook 文档", + "Unknown font" : "未知字体", + "Krita document" : "Krita 文档", + "Mobipocket e-book" : "Mobipocket 电子书", + "Windows Installer package" : "Windows Installer 安装包", + "Perl script" : "Perl 脚本", + "PHP script" : "PHP 脚本", + "Tar archive" : "Tar 归档文件", + "XML document" : "XML 文档", + "YAML document" : "YAML 文档", + "Zip archive" : "Zip 归档文件", + "Zstandard archive" : "Zstandard 归档文件", + "AAC audio" : "AAC 音频", + "FLAC audio" : "FLAC 音频", + "MPEG-4 audio" : "MPEG-4 音频", + "MP3 audio" : "MP3 音频", + "Ogg audio" : "Ogg 音频", + "RIFF/WAVe standard Audio" : "RIFF/WAVe 标准音频", + "WebM audio" : "WebM 音频", + "MP3 ShoutCast playlist" : "MP3 ShoutCast 播放列表", + "Windows BMP image" : "Windows BMP 图片", + "Better Portable Graphics image" : "Better Portable Graphics 图片", + "EMF image" : "EMF 图片", + "GIF image" : "GIF 图片", + "HEIC image" : "HEIC 图片", + "HEIF image" : "HEIF 图片", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2 图片", + "JPEG image" : "JPEG 图片", "PNG image" : "PNG 图片", + "SVG image" : "SVG 图片", + "Truevision Targa image" : "Truevision Targa 图片", + "TIFF image" : "TIFF 图片", + "WebP image" : "WebP 图片", + "Digital raw image" : "数字原始图像", + "Windows Icon" : "Windows 图标", + "Email message" : "电子邮件消息", + "VCS/ICS calendar" : "VCS/ICS 日历", + "CSS stylesheet" : "CSS 样式表", + "CSV document" : "CSV 文档", + "HTML document" : "HTML 文档", + "Markdown document" : "Markdown 文档", + "Org-mode file" : "Org-mode 文件", + "Plain text document" : "纯文本文档", + "Rich Text document" : "富文本文档", + "Electronic business card" : "电子名片", + "C++ source code" : "C++ 源代码", + "LDIF address book" : "LDIF 通讯录", + "NFO document" : "NFO 文档", + "PHP source" : "PHP 源代码", + "Python script" : "Python 脚本", + "ReStructuredText document" : "ReStructuredText 文档", + "3GPP multimedia file" : "3GPP 多媒体文件", + "MPEG video" : "MPEG 视频", + "DV video" : "DV 视频", + "MPEG-2 transport stream" : "MPEG-2 传输流", + "MPEG-4 video" : "MPEG-4 视频", + "Ogg video" : "Ogg 视频", + "QuickTime video" : "QuickTime 视频", + "WebM video" : "WebM 视频", + "Flash video" : "Flash 视频", + "Matroska video" : "Matroska 视频", + "Windows Media video" : "Windows 媒体视频", + "AVI video" : "AVI 视频", "Error occurred while checking server setup" : "检查服务器设置时出错", "For more details see the {linkstart}documentation ↗{linkend}." : "了解更多详情,请参见{linkstart}文档 ↗{linkend}。", "unknown text" : "未知文字", diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json index aba6c5c4c4a..6a2df414bae 100644 --- a/core/l10n/zh_CN.json +++ b/core/l10n/zh_CN.json @@ -15,7 +15,7 @@ "No image or file provided" : "没有提供图片或文件", "Unknown filetype" : "未知的文件类型", "An error occurred. Please contact your admin." : "发生了错误,请联系管理员。", - "Invalid image" : "无效的图像", + "Invalid image" : "无效的图片", "No temporary profile picture available, try again" : "没有临时个人页图片可用,请重试", "No crop data provided" : "没有提供剪裁数据", "No valid crop data provided" : "没有提供有效的裁剪数据", @@ -45,8 +45,8 @@ "Bad request" : "请求错误", "Requested task type does not exist" : "请求的任务类型不存在", "Necessary language model provider is not available" : "无必要的语言模型提供程序", - "No text to image provider is available" : "没有可用的文字转图像提供者", - "Image not found" : "未找到图像", + "No text to image provider is available" : "没有可用的文字转图片提供者", + "Image not found" : "未找到图片", "No translation provider available" : "没有可用的翻译提供程序", "Could not detect language" : "无法检测语言", "Unable to translate" : "无法翻译", @@ -78,8 +78,125 @@ "%s (incompatible)" : "%s (不兼容)", "The following apps have been disabled: %s" : "以下应用已被禁用:%s", "Already up to date" : "已经是最新版本", + "Windows Command Script" : "Windows 命令脚本", + "Electronic book document" : "电子书文档", + "TrueType Font Collection" : "TrueType 字体集", + "Web Open Font Format" : "Web 开放字体格式", + "GPX geographic data" : "GPX 地理数据", + "Gzip archive" : "Gzip 归档文件", + "Adobe Illustrator document" : "Adobe Illustrator 文档", + "Java source code" : "Java 源代码", + "JavaScript source code" : "JavaScript 源代码", + "JSON document" : "JSON 文档", + "Microsoft Access database" : "Microsoft Access 数据库", + "Microsoft OneNote document" : "Microsoft OneNote 文档", + "Microsoft Word document" : "Microsoft Word 文档", "Unknown" : "未知", + "PDF document" : "PDF 文档", + "PostScript document" : "PostScript 文档", + "RSS summary" : "RSS 摘要", + "Android package" : "Android 软件包", + "KML geographic data" : "KML 地理数据", + "KML geographic compressed data" : "KML 地理压缩数据", + "Lotus Word Pro document" : "Lotus Word Pro document文档", + "Excel spreadsheet" : "Excel 电子表格", + "Excel add-in" : "Excel 插件", + "Excel 2007 binary spreadsheet" : "Excel 2007 二进制电子表格", + "Excel spreadsheet template" : "Excel 电子表格模板", + "Outlook Message" : "Outlook 邮件", + "PowerPoint presentation" : "PowerPoint 演示文稿", + "PowerPoint add-in" : "PowerPoint 插件", + "PowerPoint presentation template" : "PowerPoint 演示文稿模板", + "Word document" : "Word 文档", + "ODF formula" : "ODF 公式", + "ODG drawing" : "ODG 绘图", + "ODG drawing (Flat XML)" : "ODG 绘图(Flat XML)", + "ODG template" : "ODG 模板", + "ODP presentation" : "ODP 演示文稿", + "ODP presentation (Flat XML)" : "ODP 演示文稿(Flat XML)", + "ODP template" : "ODP 模板", + "ODS spreadsheet" : "ODS 电子表格", + "ODS spreadsheet (Flat XML)" : "ODS 电子表格(Flat XML)", + "ODS template" : "ODS 模板", + "ODT document" : "ODT 文档", + "ODT document (Flat XML)" : "ODT 文档(Flat XML)", + "ODT template" : "ODT 模板", + "PowerPoint 2007 presentation" : "PowerPoint 2007 演示文稿", + "PowerPoint 2007 show" : "PowerPoint 2007 放映", + "PowerPoint 2007 presentation template" : "PowerPoint 2007 演示文稿模板", + "Excel 2007 spreadsheet" : "Excel 2007 电子表格", + "Excel 2007 spreadsheet template" : "Excel 2007 电子表格模板", + "Word 2007 document" : "Word 2007 文档", + "Word 2007 document template" : "Word 2007 文档模板", + "Microsoft Visio document" : "Microsoft Visio 文档", + "WordPerfect document" : "WordPerfect 文档", + "7-zip archive" : "7-zip 归档文件", + "Blender scene" : "Blender 场景", + "Bzip2 archive" : "Bzip2 归档文件", + "Debian package" : "Debian 软件包", + "FictionBook document" : "FictionBook 文档", + "Unknown font" : "未知字体", + "Krita document" : "Krita 文档", + "Mobipocket e-book" : "Mobipocket 电子书", + "Windows Installer package" : "Windows Installer 安装包", + "Perl script" : "Perl 脚本", + "PHP script" : "PHP 脚本", + "Tar archive" : "Tar 归档文件", + "XML document" : "XML 文档", + "YAML document" : "YAML 文档", + "Zip archive" : "Zip 归档文件", + "Zstandard archive" : "Zstandard 归档文件", + "AAC audio" : "AAC 音频", + "FLAC audio" : "FLAC 音频", + "MPEG-4 audio" : "MPEG-4 音频", + "MP3 audio" : "MP3 音频", + "Ogg audio" : "Ogg 音频", + "RIFF/WAVe standard Audio" : "RIFF/WAVe 标准音频", + "WebM audio" : "WebM 音频", + "MP3 ShoutCast playlist" : "MP3 ShoutCast 播放列表", + "Windows BMP image" : "Windows BMP 图片", + "Better Portable Graphics image" : "Better Portable Graphics 图片", + "EMF image" : "EMF 图片", + "GIF image" : "GIF 图片", + "HEIC image" : "HEIC 图片", + "HEIF image" : "HEIF 图片", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2 图片", + "JPEG image" : "JPEG 图片", "PNG image" : "PNG 图片", + "SVG image" : "SVG 图片", + "Truevision Targa image" : "Truevision Targa 图片", + "TIFF image" : "TIFF 图片", + "WebP image" : "WebP 图片", + "Digital raw image" : "数字原始图像", + "Windows Icon" : "Windows 图标", + "Email message" : "电子邮件消息", + "VCS/ICS calendar" : "VCS/ICS 日历", + "CSS stylesheet" : "CSS 样式表", + "CSV document" : "CSV 文档", + "HTML document" : "HTML 文档", + "Markdown document" : "Markdown 文档", + "Org-mode file" : "Org-mode 文件", + "Plain text document" : "纯文本文档", + "Rich Text document" : "富文本文档", + "Electronic business card" : "电子名片", + "C++ source code" : "C++ 源代码", + "LDIF address book" : "LDIF 通讯录", + "NFO document" : "NFO 文档", + "PHP source" : "PHP 源代码", + "Python script" : "Python 脚本", + "ReStructuredText document" : "ReStructuredText 文档", + "3GPP multimedia file" : "3GPP 多媒体文件", + "MPEG video" : "MPEG 视频", + "DV video" : "DV 视频", + "MPEG-2 transport stream" : "MPEG-2 传输流", + "MPEG-4 video" : "MPEG-4 视频", + "Ogg video" : "Ogg 视频", + "QuickTime video" : "QuickTime 视频", + "WebM video" : "WebM 视频", + "Flash video" : "Flash 视频", + "Matroska video" : "Matroska 视频", + "Windows Media video" : "Windows 媒体视频", + "AVI video" : "AVI 视频", "Error occurred while checking server setup" : "检查服务器设置时出错", "For more details see the {linkstart}documentation ↗{linkend}." : "了解更多详情,请参见{linkstart}文档 ↗{linkend}。", "unknown text" : "未知文字", diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js index ebdf0f011f0..ae5eb155760 100644 --- a/core/l10n/zh_TW.js +++ b/core/l10n/zh_TW.js @@ -80,8 +80,125 @@ OC.L10N.register( "%s (incompatible)" : "%s(不相容)", "The following apps have been disabled: %s" : "以下應用程式已被停用:%s", "Already up to date" : "已是最新版本", + "Windows Command Script" : "Windows 命令稿", + "Electronic book document" : "電子書文件", + "TrueType Font Collection" : "TrueType 字型集合", + "Web Open Font Format" : "Web 開放字型格式", + "GPX geographic data" : "GPX 地理資料", + "Gzip archive" : "Gzip 封存檔", + "Adobe Illustrator document" : "Adobe Illustrator 文件", + "Java source code" : "Java 原始碼", + "JavaScript source code" : "JavaScript 原始碼", + "JSON document" : "JSON 文件", + "Microsoft Access database" : "Microsoft Access 資料庫", + "Microsoft OneNote document" : "Microsoft OneNote 文件", + "Microsoft Word document" : "Microsoft Word 文件", "Unknown" : "未知", + "PDF document" : "PDF 文件", + "PostScript document" : "PostScript 文件", + "RSS summary" : "RSS 摘要", + "Android package" : "Android 軟體包", + "KML geographic data" : "KML 地理資料", + "KML geographic compressed data" : "KML 地理壓縮資料", + "Lotus Word Pro document" : "Lotus Word Pro 文件", + "Excel spreadsheet" : "Excel 試算表", + "Excel add-in" : "Excel 增益集", + "Excel 2007 binary spreadsheet" : "Excel 2007 二進位試算表", + "Excel spreadsheet template" : "Excel 試算表範本", + "Outlook Message" : "Outlook 訊息", + "PowerPoint presentation" : "PowerPoint 簡報", + "PowerPoint add-in" : "PowerPoint 增益集", + "PowerPoint presentation template" : "PowerPoint 簡報範本", + "Word document" : "Word 文件", + "ODF formula" : "ODF 公式", + "ODG drawing" : "ODG 繪圖", + "ODG drawing (Flat XML)" : "ODG 繪圖 (Flat XML)", + "ODG template" : "ODG 範本", + "ODP presentation" : "ODP 簡報", + "ODP presentation (Flat XML)" : "ODP 簡報 (Flat XML)", + "ODP template" : "ODP 範本", + "ODS spreadsheet" : "ODS 試算表", + "ODS spreadsheet (Flat XML)" : "ODS 試算表 (Flat XML)", + "ODS template" : "ODS 範本", + "ODT document" : "ODT 文件", + "ODT document (Flat XML)" : "ODT 文件 (Flat XML)", + "ODT template" : "ODT 範本", + "PowerPoint 2007 presentation" : "PowerPoint 2007 簡報", + "PowerPoint 2007 show" : "PowerPoint 2007 自動放映", + "PowerPoint 2007 presentation template" : "PowerPoint 2007 簡報範本", + "Excel 2007 spreadsheet" : "Excel 2007 試算表", + "Excel 2007 spreadsheet template" : "Excel 2007 試算表範本", + "Word 2007 document" : "Word 2007 文件", + "Word 2007 document template" : "Word 2007 文件範本", + "Microsoft Visio document" : "Microsoft Visio 文件", + "WordPerfect document" : "WordPerfect 文件", + "7-zip archive" : "7-zip 封存檔", + "Blender scene" : "Blender 場景", + "Bzip2 archive" : "Bzip2 封存檔", + "Debian package" : "Debian 軟體包", + "FictionBook document" : "FictionBook 文件", + "Unknown font" : "未知字型", + "Krita document" : "Krita 文件", + "Mobipocket e-book" : "Mobipocket 電子書", + "Windows Installer package" : "Windows 安裝程式包", + "Perl script" : "Perl 命令稿", + "PHP script" : "PHP 命令稿", + "Tar archive" : "Tar 封存檔", + "XML document" : "XML 文件", + "YAML document" : "YAML 文件", + "Zip archive" : "Zip 封存檔", + "Zstandard archive" : "Zstandard 封存檔", + "AAC audio" : "AAC 音訊", + "FLAC audio" : "FLAC 音訊", + "MPEG-4 audio" : "MPEG-4 音訊", + "MP3 audio" : "MP3 音訊", + "Ogg audio" : "Ogg 音訊", + "RIFF/WAVe standard Audio" : "RIFF/WAVe 標準音訊", + "WebM audio" : "WebM 音訊", + "MP3 ShoutCast playlist" : "MP3 ShoutCast 播放清單", + "Windows BMP image" : "Windows BMP 影像", + "Better Portable Graphics image" : "BPG 影像", + "EMF image" : "EMF 影像", + "GIF image" : "GIF 影像", + "HEIC image" : "HEIC 影像", + "HEIF image" : "HEIF 影像", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2 影像", + "JPEG image" : "JPEG 影像", "PNG image" : "PNG 圖檔", + "SVG image" : "SVG 影像", + "Truevision Targa image" : "Truevision Targa 影像", + "TIFF image" : "TIFF 影像", + "WebP image" : "WebP 影像", + "Digital raw image" : "數位原始影像", + "Windows Icon" : "Windows 圖示", + "Email message" : "電子郵件訊息", + "VCS/ICS calendar" : "VCS/ICS 行事曆", + "CSS stylesheet" : "CSS 樣式表", + "CSV document" : "CSV 文件", + "HTML document" : "HTML 文件", + "Markdown document" : "Markdown 文件", + "Org-mode file" : "Org-mode 檔案", + "Plain text document" : "純文字文件", + "Rich Text document" : "RTF 文件", + "Electronic business card" : "電子名片", + "C++ source code" : "C++ 原始碼", + "LDIF address book" : "LDIF 通訊錄", + "NFO document" : "NFO 文件", + "PHP source" : "PHP 原始碼", + "Python script" : "Python 命令稿", + "ReStructuredText document" : "ReStructuredText 文件", + "3GPP multimedia file" : "3GPP 多媒體檔案", + "MPEG video" : "MPEG 視訊", + "DV video" : "DV 視訊", + "MPEG-2 transport stream" : "MPEG2 傳輸串流", + "MPEG-4 video" : "MPEG-4 視訊", + "Ogg video" : "Ogg 視訊", + "QuickTime video" : "QuickTime 視訊", + "WebM video" : "WebM 視訊", + "Flash video" : "Flash 視訊", + "Matroska video" : "Matroska 視訊", + "Windows Media video" : "Windows 媒體視訊", + "AVI video" : "AVI 視訊", "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤", "For more details see the {linkstart}documentation ↗{linkend}." : "詳細資訊請參閱 {linkstart} 文件 ↗{linkend}。", "unknown text" : "未知的文字", diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json index 269980d9d82..186b88ad878 100644 --- a/core/l10n/zh_TW.json +++ b/core/l10n/zh_TW.json @@ -78,8 +78,125 @@ "%s (incompatible)" : "%s(不相容)", "The following apps have been disabled: %s" : "以下應用程式已被停用:%s", "Already up to date" : "已是最新版本", + "Windows Command Script" : "Windows 命令稿", + "Electronic book document" : "電子書文件", + "TrueType Font Collection" : "TrueType 字型集合", + "Web Open Font Format" : "Web 開放字型格式", + "GPX geographic data" : "GPX 地理資料", + "Gzip archive" : "Gzip 封存檔", + "Adobe Illustrator document" : "Adobe Illustrator 文件", + "Java source code" : "Java 原始碼", + "JavaScript source code" : "JavaScript 原始碼", + "JSON document" : "JSON 文件", + "Microsoft Access database" : "Microsoft Access 資料庫", + "Microsoft OneNote document" : "Microsoft OneNote 文件", + "Microsoft Word document" : "Microsoft Word 文件", "Unknown" : "未知", + "PDF document" : "PDF 文件", + "PostScript document" : "PostScript 文件", + "RSS summary" : "RSS 摘要", + "Android package" : "Android 軟體包", + "KML geographic data" : "KML 地理資料", + "KML geographic compressed data" : "KML 地理壓縮資料", + "Lotus Word Pro document" : "Lotus Word Pro 文件", + "Excel spreadsheet" : "Excel 試算表", + "Excel add-in" : "Excel 增益集", + "Excel 2007 binary spreadsheet" : "Excel 2007 二進位試算表", + "Excel spreadsheet template" : "Excel 試算表範本", + "Outlook Message" : "Outlook 訊息", + "PowerPoint presentation" : "PowerPoint 簡報", + "PowerPoint add-in" : "PowerPoint 增益集", + "PowerPoint presentation template" : "PowerPoint 簡報範本", + "Word document" : "Word 文件", + "ODF formula" : "ODF 公式", + "ODG drawing" : "ODG 繪圖", + "ODG drawing (Flat XML)" : "ODG 繪圖 (Flat XML)", + "ODG template" : "ODG 範本", + "ODP presentation" : "ODP 簡報", + "ODP presentation (Flat XML)" : "ODP 簡報 (Flat XML)", + "ODP template" : "ODP 範本", + "ODS spreadsheet" : "ODS 試算表", + "ODS spreadsheet (Flat XML)" : "ODS 試算表 (Flat XML)", + "ODS template" : "ODS 範本", + "ODT document" : "ODT 文件", + "ODT document (Flat XML)" : "ODT 文件 (Flat XML)", + "ODT template" : "ODT 範本", + "PowerPoint 2007 presentation" : "PowerPoint 2007 簡報", + "PowerPoint 2007 show" : "PowerPoint 2007 自動放映", + "PowerPoint 2007 presentation template" : "PowerPoint 2007 簡報範本", + "Excel 2007 spreadsheet" : "Excel 2007 試算表", + "Excel 2007 spreadsheet template" : "Excel 2007 試算表範本", + "Word 2007 document" : "Word 2007 文件", + "Word 2007 document template" : "Word 2007 文件範本", + "Microsoft Visio document" : "Microsoft Visio 文件", + "WordPerfect document" : "WordPerfect 文件", + "7-zip archive" : "7-zip 封存檔", + "Blender scene" : "Blender 場景", + "Bzip2 archive" : "Bzip2 封存檔", + "Debian package" : "Debian 軟體包", + "FictionBook document" : "FictionBook 文件", + "Unknown font" : "未知字型", + "Krita document" : "Krita 文件", + "Mobipocket e-book" : "Mobipocket 電子書", + "Windows Installer package" : "Windows 安裝程式包", + "Perl script" : "Perl 命令稿", + "PHP script" : "PHP 命令稿", + "Tar archive" : "Tar 封存檔", + "XML document" : "XML 文件", + "YAML document" : "YAML 文件", + "Zip archive" : "Zip 封存檔", + "Zstandard archive" : "Zstandard 封存檔", + "AAC audio" : "AAC 音訊", + "FLAC audio" : "FLAC 音訊", + "MPEG-4 audio" : "MPEG-4 音訊", + "MP3 audio" : "MP3 音訊", + "Ogg audio" : "Ogg 音訊", + "RIFF/WAVe standard Audio" : "RIFF/WAVe 標準音訊", + "WebM audio" : "WebM 音訊", + "MP3 ShoutCast playlist" : "MP3 ShoutCast 播放清單", + "Windows BMP image" : "Windows BMP 影像", + "Better Portable Graphics image" : "BPG 影像", + "EMF image" : "EMF 影像", + "GIF image" : "GIF 影像", + "HEIC image" : "HEIC 影像", + "HEIF image" : "HEIF 影像", + "JPEG-2000 JP2 image" : "JPEG-2000 JP2 影像", + "JPEG image" : "JPEG 影像", "PNG image" : "PNG 圖檔", + "SVG image" : "SVG 影像", + "Truevision Targa image" : "Truevision Targa 影像", + "TIFF image" : "TIFF 影像", + "WebP image" : "WebP 影像", + "Digital raw image" : "數位原始影像", + "Windows Icon" : "Windows 圖示", + "Email message" : "電子郵件訊息", + "VCS/ICS calendar" : "VCS/ICS 行事曆", + "CSS stylesheet" : "CSS 樣式表", + "CSV document" : "CSV 文件", + "HTML document" : "HTML 文件", + "Markdown document" : "Markdown 文件", + "Org-mode file" : "Org-mode 檔案", + "Plain text document" : "純文字文件", + "Rich Text document" : "RTF 文件", + "Electronic business card" : "電子名片", + "C++ source code" : "C++ 原始碼", + "LDIF address book" : "LDIF 通訊錄", + "NFO document" : "NFO 文件", + "PHP source" : "PHP 原始碼", + "Python script" : "Python 命令稿", + "ReStructuredText document" : "ReStructuredText 文件", + "3GPP multimedia file" : "3GPP 多媒體檔案", + "MPEG video" : "MPEG 視訊", + "DV video" : "DV 視訊", + "MPEG-2 transport stream" : "MPEG2 傳輸串流", + "MPEG-4 video" : "MPEG-4 視訊", + "Ogg video" : "Ogg 視訊", + "QuickTime video" : "QuickTime 視訊", + "WebM video" : "WebM 視訊", + "Flash video" : "Flash 視訊", + "Matroska video" : "Matroska 視訊", + "Windows Media video" : "Windows 媒體視訊", + "AVI video" : "AVI 視訊", "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤", "For more details see the {linkstart}documentation ↗{linkend}." : "詳細資訊請參閱 {linkstart} 文件 ↗{linkend}。", "unknown text" : "未知的文字", diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js index 820aec1a2ba..06aad919ff3 100644 --- a/lib/l10n/ja.js +++ b/lib/l10n/ja.js @@ -93,6 +93,8 @@ OC.L10N.register( "Destination does not exist" : "宛先が存在しません", "Destination is not creatable" : "宛先は作成できません", "Dot files are not allowed" : "隠しファイルは許可されていません", + "%1$s (renamed)" : "%1$s (リネーム済み)", + "renamed file" : "リネーム済みファイル", "\"%1$s\" is a forbidden file or folder name." : "\"%1$s\"は禁止されているファイル名またはフォルダー名です。", "\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\"は、ファイル名やフォルダー名には使用できない接頭辞です。", "\"%1$s\" is not allowed inside a file or folder name." : "\"%1$s\"はファイル名やフォルダー名の中に入れることはできません。", diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json index 04f6e2ee13d..f0328f6d484 100644 --- a/lib/l10n/ja.json +++ b/lib/l10n/ja.json @@ -91,6 +91,8 @@ "Destination does not exist" : "宛先が存在しません", "Destination is not creatable" : "宛先は作成できません", "Dot files are not allowed" : "隠しファイルは許可されていません", + "%1$s (renamed)" : "%1$s (リネーム済み)", + "renamed file" : "リネーム済みファイル", "\"%1$s\" is a forbidden file or folder name." : "\"%1$s\"は禁止されているファイル名またはフォルダー名です。", "\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\"は、ファイル名やフォルダー名には使用できない接頭辞です。", "\"%1$s\" is not allowed inside a file or folder name." : "\"%1$s\"はファイル名やフォルダー名の中に入れることはできません。", diff --git a/lib/private/Files/Storage/Common.php b/lib/private/Files/Storage/Common.php index ca0e38774c8..b1e02cf2e6c 100644 --- a/lib/private/Files/Storage/Common.php +++ b/lib/private/Files/Storage/Common.php @@ -19,6 +19,7 @@ use OC\Files\ObjectStore\ObjectStoreStorage; use OC\Files\Storage\Wrapper\Encryption; use OC\Files\Storage\Wrapper\Jail; use OC\Files\Storage\Wrapper\Wrapper; +use OCP\Files; use OCP\Files\Cache\ICache; use OCP\Files\Cache\IPropagator; use OCP\Files\Cache\IScanner; @@ -205,7 +206,7 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage, } else { $sourceStream = $this->fopen($source, 'r'); $targetStream = $this->fopen($target, 'w'); - [, $result] = \OC_Helper::streamCopy($sourceStream, $targetStream); + [, $result] = Files::streamCopy($sourceStream, $targetStream, true); if (!$result) { Server::get(LoggerInterface::class)->warning("Failed to write data while copying $source to $target"); } @@ -734,7 +735,7 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage, throw new GenericFileException("Failed to open $path for writing"); } try { - [$count, $result] = \OC_Helper::streamCopy($stream, $target); + [$count, $result] = Files::streamCopy($stream, $target, true); if (!$result) { throw new GenericFileException('Failed to copy stream'); } diff --git a/lib/private/Files/Storage/LocalTempFileTrait.php b/lib/private/Files/Storage/LocalTempFileTrait.php index c8e3588f2e8..fffc3e789f3 100644 --- a/lib/private/Files/Storage/LocalTempFileTrait.php +++ b/lib/private/Files/Storage/LocalTempFileTrait.php @@ -7,6 +7,8 @@ */ namespace OC\Files\Storage; +use OCP\Files; + /** * Storage backend class for providing common filesystem operation methods * which are not storage-backend specific. @@ -45,7 +47,7 @@ trait LocalTempFileTrait { } $tmpFile = \OC::$server->getTempManager()->getTemporaryFile($extension); $target = fopen($tmpFile, 'w'); - \OC_Helper::streamCopy($source, $target); + Files::streamCopy($source, $target); fclose($target); return $tmpFile; } diff --git a/lib/private/Files/Storage/Wrapper/Encryption.php b/lib/private/Files/Storage/Wrapper/Encryption.php index f4ab4754cff..4d38d2d37aa 100644 --- a/lib/private/Files/Storage/Wrapper/Encryption.php +++ b/lib/private/Files/Storage/Wrapper/Encryption.php @@ -21,6 +21,7 @@ use OCP\Encryption\Exceptions\InvalidHeaderException; use OCP\Encryption\IFile; use OCP\Encryption\IManager; use OCP\Encryption\Keys\IStorage; +use OCP\Files; use OCP\Files\Cache\ICacheEntry; use OCP\Files\Mount\IMountPoint; use OCP\Files\Storage; @@ -684,7 +685,7 @@ class Encryption extends Wrapper { try { $source = $sourceStorage->fopen($sourceInternalPath, 'r'); $target = $this->fopen($targetInternalPath, 'w'); - [, $result] = \OC_Helper::streamCopy($source, $target); + [, $result] = Files::streamCopy($source, $target, true); } finally { if (is_resource($source)) { fclose($source); @@ -893,7 +894,7 @@ class Encryption extends Wrapper { public function writeStream(string $path, $stream, ?int $size = null): int { // always fall back to fopen $target = $this->fopen($path, 'w'); - [$count, $result] = \OC_Helper::streamCopy($stream, $target); + [$count, $result] = Files::streamCopy($stream, $target, true); fclose($stream); fclose($target); diff --git a/lib/private/Files/Storage/Wrapper/Jail.php b/lib/private/Files/Storage/Wrapper/Jail.php index c8db0e94e59..38b113cef88 100644 --- a/lib/private/Files/Storage/Wrapper/Jail.php +++ b/lib/private/Files/Storage/Wrapper/Jail.php @@ -11,6 +11,7 @@ use OC\Files\Cache\Wrapper\CacheJail; use OC\Files\Cache\Wrapper\JailPropagator; use OC\Files\Cache\Wrapper\JailWatcher; use OC\Files\Filesystem; +use OCP\Files; use OCP\Files\Cache\ICache; use OCP\Files\Cache\IPropagator; use OCP\Files\Cache\IWatcher; @@ -253,7 +254,7 @@ class Jail extends Wrapper { return $storage->writeStream($this->getUnjailedPath($path), $stream, $size); } else { $target = $this->fopen($path, 'w'); - [$count, $result] = \OC_Helper::streamCopy($stream, $target); + $count = Files::streamCopy($stream, $target); fclose($stream); fclose($target); return $count; diff --git a/lib/private/Files/Storage/Wrapper/Wrapper.php b/lib/private/Files/Storage/Wrapper/Wrapper.php index 6dea439fe25..7af11dd5ef7 100644 --- a/lib/private/Files/Storage/Wrapper/Wrapper.php +++ b/lib/private/Files/Storage/Wrapper/Wrapper.php @@ -9,6 +9,7 @@ namespace OC\Files\Storage\Wrapper; use OC\Files\Storage\FailedStorage; use OC\Files\Storage\Storage; +use OCP\Files; use OCP\Files\Cache\ICache; use OCP\Files\Cache\IPropagator; use OCP\Files\Cache\IScanner; @@ -322,7 +323,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea return $storage->writeStream($path, $stream, $size); } else { $target = $this->fopen($path, 'w'); - [$count, $result] = \OC_Helper::streamCopy($stream, $target); + $count = Files::streamCopy($stream, $target); fclose($stream); fclose($target); return $count; diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php index e49043355e8..6832b4e1551 100644 --- a/lib/private/Files/View.php +++ b/lib/private/Files/View.php @@ -17,6 +17,7 @@ use OC\User\Manager as UserManager; use OC\User\User; use OCA\Files_Sharing\SharedMount; use OCP\Constants; +use OCP\Files; use OCP\Files\Cache\ICacheEntry; use OCP\Files\ConnectionLostException; use OCP\Files\EmptyFileNameException; @@ -629,7 +630,7 @@ class View { [$storage, $internalPath] = $this->resolvePath($path); $target = $storage->fopen($internalPath, 'w'); if ($target) { - [, $result] = \OC_Helper::streamCopy($data, $target); + [, $result] = Files::streamCopy($data, $target, true); fclose($target); fclose($data); diff --git a/lib/private/legacy/OC_Helper.php b/lib/private/legacy/OC_Helper.php index 6caab38b784..a06b15573cb 100644 --- a/lib/private/legacy/OC_Helper.php +++ b/lib/private/legacy/OC_Helper.php @@ -12,6 +12,7 @@ use OCP\Files\Mount\IMountPoint; use OCP\IBinaryFinder; use OCP\ICacheFactory; use OCP\IUser; +use OCP\Server; use OCP\Util; use Psr\Log\LoggerInterface; @@ -36,32 +37,6 @@ class OC_Helper { private static ?bool $quotaIncludeExternalStorage = null; /** - * Make a human file size - * @param int|float $bytes file size in bytes - * @return string a human readable file size - * @deprecated 4.0.0 replaced with \OCP\Util::humanFileSize - * - * Makes 2048 to 2 kB. - */ - public static function humanFileSize(int|float $bytes): string { - return \OCP\Util::humanFileSize($bytes); - } - - /** - * Make a computer file size - * @param string $str file size in human readable format - * @return false|int|float a file size in bytes - * @deprecated 4.0.0 Use \OCP\Util::computerFileSize - * - * Makes 2kB to 2048. - * - * Inspired by: https://www.php.net/manual/en/function.filesize.php#92418 - */ - public static function computerFileSize(string $str): false|int|float { - return \OCP\Util::computerFileSize($str); - } - - /** * Recursive copying of folders * @param string $src source folder * @param string $dest target folder @@ -92,17 +67,6 @@ class OC_Helper { } /** - * Recursive deletion of folders - * @param string $dir path to the folder - * @param bool $deleteSelf if set to false only the content of the folder will be deleted - * @return bool - * @deprecated 5.0.0 use \OCP\Files::rmdirr instead - */ - public static function rmdirr($dir, $deleteSelf = true) { - return \OCP\Files::rmdirr($dir, $deleteSelf); - } - - /** * @deprecated 18.0.0 * @return \OC\Files\Type\TemplateManager */ @@ -159,31 +123,10 @@ class OC_Helper { * @param resource $source * @param resource $target * @return array the number of bytes copied and result + * @deprecated 5.0.0 - Use \OCP\Files::streamCopy */ public static function streamCopy($source, $target) { - if (!$source or !$target) { - return [0, false]; - } - $bufSize = 8192; - $result = true; - $count = 0; - while (!feof($source)) { - $buf = fread($source, $bufSize); - $bytesWritten = fwrite($target, $buf); - if ($bytesWritten !== false) { - $count += $bytesWritten; - } - // note: strlen is expensive so only use it when necessary, - // on the last block - if ($bytesWritten === false - || ($bytesWritten < $bufSize && $bytesWritten < strlen($buf)) - ) { - // write error, could be disk full ? - $result = false; - break; - } - } - return [$count, $result]; + return \OCP\Files::streamCopy($source, $target, true); } /** @@ -246,73 +189,12 @@ class OC_Helper { } /** - * Returns an array with all keys from input lowercased or uppercased. Numbered indices are left as is. - * Based on https://www.php.net/manual/en/function.array-change-key-case.php#107715 - * - * @param array $input The array to work on - * @param int $case Either MB_CASE_UPPER or MB_CASE_LOWER (default) - * @param string $encoding The encoding parameter is the character encoding. Defaults to UTF-8 - * @return array - * @deprecated 4.5.0 use \OCP\Util::mb_array_change_key_case instead - */ - public static function mb_array_change_key_case($input, $case = MB_CASE_LOWER, $encoding = 'UTF-8') { - return \OCP\Util::mb_array_change_key_case($input, $case, $encoding); - } - - /** - * Performs a search in a nested array. - * Taken from https://www.php.net/manual/en/function.array-search.php#97645 - * - * @param array $haystack the array to be searched - * @param string $needle the search string - * @param mixed $index optional, only search this key name - * @return mixed the key of the matching field, otherwise false - * @deprecated 4.5.0 - use \OCP\Util::recursiveArraySearch - */ - public static function recursiveArraySearch($haystack, $needle, $index = null) { - return \OCP\Util::recursiveArraySearch($haystack, $needle, $index); - } - - /** - * calculates the maximum upload size respecting system settings, free space and user quota - * - * @param string $dir the current folder where the user currently operates - * @param int|float $freeSpace the number of bytes free on the storage holding $dir, if not set this will be received from the storage directly - * @return int|float number of bytes representing - * @deprecated 5.0.0 - use \OCP\Util::maxUploadFilesize - */ - public static function maxUploadFilesize($dir, $freeSpace = null) { - return \OCP\Util::maxUploadFilesize($dir, $freeSpace); - } - - /** - * Calculate free space left within user quota - * - * @param string $dir the current folder where the user currently operates - * @return int|float number of bytes representing - * @deprecated 7.0.0 - use \OCP\Util::freeSpace - */ - public static function freeSpace($dir) { - return \OCP\Util::freeSpace($dir); - } - - /** - * Calculate PHP upload limit - * - * @return int|float PHP upload file size limit - * @deprecated 7.0.0 - use \OCP\Util::uploadLimit - */ - public static function uploadLimit() { - return \OCP\Util::uploadLimit(); - } - - /** * Checks if a function is available * * @deprecated 25.0.0 use \OCP\Util::isFunctionEnabled instead */ public static function is_function_enabled(string $function_name): bool { - return \OCP\Util::isFunctionEnabled($function_name); + return Util::isFunctionEnabled($function_name); } /** @@ -320,7 +202,7 @@ class OC_Helper { * @deprecated 25.0.0 Use \OC\BinaryFinder directly */ public static function findBinaryPath(string $program): ?string { - $result = \OCP\Server::get(IBinaryFinder::class)->findBinaryPath($program); + $result = Server::get(IBinaryFinder::class)->findBinaryPath($program); return $result !== false ? $result : null; } @@ -340,7 +222,7 @@ class OC_Helper { */ public static function getStorageInfo($path, $rootInfo = null, $includeMountPoints = true, $useCache = true) { if (!self::$cacheFactory) { - self::$cacheFactory = \OC::$server->get(ICacheFactory::class); + self::$cacheFactory = Server::get(ICacheFactory::class); } $memcache = self::$cacheFactory->createLocal('storage_info'); diff --git a/lib/public/Files.php b/lib/public/Files.php index b12aa463f1a..3df3152b0ef 100644 --- a/lib/public/Files.php +++ b/lib/public/Files.php @@ -85,15 +85,45 @@ class Files { /** * Copy the contents of one stream to another + * + * @template T of null|true * @param resource $source * @param resource $target - * @return int the number of bytes copied + * @param T $includeResult + * @return int|array + * @psalm-return (T is true ? array{0: int, 1: bool} : int) * @since 5.0.0 + * @since 32.0.0 added $includeResult parameter * @deprecated 14.0.0 */ - public static function streamCopy($source, $target) { - [$count, ] = \OC_Helper::streamCopy($source, $target); - return $count; + public static function streamCopy($source, $target, ?bool $includeResult = null) { + if (!$source or !$target) { + return $includeResult ? [0, false] : 0; + } + + $bufSize = 8192; + $count = 0; + $result = true; + while (!feof($source)) { + $buf = fread($source, $bufSize); + if ($buf === false) { + $result = false; + break; + } + + $bytesWritten = fwrite($target, $buf); + if ($bytesWritten !== false) { + $count += $bytesWritten; + } + + if ($bytesWritten === false + || ($bytesWritten < $bufSize && $bytesWritten < strlen($buf)) + ) { + $result = false; + break; + } + } + return $includeResult ? [$count, $result] : $count; } /** diff --git a/lib/public/Template.php b/lib/public/Template.php index 715115bc635..c29de52db4f 100644 --- a/lib/public/Template.php +++ b/lib/public/Template.php @@ -23,7 +23,7 @@ require_once __DIR__ . '/../private/Template/functions.php'; */ class Template extends \OC_Template implements ITemplate { /** - * Make OC_Helper::imagePath available as a simple function + * Make \OCP\IURLGenerator::imagePath available as a simple function * * @see \OCP\IURLGenerator::imagePath * @@ -39,7 +39,7 @@ class Template extends \OC_Template implements ITemplate { /** - * Make OC_Helper::mimetypeIcon available as a simple function + * Make IMimeTypeDetector->mimeTypeIcon available as a simple function * * @param string $mimetype * @return string to the image of this file type. diff --git a/package-lock.json b/package-lock.json index 530a13a199e..4fb743eb1f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -112,7 +112,7 @@ "@vitest/coverage-v8": "^3.1.3", "@vue/test-utils": "^1.3.5", "@vue/tsconfig": "^0.5.1", - "@zip.js/zip.js": "^2.7.60", + "@zip.js/zip.js": "^2.7.61", "babel-loader-exclude-node-modules-except": "^1.2.1", "babel-plugin-module-resolver": "^5.0.2", "colord": "^2.9.3", @@ -142,7 +142,7 @@ "puppeteer": "^24.7.2", "raw-loader": "^4.0.2", "regextras": "^0.8.0", - "sass": "^1.87.0", + "sass": "^1.89.0", "sinon": "<= 5.0.7", "stylelint": "^16.19.1", "stylelint-use-logical": "^2.1.2", @@ -7645,9 +7645,9 @@ "license": "Apache-2.0" }, "node_modules/@zip.js/zip.js": { - "version": "2.7.60", - "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.60.tgz", - "integrity": "sha512-vA3rLyqdxBrVo1FWSsbyoecaqWTV+vgPRf0QKeM7kVDG0r+lHUqd7zQDv1TO9k4BcAoNzNDSNrrel24Mk6addA==", + "version": "2.7.61", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.61.tgz", + "integrity": "sha512-+tZvY10nkW0pJoU88XFWLBd2O9PJPvEnDhSY/jQHfIroN5W5qGfPgFHKC4lkx0+9Vw/0IAkNHf1XBVInBkM9Vw==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -21685,9 +21685,9 @@ "license": "BSD-3-Clause" }, "node_modules/sass": { - "version": "1.87.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.87.0.tgz", - "integrity": "sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw==", + "version": "1.89.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.0.tgz", + "integrity": "sha512-ld+kQU8YTdGNjOLfRWBzewJpU5cwEv/h5yyqlSeJcj6Yh8U4TDA9UA5FPicqDz/xgRPWRSYIQNiFks21TbA9KQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 4f6e69a7d52..46035e1196c 100644 --- a/package.json +++ b/package.json @@ -143,7 +143,7 @@ "@vitest/coverage-v8": "^3.1.3", "@vue/test-utils": "^1.3.5", "@vue/tsconfig": "^0.5.1", - "@zip.js/zip.js": "^2.7.60", + "@zip.js/zip.js": "^2.7.61", "babel-loader-exclude-node-modules-except": "^1.2.1", "babel-plugin-module-resolver": "^5.0.2", "colord": "^2.9.3", @@ -173,7 +173,7 @@ "puppeteer": "^24.7.2", "raw-loader": "^4.0.2", "regextras": "^0.8.0", - "sass": "^1.87.0", + "sass": "^1.89.0", "sinon": "<= 5.0.7", "stylelint": "^16.19.1", "stylelint-use-logical": "^2.1.2", diff --git a/tests/lib/Files/FilesystemTest.php b/tests/lib/Files/FilesystemTest.php index 4a3543474a1..966f6f34cee 100644 --- a/tests/lib/Files/FilesystemTest.php +++ b/tests/lib/Files/FilesystemTest.php @@ -10,6 +10,7 @@ namespace Test\Files; use OC\Files\Mount\MountPoint; use OC\Files\Storage\Temporary; use OC\User\NoUserException; +use OCP\Files; use OCP\Files\Config\IMountProvider; use OCP\Files\Storage\IStorageFactory; use OCP\IUser; @@ -74,7 +75,7 @@ class FilesystemTest extends \Test\TestCase { protected function tearDown(): void { foreach ($this->tmpDirs as $dir) { - \OC_Helper::rmdirr($dir); + Files::rmdirr($dir); } $this->logout(); diff --git a/tests/lib/Files/Storage/CommonTest.php b/tests/lib/Files/Storage/CommonTest.php index b51b35be8f9..529615f3733 100644 --- a/tests/lib/Files/Storage/CommonTest.php +++ b/tests/lib/Files/Storage/CommonTest.php @@ -9,6 +9,7 @@ namespace Test\Files\Storage; use OC\Files\Storage\Wrapper\Jail; use OC\Files\Storage\Wrapper\Wrapper; +use OCP\Files; use OCP\Files\IFilenameValidator; use OCP\Files\InvalidCharacterInPathException; use OCP\Files\InvalidPathException; @@ -37,7 +38,7 @@ class CommonTest extends Storage { } protected function tearDown(): void { - \OC_Helper::rmdirr($this->tmpDir); + Files::rmdirr($this->tmpDir); $this->restoreService(IFilenameValidator::class); parent::tearDown(); } diff --git a/tests/lib/Files/Storage/HomeTest.php b/tests/lib/Files/Storage/HomeTest.php index b6d0f1aa85a..26b81c6f1a0 100644 --- a/tests/lib/Files/Storage/HomeTest.php +++ b/tests/lib/Files/Storage/HomeTest.php @@ -8,6 +8,7 @@ namespace Test\Files\Storage; use OC\User\User; +use OCP\Files; class DummyUser extends User { private $home; @@ -62,7 +63,7 @@ class HomeTest extends Storage { } protected function tearDown(): void { - \OC_Helper::rmdirr($this->tmpDir); + Files::rmdirr($this->tmpDir); parent::tearDown(); } diff --git a/tests/lib/Files/Storage/LocalTest.php b/tests/lib/Files/Storage/LocalTest.php index 65bc538ef17..13317fad7bb 100644 --- a/tests/lib/Files/Storage/LocalTest.php +++ b/tests/lib/Files/Storage/LocalTest.php @@ -8,6 +8,7 @@ namespace Test\Files\Storage; use OC\Files\Storage\Wrapper\Jail; +use OCP\Files; /** * Class LocalTest @@ -30,7 +31,7 @@ class LocalTest extends Storage { } protected function tearDown(): void { - \OC_Helper::rmdirr($this->tmpDir); + Files::rmdirr($this->tmpDir); parent::tearDown(); } diff --git a/tests/lib/Files/Storage/Wrapper/QuotaTest.php b/tests/lib/Files/Storage/Wrapper/QuotaTest.php index aebae9b3c62..791e8047f7f 100644 --- a/tests/lib/Files/Storage/Wrapper/QuotaTest.php +++ b/tests/lib/Files/Storage/Wrapper/QuotaTest.php @@ -10,6 +10,7 @@ namespace Test\Files\Storage\Wrapper; //ensure the constants are loaded use OC\Files\Cache\CacheEntry; use OC\Files\Storage\Local; +use OCP\Files; \OC::$loader->load('\OC\Files\Filesystem'); @@ -35,7 +36,7 @@ class QuotaTest extends \Test\Files\Storage\Storage { } protected function tearDown(): void { - \OC_Helper::rmdirr($this->tmpDir); + Files::rmdirr($this->tmpDir); parent::tearDown(); } diff --git a/tests/lib/Files/Storage/Wrapper/WrapperTest.php b/tests/lib/Files/Storage/Wrapper/WrapperTest.php index 1d0f41bf3ed..4cbae1762fc 100644 --- a/tests/lib/Files/Storage/Wrapper/WrapperTest.php +++ b/tests/lib/Files/Storage/Wrapper/WrapperTest.php @@ -7,6 +7,8 @@ namespace Test\Files\Storage\Wrapper; +use OCP\Files; + class WrapperTest extends \Test\Files\Storage\Storage { /** * @var string tmpDir @@ -22,7 +24,7 @@ class WrapperTest extends \Test\Files\Storage\Storage { } protected function tearDown(): void { - \OC_Helper::rmdirr($this->tmpDir); + Files::rmdirr($this->tmpDir); parent::tearDown(); } diff --git a/tests/lib/FilesTest.php b/tests/lib/FilesTest.php new file mode 100644 index 00000000000..2ba6ce2666b --- /dev/null +++ b/tests/lib/FilesTest.php @@ -0,0 +1,42 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace Test; + +use OCP\Files; +use OCP\ITempManager; +use OCP\Server; + +class FilesTest extends TestCase { + + /** + * Tests recursive folder deletion with rmdirr() + */ + public function testRecursiveFolderDeletion(): void { + $baseDir = Server::get(ITempManager::class)->getTemporaryFolder() . '/'; + mkdir($baseDir . 'a/b/c/d/e', 0777, true); + mkdir($baseDir . 'a/b/c1/d/e', 0777, true); + mkdir($baseDir . 'a/b/c2/d/e', 0777, true); + mkdir($baseDir . 'a/b1/c1/d/e', 0777, true); + mkdir($baseDir . 'a/b2/c1/d/e', 0777, true); + mkdir($baseDir . 'a/b3/c1/d/e', 0777, true); + mkdir($baseDir . 'a1/b', 0777, true); + mkdir($baseDir . 'a1/c', 0777, true); + file_put_contents($baseDir . 'a/test.txt', 'Hello file!'); + file_put_contents($baseDir . 'a/b1/c1/test one.txt', 'Hello file one!'); + file_put_contents($baseDir . 'a1/b/test two.txt', 'Hello file two!'); + Files::rmdirr($baseDir . 'a'); + + $this->assertFalse(file_exists($baseDir . 'a')); + $this->assertTrue(file_exists($baseDir . 'a1')); + + Files::rmdirr($baseDir); + $this->assertFalse(file_exists($baseDir)); + } +} diff --git a/tests/lib/HelperStorageTest.php b/tests/lib/HelperStorageTest.php index e4e877ab2a8..628e77e935a 100644 --- a/tests/lib/HelperStorageTest.php +++ b/tests/lib/HelperStorageTest.php @@ -94,6 +94,7 @@ class HelperStorageTest extends \Test\TestCase { $this->assertEquals(5, $storageInfo['used']); $this->assertEquals(17, $storageInfo['total']); } + private function getIncludeExternalStorage(): bool { $class = new \ReflectionClass(\OC_Helper::class); $prop = $class->getProperty('quotaIncludeExternalStorage'); diff --git a/tests/lib/LegacyHelperTest.php b/tests/lib/LegacyHelperTest.php index 15af5ca06e8..0938640b892 100644 --- a/tests/lib/LegacyHelperTest.php +++ b/tests/lib/LegacyHelperTest.php @@ -23,85 +23,6 @@ class LegacyHelperTest extends \Test\TestCase { \OC::$WEBROOT = $this->originalWebRoot; } - /** - * @dataProvider humanFileSizeProvider - */ - public function testHumanFileSize($expected, $input): void { - $result = OC_Helper::humanFileSize($input); - $this->assertEquals($expected, $result); - } - - public static function humanFileSizeProvider(): array { - return [ - ['0 B', 0], - ['1 KB', 1024], - ['9.5 MB', 10000000], - ['1.3 GB', 1395864371], - ['465.7 GB', 500000000000], - ['454.7 TB', 500000000000000], - ['444.1 PB', 500000000000000000], - ]; - } - - /** - * @dataProvider providesComputerFileSize - */ - public function testComputerFileSize($expected, $input): void { - $result = OC_Helper::computerFileSize($input); - $this->assertEquals($expected, $result); - } - - public static function providesComputerFileSize(): array { - return [ - [0.0, '0 B'], - [1024.0, '1 KB'], - [1395864371.0, '1.3 GB'], - [9961472.0, '9.5 MB'], - [500041567437.0, '465.7 GB'], - [false, '12 GB etfrhzui'] - ]; - } - - public function testMb_array_change_key_case(): void { - $arrayStart = [ - 'Foo' => 'bar', - 'Bar' => 'foo', - ]; - $arrayResult = [ - 'foo' => 'bar', - 'bar' => 'foo', - ]; - $result = OC_Helper::mb_array_change_key_case($arrayStart); - $expected = $arrayResult; - $this->assertEquals($result, $expected); - - $arrayStart = [ - 'foo' => 'bar', - 'bar' => 'foo', - ]; - $arrayResult = [ - 'FOO' => 'bar', - 'BAR' => 'foo', - ]; - $result = OC_Helper::mb_array_change_key_case($arrayStart, MB_CASE_UPPER); - $expected = $arrayResult; - $this->assertEquals($result, $expected); - } - - public function testRecursiveArraySearch(): void { - $haystack = [ - 'Foo' => 'own', - 'Bar' => 'Cloud', - ]; - - $result = OC_Helper::recursiveArraySearch($haystack, 'own'); - $expected = 'Foo'; - $this->assertEquals($result, $expected); - - $result = OC_Helper::recursiveArraySearch($haystack, 'NotFound'); - $this->assertFalse($result); - } - public function testBuildNotExistingFileNameForView(): void { $viewMock = $this->createMock(View::class); $this->assertEquals('/filename', OC_Helper::buildNotExistingFileNameForView('/', 'filename', $viewMock)); @@ -227,29 +148,4 @@ class LegacyHelperTest extends \Test\TestCase { [3670, true, \OC::$SERVERROOT . '/tests/data/testimage.png', \OC::$SERVERROOT . '/tests/data/testimage-copy.png'], ]; } - - /** - * Tests recursive folder deletion with rmdirr() - */ - public function testRecursiveFolderDeletion(): void { - $baseDir = \OC::$server->getTempManager()->getTemporaryFolder() . '/'; - mkdir($baseDir . 'a/b/c/d/e', 0777, true); - mkdir($baseDir . 'a/b/c1/d/e', 0777, true); - mkdir($baseDir . 'a/b/c2/d/e', 0777, true); - mkdir($baseDir . 'a/b1/c1/d/e', 0777, true); - mkdir($baseDir . 'a/b2/c1/d/e', 0777, true); - mkdir($baseDir . 'a/b3/c1/d/e', 0777, true); - mkdir($baseDir . 'a1/b', 0777, true); - mkdir($baseDir . 'a1/c', 0777, true); - file_put_contents($baseDir . 'a/test.txt', 'Hello file!'); - file_put_contents($baseDir . 'a/b1/c1/test one.txt', 'Hello file one!'); - file_put_contents($baseDir . 'a1/b/test two.txt', 'Hello file two!'); - \OC_Helper::rmdirr($baseDir . 'a'); - - $this->assertFalse(file_exists($baseDir . 'a')); - $this->assertTrue(file_exists($baseDir . 'a1')); - - \OC_Helper::rmdirr($baseDir); - $this->assertFalse(file_exists($baseDir)); - } } diff --git a/tests/lib/Preview/OfficeTest.php b/tests/lib/Preview/OfficeTest.php index c9019d017a3..167c442dd34 100644 --- a/tests/lib/Preview/OfficeTest.php +++ b/tests/lib/Preview/OfficeTest.php @@ -7,6 +7,9 @@ namespace Test\Preview; +use OCP\IBinaryFinder; +use OCP\Server; + /** * Class OfficeTest * @@ -16,10 +19,11 @@ namespace Test\Preview; */ class OfficeTest extends Provider { protected function setUp(): void { - $libreofficeBinary = \OC_Helper::findBinaryPath('libreoffice'); - $openofficeBinary = ($libreofficeBinary) ? null : \OC_Helper::findBinaryPath('openoffice'); + $binaryFinder = Server::get(IBinaryFinder::class); + $libreofficeBinary = $binaryFinder->findBinaryPath('libreoffice'); + $openofficeBinary = $libreofficeBinary === false ? $binaryFinder->findBinaryPath('openoffice') : false; - if ($libreofficeBinary || $openofficeBinary) { + if ($libreofficeBinary !== false || $openofficeBinary !== false) { parent::setUp(); $fileName = 'testimage.odt'; diff --git a/tests/lib/TempManagerTest.php b/tests/lib/TempManagerTest.php index 63cffc0dcae..b607772f5c3 100644 --- a/tests/lib/TempManagerTest.php +++ b/tests/lib/TempManagerTest.php @@ -9,6 +9,7 @@ namespace Test; use bantu\IniGetWrapper\IniGetWrapper; +use OCP\Files; use OCP\IConfig; use Psr\Log\LoggerInterface; @@ -26,7 +27,7 @@ class TempManagerTest extends \Test\TestCase { protected function tearDown(): void { if ($this->baseDir !== null) { - \OC_Helper::rmdirr($this->baseDir); + Files::rmdirr($this->baseDir); } $this->baseDir = null; parent::tearDown(); diff --git a/tests/lib/UtilTest.php b/tests/lib/UtilTest.php index 0063a991e48..e124ea687d8 100644 --- a/tests/lib/UtilTest.php +++ b/tests/lib/UtilTest.php @@ -334,4 +334,84 @@ class UtilTest extends \Test\TestCase { // each of the characters is 12 bytes $this->assertEquals('🙈', Util::shortenMultibyteString('🙈🙊🙉', 16, 2)); } + + /** + * @dataProvider humanFileSizeProvider + */ + public function testHumanFileSize($expected, $input): void { + $result = Util::humanFileSize($input); + $this->assertEquals($expected, $result); + } + + public static function humanFileSizeProvider(): array { + return [ + ['0 B', 0], + ['1 KB', 1024], + ['9.5 MB', 10000000], + ['1.3 GB', 1395864371], + ['465.7 GB', 500000000000], + ['454.7 TB', 500000000000000], + ['444.1 PB', 500000000000000000], + ]; + } + + /** + * @dataProvider providesComputerFileSize + */ + public function testComputerFileSize($expected, $input): void { + $result = Util::computerFileSize($input); + $this->assertEquals($expected, $result); + } + + public static function providesComputerFileSize(): array { + return [ + [0.0, '0 B'], + [1024.0, '1 KB'], + [1395864371.0, '1.3 GB'], + [9961472.0, '9.5 MB'], + [500041567437.0, '465.7 GB'], + [false, '12 GB etfrhzui'] + ]; + } + + public function testMb_array_change_key_case(): void { + $arrayStart = [ + 'Foo' => 'bar', + 'Bar' => 'foo', + ]; + $arrayResult = [ + 'foo' => 'bar', + 'bar' => 'foo', + ]; + $result = Util::mb_array_change_key_case($arrayStart); + $expected = $arrayResult; + $this->assertEquals($result, $expected); + + $arrayStart = [ + 'foo' => 'bar', + 'bar' => 'foo', + ]; + $arrayResult = [ + 'FOO' => 'bar', + 'BAR' => 'foo', + ]; + $result = Util::mb_array_change_key_case($arrayStart, MB_CASE_UPPER); + $expected = $arrayResult; + $this->assertEquals($result, $expected); + } + + public function testRecursiveArraySearch(): void { + $haystack = [ + 'Foo' => 'own', + 'Bar' => 'Cloud', + ]; + + $result = Util::recursiveArraySearch($haystack, 'own'); + $expected = 'Foo'; + $this->assertEquals($result, $expected); + + $result = Util::recursiveArraySearch($haystack, 'NotFound'); + $this->assertFalse($result); + } + } |