QTranslator *.ts Übersetzung in statischen Methoden ?

Verschiedenes zu Qt
Antworten
ralfwickum
Beiträge: 20
Registriert: 25. August 2015 13:29

QTranslator *.ts Übersetzung in statischen Methoden ?

Beitrag von ralfwickum »

Hallo,

ich habe eine *.ts Datei mit allen meinen Übersetzungen. In nicht statischen Klassen funktioniert alles Problemlos:

Code: Alles auswählen

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de_DE" sourcelanguage="en_GB">
<context>
    <name>MainWindow</name>
    <message>
        <location filename="MainWindow.cpp" line="60"/>
        <source>File</source>
        <translation>Datei</translation>
    </message>
</context>
</TS> 
Wenn es sich aber um eine statische Methode handelt, wovon keine Instanz erstellt wurde, funktioniert es nicht. Zum Beispiel gibt es hier in der KlasseMitStatischerMethode.cpp nur eine statische QFileDialog::getOpenFileName() Methode :

Code: Alles auswählen

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de_DE" sourcelanguage="en_GB">
<context>
    <name>MainWindow</name>
    <message>
        <location filename="MainWindow.cpp" line="60"/>
        <source>File</source>
        <translation>Datei</translation>
    </message>

    <name></name>
    <message>
        <location filename="KlasseMitStatischerMethode.cpp" line="70"/>
        <source>Open File ...</source>
        <translation>Öffne Datei ...</translation>
    </message>

</context>
</TS> 
Wie man sieht ist der tag <Name> dort leer? Wie mache ich es richtig?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QTranslator *.ts Übersetzung in statischen Methoden ?

Beitrag von Christian81 »

Und wie hast Du den Text zum Übersetzen markiert? mit tr() ?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ralfwickum
Beiträge: 20
Registriert: 25. August 2015 13:29

Re: QTranslator *.ts Übersetzung in statischen Methoden ?

Beitrag von ralfwickum »

Christian81 hat geschrieben:Und wie hast Du den Text zum Übersetzen markiert? mit tr() ?
Nein, bei statishcen Methoden habe ich statt des tr() das Makro QT_TR_NOOP() verwendet.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QTranslator *.ts Übersetzung in statischen Methoden ?

Beitrag von Christian81 »

Dann gibts auch keinen Context
Using QT_TR_NOOP() and QT_TRANSLATE_NOOP()

If you need to have translatable text completely outside a function, there are two macros to help: QT_TR_NOOP() and QT_TRANSLATE_NOOP(). These macros merely mark the text for extraction by lupdate. The macros expand to just the text (without the context).
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten