Мне нужно добавить несколько языков в наши продукты на основе Qt. Я сделал несколько Google и получил несколько идей. Но я не смог найти один ответ: как файл '.ts' узнает, для какого языка он предназначен?
Например, в примере проекта: i18n.
Я удалил исходный файл «i18n_zh.ts» и использовал «lupdate» для создания нового файла «i18n_zh.ts». Затем я посмотрел на содержимое нового файла. У него есть эта строка:
TS version="2.1" language="zh_CN"
Затем я использовал инструмент «linguist», чтобы открыть новый файл «i18n_zh.ts», и обнаружил, что Qt знает, что это китайский перевод.
Откуда Qt узнал, что это китайский? Где таблица сопоставления? Подсказывает ли '_zh' в имени файла что-либо?
Некоторое содержимое в новом файле 'i18n_zh.ts':
?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>MainWindow</name>
<message>
<location filename="../languagechooser.cpp" line="176"/>
<location filename="../mainwindow.cpp" line="85"/>
<source>English</source>
<translation type="unfinished"></translation>
</message>