QT Linguist (ts)
Qt Linguist používá soubory TS (Translation Source) ve formátu XML pro správu lokalizace aplikací postavených na Qt s widgety Qt nebo Qt Quick. Nástroj lupdate extrahuje přeložitelné řetězce z C++ a QML zdrojů do souborů .ts; lrelease je kompiluje do binárních souborů .qm načítaných za běhu.
Soubory Qt TS jsou XML soubory obsahující elementy context, každý odpovídající zdrojovému souboru nebo logickému seskupení. Každý kontext obsahuje elementy message s elementem source (původní text) a elementem translation (přeložený text). Komentáře a nápovědy k rozlišení používají element comment. Stav překladu je sledován pomocí atributu type — unfinished, vanished nebo obsolete — pro správu životního cyklu aktualizací.
Osvědčená praxe: konzistentně používejte funkci tr() pro všechny uživatelsky viditelné řetězce v C++ a qsTr() v QML. Poskytujte text pro rozlišení pomocí parametru kontextu funkce tr() v případech, kdy stejný anglický řetězec vyžaduje různé překlady v různých kontextech. Pravidelně spouštějte lupdate, aby soubory .ts zůstávaly synchronizovány se změnami zdrojového kódu — zaniklé řetězce jsou zachovány a mohou být obnoveny, pokud byly náhodně odstraněny. Language Monster podporuje formát Qt Linguist TS a zpracovává elementy context a sledování stavu překladu.
