Event Timeline
Hello,
thank you very much for the translation file. I added this to an existing Phabricator installation which is 1 week old so I suggest it should be compatible. Unfortunately it looks like it was not enough to copy it to the corresponding folder. I restarted phd and also apache / php but the resource does not get recognized. Do you have any ideas or is there a HOWTO where I can have a look ? I did not find a corresponding document. Any hint is appreciated. Thank you in advance !
Best Regards
I think it's run arc liberate from the command-line to pick up a new file, then restart apache/php-fpm to cache it.
Hi,I have added some translations,those can be added into this paste here as well.But I haven't tested those with Umlaute like äüö because I didn't manage them to show up in my local phabricator windows installation(I've inserted those translations as a hack into PhabricatorVeryWowEnglishTranslation.php because putting this file into the xtensions folder will not show them up in them in settings>account>translation nad arc liberate fails seems to fail on windows)
#fix: 'Dokumenten Hirarchie' #wiki 'New Document'=>'Neues Dokument', 'Edit Document'=>'Dokument bearbeiten', 'Move Document'=>'Dokument verschieben', 'View History'=>'Versionshistorie anzeigen', 'Delete'=>'Löschen', 'Delete Document'=>'Dokument löschen', 'Delete Document?'=>'Dokument löschen', 'Current Path'=>'Aktueller Pfad', 'New Path'=>'Neuer Pfad', #edit section of wiki 'Content'=>'Inhalt', 'Edit Notes'=>'Notizen zur Veränderung', 'To view a wiki document, you must also be able to view all of its parents.'=>'Um ein Wiki-Dokument anzusehen,musst du alle übergeordneten Dokumente sehen dürfen', 'You have no notifications.'=>'Du hast keine Meldungen.', 'Notification Server not enabled.'=>'Meldungs-Server nicht eingeschaltet.', 'You have %d unresolved setup issue(s)...' => array( 'Du hast ein ungelöstes Setup-Problem.', 'Du hast %d ungelöste Setup-Probleme.'), 'Customize Menu...'=>'Menü anpassen', #repository 'Importing...'=>'Importiert...', 'Empty Repository'=>'Leeres Repository', 'Edit Repository'=>'Repository bearbeiten', 'This repository does not have any commits yet.'=>'Diese Repository hat noch keine Commits.', 'Clone'=>'Klonen', 'Type'=>'Typ', 'Callsign'=>'Kennung', 'Update Frequency'=>'Update-Frequenz', 'No description provided.'=>'Keine Beschreibung beigefügt.', 'Update Now'=>'Jetzt aktualisieren', 'Repository Active'=>'Repository aktiv', 'Found Binary hg'=>'hg-Binary gefunden', 'No Working Copy Yet'=>'Noch keine funktionierende Kopie', 'Task Daemon Not Running'=>'Aufgaben-Daemon läuft nicht',#daemon!=dämon 'Edit Basic Information'=>'Grundlegende Informationen bearbeiten', 'Deactivate Repository'=>'Repository deaktivieren', 'Delete Repository'=>'Repository löschen', 'Edit Policies'=>'Richtlinien bearbeiten', 'New Repository'=>'Neues Repository', 'No Commits'=>'Keine Commits', 'All Repositories'=>'Alle Repositories',#a uppercase or lowercase? 'Active Repositories'=>'Aktive Repositories', 'Types'=>'Typen', 'Most Recent Commit'=>'Neuestem Commit', 'Creation (Newest First)'=>'Erstellungsdatum (Neuestes zuerst)', 'Creation (Oldest First)'=>'Erstellungsdatum (Ältestes zuerst)', 'Name Contains'=>'Name enthält', #misc 'Edit Query'=>'Anfrage ändern'
Correction: "Blocked" -> "Blocked By"
Would it make sense to provide a reviewed and modified version of this file?
two added translations and a typo-fix:
diff --git a/src/translations/PhabricatorGermanTranslation.php b/src/translations/PhabricatorGermanTranslation.php index 92170cf..59a737e 100644 --- a/src/translations/PhabricatorGermanTranslation.php +++ b/src/translations/PhabricatorGermanTranslation.php @@ -1406,6 +1406,7 @@ final class PhabricatorGermanTranslation 'Create New...' => 'Neu erstellen...', 'Update' => 'Aktualisieren', 'Continue' => 'Fortfahren', + 'Set Sail for Adventure' => 'Fortfahren', 'Send' => 'Senden', 'Submit' => 'Senden', 'Save' => 'Speichern', @@ -1423,6 +1424,7 @@ final class PhabricatorGermanTranslation 'Title' => 'Titel', 'Action' => 'Aktion', 'Actions' => 'Aktionen', + 'Add Action...' => 'Aktion auswählen...', 'View Raw' => 'Zeige Rohdaten', 'PREVIEW' => 'VORSCHAU', 'Document Preview' => 'Dokument Vorschau', @@ -1435,7 +1437,7 @@ final class PhabricatorGermanTranslation 'Visible To' => 'Sichtbar für', 'Editable By' => 'Bearbeitbar für', 'Policies' => 'Richtlinien', - 'Default' => 'Standart', + 'Default' => 'Standard', 'Prototype' => 'Prototyp', '(Show Details)' => '(Zeige Details)', 'Change Details' => 'Änderungen',
where "Standart" means something like "type of standing", as opposed to "Standard", meaning default or standard. Please feel free to include this patch.
I'd translate 'Set Sail for Adventure' => 'Segel setzen' and add 'German' => 'Deutsch' (and similar for the other languages).
I would recommend to put the version information as a comment into the source, instead of changing an unrelated string to also output it. I.e. put following comment at the top of the file:
/* * Version 2.3.2 zu Phabricator Version [76665f725bc9](https://secure.phabricator.com/rP76665f725bc90c5122b4f9f5cf80b75fedbdf885) (04.09.2015) */
Further, to make this work, you'll also need following class:
<?php final class PhutilGermanLocale extends PhutilLocale { public function getLocaleCode() { return 'de_DE'; } public function getLocaleName() { return pht('German'); } }
Both need to go into libphutil/src/extensions.
Complete diff for convenience:
--- PhabricatorGermanTranslation.php.orig 2016-04-21 12:30:07.772695087 +0200 +++ PhabricatorGermanTranslation.php 2016-04-21 12:29:33.036990803 +0200 @@ -1,5 +1,9 @@ <?php +/* + * Version 2.3.2 zu Phabricator Version [76665f725bc9](https://secure.phabricator.com/rP76665f725bc90c5122b4f9f5cf80b75fedbdf885) (04.09.2015) + */ + final class PhabricatorGermanTranslation extends PhutilTranslation { @@ -1397,6 +1401,7 @@ 'Create New...' => 'Neu erstellen...', 'Update' => 'Aktualisieren', 'Continue' => 'Fortfahren', + 'Set Sail for Adventure' => 'Segel setzen', 'Send' => 'Senden', 'Submit' => 'Senden', 'Save' => 'Speichern', @@ -1414,6 +1419,7 @@ 'Title' => 'Titel', 'Action' => 'Aktion', 'Actions' => 'Aktionen', + 'Add Action...' => 'Aktion auswählen...', 'View Raw' => 'Zeige Rohdaten', 'PREVIEW' => 'VORSCHAU', 'Document Preview' => 'Dokument Vorschau', @@ -1426,7 +1432,7 @@ 'Visible To' => 'Sichtbar für', 'Editable By' => 'Bearbeitbar für', 'Policies' => 'Richtlinien', - 'Default' => 'Standart', + 'Default' => 'Standard', 'Prototype' => 'Prototyp', '(Show Details)' => '(Zeige Details)', 'Change Details' => 'Änderungen', @@ -1878,6 +1884,12 @@ 'Image' => 'Bild', 'Countdown to Events' => 'Countdown zu Events', #Settings + 'Server Default: %s' => 'Voreinstellung: %s', + 'English (Great Britain)' => 'Englisch (Großbritannien)', + 'English (US)' => 'Englisch (US)', + 'German' => 'Deutsch', + 'Korean (Republic of Korea)' => 'Koreanisch (Republik Korea)', + 'Spanish (Spain)' => 'Spanisch (Spanien)', 'Settings' => 'Einstellungen', 'Edit Settings' => 'Einstellungen bearbeiten', 'Save Preferences' => 'Einstellungen speichern', @@ -1889,9 +1901,7 @@ '%s updated their profile' => '%s haben ihr Profil aktualisiert', '%s updated his profile' => '%s hat sein Profil aktualisiert', '%s updated her profile' => '%s hat ihr Profil aktualisiert', - '**Choose the pronoun you prefer:**' => "(WARNING)Version 2.3.1 " . - "zu Phabricator Version [76665f725bc9](https://secure.phabricator.com/rP76665f725bc90c5122b4f9f5cf80b75fedbdf885)" . - "\n\n___\n\n**Wähle deine bevorzugte Ansprache:**", + '**Choose the pronoun you prefer:**' => '**Wähle deine bevorzugte Ansprache:**', 'Date and Time Settings' => 'Datum und Zeiteinstellungen', 'Timezone' => 'Zeitzone', 'Time-of-Day Format' => 'Uhrzeit Format', @@ -1968,4 +1978,4 @@ ); } -} \ No newline at end of file +}
One also needs to patch libphutil/src/internationalization/PhutilTranslator.php:
diff --git a/src/internationalization/PhutilTranslator.php b/src/internationalization/PhutilTranslator.php index 21e4620..dfbf729 100644 --- a/src/internationalization/PhutilTranslator.php +++ b/src/internationalization/PhutilTranslator.php @@ -165,6 +165,7 @@ final class PhutilTranslator extends Phobject { case 'en_P*': case 'en_R*': case 'en_A*': + case 'de_DE': list($singular, $plural) = $translations; if ($variant == 1) { return $singular;
Otherwise one will get exceptions like these:
[2016-05-13 10:23:43] EXCEPTION: (PhutilProxyException) Error while executing Task ID 720447. {>} (Exception) Unknown locale 'de_DE'. at [<phutil>/src/internationalization/PhutilTranslator.php:200] arcanist(head=stable, ref.master=999eb9376568, ref.stable=6d175516f548), libphremoteuser(head=master, ref.master=c7d09c47b797), phabricator(head=stable, ref.stable=fd394f7668d9, custom=2), phutil(head=stable, ref.master=aa6cd8f7e5e5, ref.stabl e=7d344401734e, custom=1), sprint(head=master, ref.master=df6e9dee03e4) #0 <#2> PhutilTranslator::chooseVariant(array, PhutilNumber) called at [<phutil>/src/internationalization/PhutilTranslator.php:70] #1 <#2> PhutilTranslator::translate(string, string, PhutilNumber, string) #2 <#2> call_user_func_array(array, array) called at [<phutil>/src/internationalization/pht.php:17] #3 <#2> pht(string, string, PhutilNumber, string) called at [<phabricator>/src/applications/maniphest/edge/ManiphestTaskDependedOnByTaskEdgeType.php:23] #4 <#2> ManiphestTaskDependedOnByTaskEdgeType::getTransactionAddString(string, PhutilNumber, string) called at [<phabricator>/src/applications/transactions/storage/PhabricatorApplicationTransaction.php:862] #5 <#2> PhabricatorApplicationTransaction::getTitle() called at [<phabricator>/src/applications/maniphest/storage/ManiphestTransaction.php:636] #6 <#2> ManiphestTransaction::getTitle() called at [<phabricator>/src/applications/transactions/storage/PhabricatorApplicationTransaction.php:686] #7 <#2> PhabricatorApplicationTransaction::getTitleForMail() called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:2694] #8 <#2> PhabricatorApplicationTransactionEditor::addHeadersAndCommentsToMailBody(PhabricatorMetaMTAMailBody, array) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:2659] #9 <#2> PhabricatorApplicationTransactionEditor::buildMailBody(ManiphestTask, array) called at [<phabricator>/src/applications/maniphest/editor/ManiphestTransactionEditor.php:356] #10 <#2> ManiphestTransactionEditor::buildMailBody(ManiphestTask, array) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:2420] #11 <#2> PhabricatorApplicationTransactionEditor::buildMailForTarget(ManiphestTask, array, PhabricatorMailTarget) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:2377] #12 <#2> PhabricatorApplicationTransactionEditor::buildMail(ManiphestTask, array) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:1091] #13 <#2> PhabricatorApplicationTransactionEditor::publishTransactions(ManiphestTask, array) called at [<phabricator>/src/applications/transactions/worker/PhabricatorApplicationTransactionPublishWorker.php:21] #14 <#2> PhabricatorApplicationTransactionPublishWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:122] #15 <#2> PhabricatorWorker::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:171] #16 <#2> PhabricatorWorkerActiveTask::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:22] #17 PhabricatorTaskmasterDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:183] #18 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:125]
I've changed and added some translation in the Paste. In Addition you can change two config variables to have german Maniphest status and priorities :
maniphest.priorities =>
{ "100": { "name": "Kritisch!", "short": "Kritisch!", "color": "pink", "keywords": [ "kritisch" ] }, "90": { "name": "Benötigt einschätzung", "short": "Einschätzung", "color": "violet", "keywords": [ "einschätzung" ] }, "80": { "name": "Hoch", "short": "Hoch", "color": "red", "keywords": [ "hoch" ] }, "50": { "name": "Normal", "short": "Normal", "color": "orange", "keywords": [ "normal" ] }, "25": { "name": "Niedrig", "short": "Niedrig", "color": "yellow", "keywords": [ "niedirg" ] }, "0": { "name": "Wunschliste", "short": "Wunsch", "color": "sky", "keywords": [ "wunsch", "wunschliste" ] } }
maniphest.statuses =>
{ "open": { "name": "Offen", "special": "default", "prefixes": [ "offen", "opens", "wieder geöffnet", "reopens" ] }, "resolved": { "name": "Gelöst", "name.full": "Geschlossen, Gelöst", "closed": true, "special": "closed", "transaction.icon": "fa-check-circle", "prefixes": [ "geschlossen", "schließt", "schließen", "behebt", "behebt", "behoben", "gelöst", "löst", "gelöst" ], "suffixes": [ "als behoben", "als gelöst" ], "keywords": [ "closed", "fixed", "resolved" ] }, "wontfix": { "name": "Unlösbar", "name.full": "Geschlossen, Nicht lösbar", "transaction.icon": "fa-ban", "closed": true, "prefixes": [ "nicht lösbar", "nicht lösbar", "nicht lösbar" ], "suffixes": [ "as wontfix" ] }, "invalid": { "name": "Ungültig", "name.full": "Geschlossen, Ungültig", "transaction.icon": "fa-minus-circle", "closed": true, "claim": false, "prefixes": [ "macht ungültig", "macht ungültig", "machte ungültig" ], "suffixes": [ "als ungültig" ] }, "duplicate": { "name": "Duplikat", "name.full": "Gschlossen, Duplikat", "transaction.icon": "fa-files-o", "special": "duplicate", "closed": true, "claim": false } }