Для работы с числительными я в баттерлибе запилил функцию, которая поддерживает русский язык более полно. Вот пример использования: {DAYS_UNDER_SERVICE} {?DAYS_UNDER_SERVICE.PLURAL_FORM}дней{?}{?DAYS_UNDER_SERVICE.OTHER_PLURAL_FORM}дня{?}день{\?}{\?} В таком виде возможные варианты как это будет выглядеть в игре:
121 день
74 дня
11 дней
Не вижу чтобы кто-нибудь кроме меня её использовал, но если есть потребность, можно попробовать обратиться к авторам модов.
.PLURAL_FORM - множественное число .OTHER_PLURAL_FORM - уникальная для русского форма множественного числа, которая применяется для чисел, заканчивающихся на 2,3,4, за исключением чисел, заканчивающихся на 12,13,14 последняя опция (по сути, ни первое ни второе) - единственное число
Это предложение будет восстанавливаться {NUMBER_OF_DAYS} {?NUMBER_OF_DAYS.PLURAL_FORM}дня{?}дней{\?} В данном случае отсутствует единственное число и везде где только два варианта численности, там не будет единственного числа?
Что меня ввело в заблуждение: {FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений{?}феодальное владение{\?} которое они {?AT_WAR}{?}не смогут{\?} взять с собой
Spoiler:
Show
То что должно было быть в единственном числе было во множественном и наоборот. Я еще мало времени поиграл с этим модом будучи правителем королевства, чтобы собрать все свои косяки и исправить их.
Во-первых, пардон, вместо "OTHER_PLURAL_FORM" должно быть "SPECIFIC_SINGULAR_FORM". Это я в коде поправил, а в черновике перевода ещё нет.
Дальше смотри, эти записи следует читать следующим образом: {?условие}текст при выполнении условия{?}текст при НЕвыполнении условия{\?} В базовом варианте у тебя условие .PLURAL_FORM - что число множественное. Эта проверка уже включает в себя все виды исключений. Т.е. в русском языке для чисел 101 или 22 она не выполнится и у тебя выведется единственное число. Когда у тебя строка вида {FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений{?}феодальное владение{\?} возможны следующие варианты текста:
"7 феодальных владений"
"11 феодальных владений"
"1 феодальное владение"
"2 феодальное владение"
"22 феодальное владение"
Получается, что в особых кейсах (2,3,4 кроме 12,13,14) у нас хрень. Чтобы стало нормально, нужно усложнить выражение, втиснув во вторую его часть ещё одно вложенное условие: {?условие1}текст при выполнении условия1{?}{?условие2}текст при выполнении условия2{?}текст при НЕвыполнении условий 1 или 2{\?}{\?} Если ты у себя используешь {FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений{?}{?FIEFS.SPECIFIC_SINGULAR_FORM}феодальных владения{?}феодальное владение{\?}{\?} то получится полностью нормальный вариант:
Немножко исправить и все теперь идеально!) {FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений{?}{?FIEFS.SPECIFIC_SINGULAR_FORM}феодальное владение{?}феодальных владения{\?}{\?}
Странно, в моем понимании {?FIEFS.SPECIFIC_SINGULAR_FORM}феодальное владение{?}феодальных владения{\?}{\?} должно быть заполнено наоборот чтобы работало как на скрине. Значит что-то не так. Пошел разбираться.
UPD: и сразу нашел баг. В версии 2.0.0.3 они таки поменяются местами и будет как я писал писал постом выше.
<string id="JhJW9KQcw" text="{TROOPS} {?TROOPS.PLURAL_FORM}способных воинов{?}способных воинов{\?} из {WAR_PARTIES} {?WAR_PARTIES.PLURAL_FORM}отряда войск{?}отрядов войск{\?}" /> Не хочет принимать два параметра сразу. Только один параметр принимает {?} или {\?}.
Спасибо большое исправил. А как бы переиграть слово которые, или это нельзя без изменений в коде?
<string id="IA3iGGsYf" text="{FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений{?}{?FIEFS.SPECIFIC_SINGULAR_FORM}феодальных владения{?}феодальное владение{\?}{\?} которые которое которых{?AT_WAR} {?} {\?} они не смогут взять с собой" /> Можно ли для этого использовать AT_WAR {?AT_WAR}will{?}won't be able to{\?} но мои попытки не увенчались успехом. Ведь это отвечает за true false?) Просто напрашивается убрать слово которые(ое)(ых). Вот и обыграл. xD
Я бы сказал, что тут напрашивается внести слово внутрь условной части. <string id="IA3iGGsYf" text="{FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений, которые{?}{?FIEFS.SPECIFIC_SINGULAR_FORM}феодальных владения, которые{?}феодальное владение, которое{\?}{\?} они {?AT_WAR}смогут{?}не смогут{\?} взять с собой" />
Решил лучше убрать слово которое, а оказывается всегда есть решение. И все было так просто... Походу пора отдохнуть. Еще заметил, что они почти никогда не берут с собой владения. Там где-то 0.001 вероятность. Можно ли добавить в будущем такую опцию настройки? Типа: 0% Родное значение - 100% Всегда.
В ближайшее время у меня точно таких планов нет, если буду делать, то нужно подумать, как это организовать нормально в рамках всей игры. По сути это ведь ванильная логика. Кланы приходят в королевство вместе со своими владениями только в одном случае - если они дезертируют из другого королевства, которое на момент предательства находится в состоянии войны с тем королевством, куда они переметнулись. И это мне кажется нормальным.
Можно, конечно, подумать о всяких сепаратистских фракциях (интеграция с Diplomacy), но это довольно мутная тема, как мне кажется. Как минимум, требует серьёзного осмысления.
Точно! Спасибо что напомнил. У них адрес в файле повторялся, заодно идею им эту внедрю. Было бы интересно альтернативное мирное завоевание Кальрадии. Выполнять задания, завоевывать уважение у каждого лидера. Да понимаю, это тот еще геморрой....
Привет. В архиве лежит папка Modules с несколькими вложенными папками, повторяющими и расширяющими дерево мода. Вот её целиком и надо скопировать в папку с игрой. Это приведет к тому, что нужные файлы с переводом окажутся на нужном месте.
Переводы не ставятся корректно через Vortex? Кидает их в папку Mount & Blade II Bannerlord, а не в Modules (хотя структура архива с переводом такая же, как и у мода). В остальном - спасибо за проделанную работу!
Не использую Vortex. Подозреваю, что он может корректно работать только если добавить к архиву SubModule.xml, но в этом нет смысла когда мод является переводом и не понятно, как Vortex при этом поведёт себя с файлами оригинального мода.
UPD: убрал опцию загрузки через Vortex, раз она не работает. Чуть позже попробую перепаковать перевод, чтобы архив включал в себя папку Modules. Думаю это решит проблему.
Еще одну вещь обнаружил - в строке <tag language="Russian" /> нужно заменить на "Русский" (не знаю, для всех русификаторов ли так, но для перевода от commando.com.ua точно; плюс для корректного отображения в последних версиях MCM)
Я не использую локализации, так что не было возможности проверить. Я так понимаю, в переводе от commando.com.ua такой тэг языка используется? Чисто из любопытства - что сейчас не так, если к игре с этим переводом добавить мой мод? Ничего не переведено и в настройках два разных русских языка? Что касается MCM, то с ним одинаково по идее должно работать, что с <tag language="Русский" />, что с <tag language="Russian" />.
Хорошо, я поправлю это, спасибо за информацию. Если будут расхождения в терминологии с общим переводом, тоже пиши. Я думал об этом, но мне не хотелось его ставить только чтобы сравнить словарь, т.к. насколько я понимаю, они заменяют некоторые ресурсы игры - тяжко будет потом вычищать.
Если оставить тэг таким же, то всё просто на английском (по крайней мере в меню MCM, в игре не посмотрел), но в настройках игры появляется возможность выбрать язык "Russian"; если это сделать, то игра крашится. После замены тэга на "Русский", что в меню MCM, что в игре - всё отлично
У тебя версия игры e1.4.1? Я тестировал на e.1.4.2, там TaleWorlds подкрутили локализацию и она больше не крашит клиент даже без дополнительных танцев с бубнами. Игра действует так - она ищет по всем папкам с ресурсами имена языков, автоматически добавляет всё найденное в меню. Но раньше был баг/недоработка - они не все внутренние справочники при этом автоматически обновляли и в результате при переключении языка игра крашилась. Оф. перевод видимо решает эту проблему для своего языка. А я тестировал на e.1.4.2, где все работает хорошо сразу - и забыл проверить как это на e1.4.1.
40 comments
Ещё раз спасибо @hrziox за оперативный выпуск временного фикса!
Насколько сейчас версия мода актуальна?
Очень хорошо зашли бы скриншоты переведенных меню (хотя бы основных).
Я планировал обновить перевод, но руки никак не доходили.
Вот пример использования:
{DAYS_UNDER_SERVICE} {?DAYS_UNDER_SERVICE.PLURAL_FORM}дней{?}{?DAYS_UNDER_SERVICE.OTHER_PLURAL_FORM}дня{?}день{\?}{\?}
В таком виде возможные варианты как это будет выглядеть в игре:
Не вижу чтобы кто-нибудь кроме меня её использовал, но если есть потребность, можно попробовать обратиться к авторам модов.
.OTHER_PLURAL_FORM - уникальная для русского форма множественного числа, которая применяется для чисел, заканчивающихся на 2,3,4, за исключением чисел, заканчивающихся на 12,13,14
последняя опция (по сути, ни первое ни второе) - единственное число
{FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений{?}феодальное владение{\?} которое они {?AT_WAR}{?}не смогут{\?} взять с собой
То что должно было быть в единственном числе было во множественном и наоборот.
Я еще мало времени поиграл с этим модом будучи правителем королевства, чтобы собрать все свои косяки и исправить их.
Дальше смотри, эти записи следует читать следующим образом:
{?условие}текст при выполнении условия{?}текст при НЕвыполнении условия{\?}
В базовом варианте у тебя условие .PLURAL_FORM - что число множественное. Эта проверка уже включает в себя все виды исключений.
Т.е. в русском языке для чисел 101 или 22 она не выполнится и у тебя выведется единственное число. Когда у тебя строка вида
{FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений{?}феодальное владение{\?}
возможны следующие варианты текста:Получается, что в особых кейсах (2,3,4 кроме 12,13,14) у нас хрень. Чтобы стало нормально, нужно усложнить выражение, втиснув во вторую его часть ещё одно вложенное условие:
{?условие1}текст при выполнении условия1{?}{?условие2}текст при выполнении условия2{?}текст при НЕвыполнении условий 1 или 2{\?}{\?}
Если ты у себя используешь
{FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений{?}{?FIEFS.SPECIFIC_SINGULAR_FORM}феодальных владения{?}феодальное владение{\?}{\?}
то получится полностью нормальный вариант:{FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений{?}{?FIEFS.SPECIFIC_SINGULAR_FORM}феодальное владение{?}феодальных владения{\?}{\?}
UPD: и сразу нашел баг. В версии 2.0.0.3 они таки поменяются местами и будет как я писал писал постом выше.
Спасибо вам что помогли исправить перевод.
Если нет возражений, давай на "ты".
Не хочет принимать два параметра сразу. Только один параметр принимает {?} или {\?}.
<string id="JhJW9KQcw" text="{TROOPS} {?TROOPS.PLURAL_FORM}способных воинов{?}{?TROOPS.SPECIFIC_SINGULAR_FORM}способных воина{?}способный воин{\?}{\?} из {WAR_PARTIES} {?WAR_PARTIES.PLURAL_FORM}отрядов войск{?}{?WAR_PARTIES.SPECIFIC_SINGULAR_FORM}отрядов войск{?}отряда войск{\?}{\?}" />
А как бы переиграть слово которые, или это нельзя без изменений в коде?
<string id="IA3iGGsYf" text="{FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений{?}{?FIEFS.SPECIFIC_SINGULAR_FORM}феодальных владения{?}феодальное владение{\?}{\?} которые которое которых {?AT_WAR} {?} {\?} они не смогут взять с собой" />
Можно ли для этого использовать AT_WAR {?AT_WAR}will{?}won't be able to{\?} но мои попытки не увенчались успехом. Ведь это отвечает за true false?)
Просто напрашивается убрать слово которые(ое)(ых). Вот и обыграл. xD
<string id="IA3iGGsYf" text="{FIEFS} {?FIEFS.PLURAL_FORM}феодальных владений, которые{?}{?FIEFS.SPECIFIC_SINGULAR_FORM}феодальных владения, которые{?}феодальное владение, которое{\?}{\?} они {?AT_WAR}смогут{?}не смогут{\?} взять с собой" />
Походу пора отдохнуть.
Еще заметил, что они почти никогда не берут с собой владения. Там где-то 0.001 вероятность.
Можно ли добавить в будущем такую опцию настройки?
Типа: 0% Родное значение - 100% Всегда.
Можно, конечно, подумать о всяких сепаратистских фракциях (интеграция с Diplomacy), но это довольно мутная тема, как мне кажется. Как минимум, требует серьёзного осмысления.
Было бы интересно альтернативное мирное завоевание Кальрадии.
Выполнять задания, завоевывать уважение у каждого лидера.
Да понимаю, это тот еще геморрой....
В остальном - спасибо за проделанную работу!
UPD: убрал опцию загрузки через Vortex, раз она не работает.
Чуть позже попробую перепаковать перевод, чтобы архив включал в себя папку Modules. Думаю это решит проблему.
Спасибо за информацию!
Хорошо, я поправлю это, спасибо за информацию. Если будут расхождения в терминологии с общим переводом, тоже пиши. Я думал об этом, но мне не хотелось его ставить только чтобы сравнить словарь, т.к. насколько я понимаю, они заменяют некоторые ресурсы игры - тяжко будет потом вычищать.
Заменил всё работает )))
Спасибо за работу !
Перепаковал и выложил исправленный файл.
Ещё раз спасибо за проделанную работу и за быстрый отклик!
UPD: по поводу расхождения в терминологии переводов - всё отлично, никаких замечаний нет
Если не сложно, проверь, пожалуйста, нормально ли теперь Vortex ставит перевод.