Sprachwechsel, Translator
Sprachwechsel, Translator
Hi,
stehe grade vor folgendem Problem. Bei Sprachwechsel muss ich die Strings ja alle übersetzen. Jetzt habe ich zB ein LineEdit in dem "fertig" geschrieben wurde weil etwas beendet wurde. Im Translator file ist aber ja nur finished hinterlegt. Wie re-übersetzt ihr sowas? Also wie komme ich an den "Ursprungstext"???
Greetz
stehe grade vor folgendem Problem. Bei Sprachwechsel muss ich die Strings ja alle übersetzen. Jetzt habe ich zB ein LineEdit in dem "fertig" geschrieben wurde weil etwas beendet wurde. Im Translator file ist aber ja nur finished hinterlegt. Wie re-übersetzt ihr sowas? Also wie komme ich an den "Ursprungstext"???
Greetz
Hab ich doch!
Habe alle Sprachfiles drin. Im Fall eines Updates zum beispiel werte ich das ergebnis aus. Dann steht in nen Label zum Beispiel: "Update erfolgreich" -> das resultiert aber aus label->setText(tr("update ok"));
Das bedeutet das "Update erfolgreich" nirgends gefunden wird. Ich muss also irgendwie an "update ok" kommen. Damit ich beim Sporachwechsel (zB auf Spanish) dann wieder beim LanguageChangeEvent ein setText(tr("update ok")) machen kann. retranslateUI fängt das ja nicht ab, da ja für "update erfolgreich keine Übersetzung voliegt!
Habe alle Sprachfiles drin. Im Fall eines Updates zum beispiel werte ich das ergebnis aus. Dann steht in nen Label zum Beispiel: "Update erfolgreich" -> das resultiert aber aus label->setText(tr("update ok"));
Das bedeutet das "Update erfolgreich" nirgends gefunden wird. Ich muss also irgendwie an "update ok" kommen. Damit ich beim Sporachwechsel (zB auf Spanish) dann wieder beim LanguageChangeEvent ein setText(tr("update ok")) machen kann. retranslateUI fängt das ja nicht ab, da ja für "update erfolgreich keine Übersetzung voliegt!
Irgendwie reden wir aneinander vorbei?
Jetzt hast du z.b. drei sprachdateien:
translation_en
translation_es
translation_de
In allen drei wird "Update OK" als key geführt, und jetzt musst du als übersetzung halt auch "Update OK" angeben, oder eben auf spanisch.
Poste doch mal den inhalt (die zeile mit "update ...") aus deinen sprachfiles und die stelle im source wo das verwendet wird.
Code: Alles auswählen
deinLabel->setText(QObject::tr("Update OK"));translation_en
translation_es
translation_de
In allen drei wird "Update OK" als key geführt, und jetzt musst du als übersetzung halt auch "Update OK" angeben, oder eben auf spanisch.
Poste doch mal den inhalt (die zeile mit "update ...") aus deinen sprachfiles und die stelle im source wo das verwendet wird.
genau.... ich glaube auch wir reden aneinander vorbei 
Ich versuchs nocnmal besser zu beschreiben:
0) Sprache steht auf deutsch
1) Der Update Process (QProcess) kehrt mit Exitcode "0" zurück woraufhin ich ein label->setText(tr"Update Ok"); mache was dazu führt das das Label aus den Translator mit "Update erfolgreich" gefüttert wird.
2) Der Benutzer schaltet die Sprache um (sagen wir Spanisch)
Genau hier kommt mein Problem -> im label steht "Update erfolgreich", das kommt aber nirgends vor. Was ich quasi in dem Fall brauche wäre der Sourcetext, der dazu geführt hat das dort "Update erfolgreich" steht. Denn nur dieser ist in allen anderen Translationfiles verfügbar.
Verstehst du worauf ich hinaus möchte? Ich weiß nicht was in dem Label steht (bzw was dort drin steht kann ich nicht re-übersetzen und hilft mir ja so nichts oder?)
Ich versuchs nocnmal besser zu beschreiben:
0) Sprache steht auf deutsch
1) Der Update Process (QProcess) kehrt mit Exitcode "0" zurück woraufhin ich ein label->setText(tr"Update Ok"); mache was dazu führt das das Label aus den Translator mit "Update erfolgreich" gefüttert wird.
2) Der Benutzer schaltet die Sprache um (sagen wir Spanisch)
Genau hier kommt mein Problem -> im label steht "Update erfolgreich", das kommt aber nirgends vor. Was ich quasi in dem Fall brauche wäre der Sourcetext, der dazu geführt hat das dort "Update erfolgreich" steht. Denn nur dieser ist in allen anderen Translationfiles verfügbar.
Verstehst du worauf ich hinaus möchte? Ich weiß nicht was in dem Label steht (bzw was dort drin steht kann ich nicht re-übersetzen und hilft mir ja so nichts oder?)
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ich finde diese Art von Übersetzung nun wirklich übertrieben. Das ist ja fast so als müsste man alle Debugausgaben nach dem Sprachwechsel übersetzen...
Wenn es wirklich sein muss musst Du Dir wohl merken was Du in das Label geschrieben hast und es dann per tr() neu reinschreiben.
Wenn es wirklich sein muss musst Du Dir wohl merken was Du in das Label geschrieben hast und es dann per tr() neu reinschreiben.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ok.... wir sind da an die Grenzen gestoßen..... Das überserten scheint dann nur für statische Texte zu gehen:
Aus der ui:
Aus der ui:
Code: Alles auswählen
textLabel_warnings->setText(QApplication::translate("MainWidget", "Warnings:", 0, QApplication::UnicodeUTF8));-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten: