Translations doku
translations doku
Überblick
- Im Quellcode gehen die englischen strings durch die übersetzungsfunktionen
_('en text')
,ngettext('singular en text', 'plural en text', n)
,formatMessage('...')
(js only),translate('...)
(templates) - Mittels
langHelper -u
werden diese strings aus den sourcen extrahiert und in die po/pot files aufgenommen - Die strings sollten nicht per Hand in die po files zugefügt werden. Lieber
./console src:langHelper -- '-u --app Calendar -l de'
für eine app/sprache - Übersetzen am besten mit dem programm poedit, weil dass auch die Metadaten richtig anpasst
- Die Übersetzungen können auch online getätigt werden. Entwickler mit git nutzen aber lieber poedit und committen/pushen ins git
- Per Default haben unsere po Files keine Zeilennummern, um die Änderungen im Git nicht immer so groß zu haben. Will mensch zum Übersetzen sie haben:
./console src:langHelper -- '-u -l de --keep-line-numbers'
(Zeilennummern zufügen)- übersetzen mit poedit
./console src:langHelper -- '-u -l de'
(Zeilennummern wieder entfernen)
Was wird übersetzt?
- Alle Apps aus
tine-groupware
übersetzen wir: - Die erste hälfte des Releases
current-stable
- Die zweite hälfte
next
bzwmain
- Spezial-Apps zu spezial Editionen werden aus dem Editions-Branch übersetzte / zu tx gepushed
- Siehe
./tx/branches
Konfiguration
prerequisites
$ sudo apt install php-xml
$ sudo pip install transifex-client
for po-merge-helper (ubuntu)
$ sudo apt install gettext
po-merge-helper aktivieren (eintrag in .git/config)
[merge "pofile"]
name = merge po-files driver
driver = ./scripts/git/merge-po-files %A %O %B
recursive = binary
txmerge - synced übersetzungen mit transifex
(vor am besten neuen branch auschecken)
$ ./console src:langHelper -- '--txmerge --app Calendar -v -l bg'
git add
$ git add */translations
lokale (bzw. DE) deutsche übersetzungen wiederherstellen TODO: evtl bekommen wir die de translations auch gemerged?
$ git reset HEAD */translations/de.po
$ tx push -t -l de
eventuell muss man force pushen, da online eine "neuere" version ist
$ tx push -t --force -l de
commit + push to git
$ git commit -m "updates translations"
$ git add */translations
$ git commit -m "backup de translations"