Hallo,
ich bin dabei meine anwendung mehrsprachig zu gestalten.
Muss ich die zu übersetzenden ausdrücke immer als string definieren?
-> _("Welcome to my site.")
oder kann ich auch variablen verwenden
-> _(myvar1)
so dass in der .po datei folgendes steht:
#: path/to/python/module.py:23
msgid myvar1
msgstr "englischer text"
wenn ich nämlich
_("Welcome to my site.")
verwende muss ich ja in der .po datei dann folgendes schreiben für englisch
#: path/to/python/module.py:23
msgid "Welcome to my site."
msgstr "Welcome to my site."
Des weiteren habe ich noch eine frage:
ich will das der user zwischen 2 sprachen auswählen kann.
je nach dem was er ausgewählt hat wird die "django_language"-session variable
gesetzt. das mache ich am anfang meiner anwendung.
wird die session-variable dann immer geprüft, wenn ein zu übersetzender string _("bla") auftaucht?
Gruß
django -> translation
@alexPython: Nein so geht das nicht. Ich wüsste auch nicht was
dann *bedeuten* soll?
Und das letzte Schnippsel solltest Du eigentlich nicht benötigen. Wenn der Text im Schlüssel schon der ist, der auch ausgegeben werden soll, dann braucht man den nicht noch einmal explizit als Übersetzung angeben.
Code: Alles auswählen
#: path/to/python/module.py:23
msgid myvar1
msgstr "englischer text"
Und das letzte Schnippsel solltest Du eigentlich nicht benötigen. Wenn der Text im Schlüssel schon der ist, der auch ausgegeben werden soll, dann braucht man den nicht noch einmal explizit als Übersetzung angeben.
-
- User
- Beiträge: 52
- Registriert: Donnerstag 7. April 2011, 13:26
ok, leuchtet mir ein, das mit der variablen
Zur übersetzung:
Das heißt dann, wenn keine übersetzung für die sprache
existiert, lasst er den text so wie er ist.
Gruß
Zur übersetzung:
Das heißt dann, wenn keine übersetzung für die sprache
existiert, lasst er den text so wie er ist.
Gruß
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Genau, daher haben Open-Source-Programme fast nie eine einglische Übersetzung, weil die eh standardmäßig auf Englisch sind (also nicht dass es nicht möglich ist, man kann Locale ``en_US`` oder ähnliches angeben stadd dem Standard-``C``/``POSIX``).alexPython hat geschrieben:Zur übersetzung:
Das heißt dann, wenn keine übersetzung für die sprache
existiert, lasst er den text so wie er ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice