diff --git a/app/Console/Commands/ExportLanguages.php b/app/Console/Commands/ExportLanguages.php new file mode 100644 index 000000000..be315cc44 --- /dev/null +++ b/app/Console/Commands/ExportLanguages.php @@ -0,0 +1,74 @@ +error('This command is meant for development purposes and should only be run in a local environment'); + return Command::FAILURE; + } + + $path = base_path('resources/lang'); + $langs = []; + + foreach (new \DirectoryIterator($path) as $io) { + $name = $io->getFilename(); + $skip = ['vendor']; + if($io->isDot() || in_array($name, $skip)) { + continue; + } + + if($io->isDir()) { + array_push($langs, $name); + } + } + + $exportDir = resource_path('assets/js/i18n/'); + $exportDirAlt = public_path('_lang/'); + + foreach($langs as $lang) { + $strings = \Lang::get('web', [], $lang); + $json = json_encode($strings, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES); + $path = "{$exportDir}{$lang}.json"; + file_put_contents($path, $json); + $pathAlt = "{$exportDirAlt}{$lang}.json"; + file_put_contents($pathAlt, $json); + } + + return Command::SUCCESS; + } +} diff --git a/public/_lang/de.json b/public/_lang/de.json index b7d3fe0e5..c69180444 100644 Binary files a/public/_lang/de.json and b/public/_lang/de.json differ diff --git a/resources/assets/js/i18n/de.json b/resources/assets/js/i18n/de.json index b7d3fe0e5..c69180444 100644 --- a/resources/assets/js/i18n/de.json +++ b/resources/assets/js/i18n/de.json @@ -12,7 +12,7 @@ "unshare": "Teilen r\u00fcckg\u00e4ngig", "cancel": "Abbrechen", "copyLink": "Link kopieren", - "delete": "Delete", + "delete": "L\u00f6schen", "error": "Fehler", "errorMsg": "Etwas ist schief gelaufen. Bitter versuch es sp\u00e4ter nochmal.", "oops": "Hoppla!", @@ -42,12 +42,12 @@ "drive": "Drive", "settings": "Einstellungen", "compose": "Neu erstellen", - "about": "About", - "help": "Help", - "language": "Language", - "privacy": "Privacy", + "about": "\u00dcber uns", + "help": "Hilfe", + "language": "Sprache", + "privacy": "Privatsph\u00e4re", "terms": "Terms", - "backToPreviousDesign": "Go back to previous design" + "backToPreviousDesign": "Zur\u00fcck zum vorherigen Design" }, "directMessages": { "inbox": "Posteingang", @@ -71,12 +71,12 @@ "dm": "dm", "groupPost": "group post", "modlog": "modlog", - "post": "post", + "post": "Beitrag", "story": "story" }, "post": { "shareToFollowers": "Share to followers", - "shareToOther": "Share to other", + "shareToOther": "Mit anderen teilen", "noLikes": "No likes yet", "uploading": "L\u00e4dt hoch" }, @@ -109,7 +109,7 @@ "spam": "Spam", "sensitive": "Sensitiver Inhalt", "abusive": "Abusive or Harmful", - "underageAccount": "Underage Account", + "underageAccount": "Minderj\u00e4hrigen-Konto", "copyrightInfringement": "Urheberrechtsverletzung", "impersonation": "Impersonation", "scamOrFraud": "Scam or Fraud", diff --git a/resources/lang/de/web.php b/resources/lang/de/web.php index 08bc55c01..4ed49a57c 100644 --- a/resources/lang/de/web.php +++ b/resources/lang/de/web.php @@ -16,7 +16,7 @@ return [ 'cancel' => 'Abbrechen', 'copyLink' => 'Link kopieren', - 'delete' => 'Delete', + 'delete' => 'Löschen', 'error' => 'Fehler', 'errorMsg' => 'Etwas ist schief gelaufen. Bitter versuch es später nochmal.', 'oops' => 'Hoppla!', @@ -57,14 +57,14 @@ return [ 'compose' => 'Neu erstellen', // Nav footer - 'about' => 'About', - 'help' => 'Help', - 'language' => 'Language', - 'privacy' => 'Privacy', + 'about' => 'Über uns', + 'help' => 'Hilfe', + 'language' => 'Sprache', + 'privacy' => 'Privatsphäre', 'terms' => 'Terms', // Temporary links - 'backToPreviousDesign' => 'Go back to previous design' + 'backToPreviousDesign' => 'Zurück zum vorherigen Design' ], 'directMessages' => [ @@ -94,13 +94,13 @@ return [ 'dm' => 'dm', 'groupPost' => 'group post', 'modlog' => 'modlog', - 'post' => 'post', + 'post' => 'Beitrag', 'story' => 'story', ], 'post' => [ 'shareToFollowers' => 'Share to followers', - 'shareToOther' => 'Share to other', + 'shareToOther' => 'Mit anderen teilen', 'noLikes' => 'No likes yet', 'uploading' => 'Lädt hoch', ], @@ -136,7 +136,7 @@ return [ 'spam' => 'Spam', 'sensitive' => 'Sensitiver Inhalt', 'abusive' => 'Abusive or Harmful', - 'underageAccount' => 'Underage Account', + 'underageAccount' => 'Minderjährigen-Konto', 'copyrightInfringement' => 'Urheberrechtsverletzung', 'impersonation' => 'Impersonation', 'scamOrFraud' => 'Scam or Fraud',