Я смотрю на QT4-игру с открытым исходным кодом (http://cockatrice.de),), и она использует QTranslator для интернационализации. Однако каждая фраза, которая относится к игроку, использует местоимение мужского рода («его рука», «его колода»)., "он делает то-то и то-то" и т. д.)
Моей первой мыслью для исправления этого было бы просто заменить каждый экземпляр "его" или "он" переменной, для которой установлено правильное значение.местоимение гендера, но я не знаю, как это повлияет на переводы. Но для перевода / интернационализации это может сломаться, особенно если пол местоимения влияет на остальную часть фразы.
Кто-нибудь еще работал с этимВ некотором роде проблема? Можно ли выделить местоимение и фразу хотя бы на простых языках (например, в данном случае на английском)? Будет ли в файле перевода копия каждой фразы для каждого родового местоимения?хотя бы размер файла перевода)?
пример кода из того, как он настроен в данный момент:
вызовИсточник:
case CaseNominative: return hisOwn ? tr("his hand", "nominative") : tr("%1's hand", "nominative").arg(ownerName);
case CaseGenitive: return hisOwn ? tr("of his hand", "genitive") : tr("of %1's hand", "genitive").arg(ownerName);
case CaseAccusative: return hisOwn ? tr("his hand", "accusative") : tr("%1's hand", "accusative").arg(ownerName);
Английский перевод:
<message>
<location filename="../src/cardzone.cpp" line="51"/>
<source>his hand</source>
<comment>nominative</comment>
<translation type="unfinished"></translation>
</message>