[quote=“Savidiy, post:44, topic:1584”]Ну тут конкретных проблем пока не видно. Например, содержимое емкостей решается использованием не gettext(“of”) + gettext(“water”), а gettext(“of water”). Первое возвращает “вода”, второе “с водой”… Если такая конструкция нигде не используется. Варианты повреждений экипировки аналогично вместо “cargo pants”, “shattered cargo pants”. Описание рукопашного боя на английском с костылями генерируется, так что и тут оно возможно. Решается case language. Синхронизация решается организационными методами: если в каком-то файле хранить список таких мест (а когда создаешь перевод этот список образуется), то кто-то правит такой блок на английском и делает пометку в этом файле. Остальные правят и ставят свою отметку о том, что такие-то правки получили синхронизацию в такой-то локализации.
Локализации придется постоянно поддерживать, ведь любое добавление контента влечет добавление английских слов. Это ведь рогалик - здесь одной картинкой не отмажешься, текста всегда много.[/quote]
case language и заточенный под конкретный язык gettext это и есть ужасные костыли. Переводить то так конечно удобно, но вот работать потом с таким кодом - ад. Если для вывода одной строки текста придется городить что-то вроде: case english: gettext(item); break; case russian gettext(foo) + gettext(item); case japan gettext(item) + gettext(bar); case … и еще десяток языков таким же образом, то это будет помойка, а не код. Это мусор посреди кода с логикой, который будет постоянно мелькать перед глазами, захламляя его десятками не нужных и бесполезных конструкций. Да и, опять же, постоянно ломаться, т.к. рядовой коммитер понятия не имеет какой смысл во всех этих конструкциях с албанским, филиппинским и уругвайским языках, и вся литературность на языках отличных от английского будет регулярно отваливаться от любых изменений\расширений смысла\контекста или просто с добавлением новых предметов, прекрасно сочетающийся с английским кейсом, но не с прочими. Да или банально строки на других языках он не знает, добавляя отображение дополнительного параметра в описании предмета. Опять костыли - под уругвайский язык еще и отображение описания предмета придется делать отдельное, с переносом, чтоб в строку влезало. В общем, мне такой вариант совсем не нравится. Хочется переводить - на здоровье, геттекст для названия предмета никому не помешает. А вот языко-зависимый литературный перевод будет своей логикой очень даже мешать. Лично я совсем не хотел бы увидеть что-то подобное в основной ветке, продираться через стены кейсов ради тупого добавления единственной строчки при использовании предмета. Неудобств от этой гадости будет огромная гора при любом изменении кода. Ну или свой форк под конкретный язык, он тоже никому не помешает.