Programmier-Tipps: Difference between revisions

From Elch-Wiki
Jump to navigationJump to search
(New page: * i18n unter PHP: [http://www.php-center.de/artikel/i18n.php3])
 
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== i18n ==
* i18n unter PHP: [http://www.php-center.de/artikel/i18n.php3]
* i18n unter PHP: [http://www.php-center.de/artikel/i18n.php3]
* i18n Funktionalität in PHP: [http://ch2.php.net/manual/en/function.gettext.php]
* PO-Editor: https://poedit.net/
* Anleitung: https://blog.udemy.com/php-gettext/
Hier die Linux Befehle für die .mo Dateien.
Texte in php mit _(“hello world”)  --> _() alias für gettext()
.pot File erstellen in Linux:
cd /pfad/zum/<projekt>
xgettext –d <projekt> –L PHP –from-code=UTF-8 –o /pfad/zum/locale/source/<projekt>.pot $(find . –name “*.php”)
--> projekt ist wie domain, bei uns war halt der projektname, ordnername und domainname gleich
Erste Mal .po File erstellen
msginit –i <projekt>.pot –o <projekt>_<sprache>.po
Falls .po bereits existiert
msgmerge –U <projekt>_<sprache>.po <projekt>.pot
Das .po File dann übersetzen...wenn fertig dann im Verzeichnis /locale/source für jede Sprache
msgfmt <projekt>_<sprache>.po –o ../<sprache>/LC_MESSAGES/<projekt>.mo
Wie gesagt, <projekt> ist eigentlich domain. Wenn du im Anhang schaust...<projekt> ist $domain
== Sontige Tipps ==
* [[Linux-Tipps]]

Latest revision as of 12:15, 29 May 2016

i18n

Hier die Linux Befehle für die .mo Dateien. Texte in php mit _(“hello world”) --> _() alias für gettext()

.pot File erstellen in Linux: cd /pfad/zum/<projekt> xgettext –d <projekt> –L PHP –from-code=UTF-8 –o /pfad/zum/locale/source/<projekt>.pot $(find . –name “*.php”) --> projekt ist wie domain, bei uns war halt der projektname, ordnername und domainname gleich

Erste Mal .po File erstellen msginit –i <projekt>.pot –o <projekt>_<sprache>.po

Falls .po bereits existiert msgmerge –U <projekt>_<sprache>.po <projekt>.pot

Das .po File dann übersetzen...wenn fertig dann im Verzeichnis /locale/source für jede Sprache msgfmt <projekt>_<sprache>.po –o ../<sprache>/LC_MESSAGES/<projekt>.mo

Wie gesagt, <projekt> ist eigentlich domain. Wenn du im Anhang schaust...<projekt> ist $domain


Sontige Tipps