Hier ist das Zitat aus den Qt documentation:Qt Ressource Internationalisierung nicht
Einige Ressourcen ändern müssen, basierend auf dem Gebietsschema des Benutzers, wie Übersetzungsdateien oder Symbole. Dies geschieht durch Hinzufügen eines Lang-Attributs zu dem Qresource-Tag, das eine geeignete Gebietsschema-Zeichenfolge angibt. Zum Beispiel:
<qresource> <file>cut.jpg</file> </qresource> <qresource lang="fr"> <file alias="cut.jpg">cut_fr.jpg</file> </qresource>
Wenn das Gebietsschema des Benutzers ist Französisch (dh QLocale :: system() name() "fr_FR" zurückgibt.): /cut.jpg ein Verweis auf das cut_fr.jpg Bild wird . Für andere Locales wird cut.jpg verwendet.
Ich versuche, dies zu tun, und ich scheitere. Hier ist ein Teil von meiner * .qrc Datei:
<qresource>
<file>HtmlTemplates/angle.html</file>
<file>HtmlTemplates/bottom.html</file>
<file>HtmlTemplates/top.html</file>
</qresource>
<qresource lang="en">
<file alias="HtmlTemplates/angle.html">HtmlTemplates/en/angle.html</file>
<file alias="HtmlTemplates/bottom.html">HtmlTemplates/en/bottom.html</file>
<file alias="HtmlTemplates/top.html">HtmlTemplates/en/top.html</file>
</qresource>
Wie Sie sehen, es folgt genau das gleiche Muster wie das Beispiel im Handbuch. jedoch diese Datei zu kompilieren versuchen, ergibt dies:
..\Blinky_2.0\resources.qrc: Warning: potential duplicate alias detected: 'angle.html'
..\Blinky_2.0\resources.qrc: Warning: potential duplicate alias detected: 'bottom.html'
..\Blinky_2.0\resources.qrc: Warning: potential duplicate alias detected: 'top.html'
Und wenn ich versuche, die * .qrc Datei in QtCreator zu ändern, setzt er es zu einem falschen Zustand Löschen der lang
Attribute:
<qresource prefix="/">
<file>HtmlTemplates/angle.html</file>
<file>HtmlTemplates/bottom.html</file>
<file>HtmlTemplates/top.html</file>
<file alias="HtmlTemplates/angle.html">HtmlTemplates/en/angle.html</file>
<file alias="HtmlTemplates/bottom.html">HtmlTemplates/en/bottom.html</file>
<file alias="HtmlTemplates/top.html">HtmlTemplates/en/top.html</file>
</qresource>
Ich bin gezwungen, Ressourcen für verschiedene Gebietsschemas in meinem Code zu durchlaufen. Fehle ich etwas oder ist das ein Qt-Bug? Qt-Version ist 4.8.4, QtCreator-Version ist 2.8.1.