newbspguy icon indicating copy to clipboard operation
newbspguy copied to clipboard

Русификация?

Open Qwertyus3D opened this issue 2 years ago • 53 comments

А что делать, чтобы перевести программу? Будет какой-то внешний редактируемый файл?

Qwertyus3D avatar Nov 21 '22 16:11 Qwertyus3D

Да думаю можно будет сделать возможность выбирать язык, пока оставлю открытым, и если когда-то будет свободное время займусь

UnrealKaraulov avatar Nov 21 '22 17:11 UnrealKaraulov

Займусь этим когда окончательно отвяжу редактор от Sven Coop игры, все в настройки вынесу, затем перевод на другие языки

UnrealKaraulov avatar Nov 22 '22 05:11 UnrealKaraulov

Думаю на днях уже буду добавлять поддержку других языков, пока размышляю как все сделать быстро и безболезненно:)

UnrealKaraulov avatar Jan 05 '23 13:01 UnrealKaraulov

Хорошо!

Qwertyus3D avatar Jan 05 '23 14:01 Qwertyus3D

Сейчас подключу нормальный INI парсер, а не то что сейчас используется, потом можно будет и языковой файл делать.

UnrealKaraulov avatar Jan 06 '23 10:01 UnrealKaraulov

Я, наверно, могу перевести, снять часть нагрузки :)

Qwertyus3D avatar Dec 03 '23 23:12 Qwertyus3D

@Qwertyus3D добавил выбор языка в последней сборке

Ищет файлы language_[LANG].ini в папке с игрой. (В нижнем регистре)

То есть если есть файл language_ru.ini то добавит язык RU и будет использовать его.

UnrealKaraulov avatar Dec 10 '23 14:12 UnrealKaraulov

Ну, пункт меню Файл переведён, это роскошно :D

Qwertyus3D avatar Dec 10 '23 18:12 Qwertyus3D

@Qwertyus3D я не так написал, ищет файлы в папке с конфигом, и в папке с программой.

Но щас это один и тот же путь так что можно будет убрать один из них в будущем

UnrealKaraulov avatar Dec 10 '23 19:12 UnrealKaraulov

Ну, пункт меню Файл переведён, это роскошно :D

Да это была проба пера) в другой раз появится настроение переведу еще пару пунктов меню)))))

UnrealKaraulov avatar Dec 10 '23 19:12 UnrealKaraulov

У меня после подключения русифицированного файла полетели настройки расположения виджетов. Ну и перевод, вижу, что не шибко точный.

Qwertyus3D avatar Dec 12 '23 10:12 Qwertyus3D

@Qwertyus3D ну да я боту Codeium скормил файл что бы он его перевел) а почему расположение виджетов полетело хз, возможно разные языки сохраняются в конфиге imgui, я тогда вообще ничего с этим поделать не могу.

UnrealKaraulov avatar Dec 12 '23 12:12 UnrealKaraulov

Ну тут очевидно, что в imgui.ini сохраняется расположение окна вместе с именем окна, если имя изменилось, он его данные новой строчкой сохраняет, по новому имени, а не по служебному индексу названия окна.

Qwertyus3D avatar Dec 12 '23 13:12 Qwertyus3D

В общем, я сделал себе нормальный перевод, не механический. Пока ещё не совсем полный (пропустил всякие служебные сообщения). Вижу, в Настройках некоторые пункты не попали в переводимое, ну и в других виджетах тоже местами нельзя заголовки всякие перевести.

Есть ещё предложение сократить длину панелей с цифровыми значениями в окнах Настроек: General / Limits / Rendering / Controls. Они там занимают непропорционально большое место, из-за чего текстовые комментарии к ним не умещаются нормально. По типу этого: Controls

Qwertyus3D avatar Dec 12 '23 20:12 Qwertyus3D

Ещё есть проблема с окнами виджетов редактора лайтмап и слияния карт - они не масштабируются, как остальные.

А русификацией готов поделиться, разве что немного доперевести нужно.

Qwertyus3D avatar Dec 13 '23 00:12 Qwertyus3D

Не уверен, что всё правильно перевёл, но точно лучше машинного. Там просто есть некие технические термины, которые хрен пойми, что означают, так что их переводил по логике, а не из знания. Хотя, если подумать, то всякие технические сообщения, возможно, даже не стоило переводить, т. к. это дебаг, и, возможно, его лучше стоило бы оставить без перевода, чтобы лог и ошибки были на английском. А так старался использовать устоявшиеся термины, и чтобы текст в менюшках не сильно расползался, т. к. английские слова часто короче. language_ru.zip

Qwertyus3D avatar Dec 13 '23 10:12 Qwertyus3D

ну дебаг сообщения и бот неплохо перевел вроде бы)

есть еще места в коде где используется английский его автоматический скрипт мой не смог достать, по этому буду вручную доставать постепенно в lang файлы)

UnrealKaraulov avatar Dec 13 '23 10:12 UnrealKaraulov

@Qwertyus3D файл скачаю и проверю позже или можешь через pull request сделать

UnrealKaraulov avatar Dec 13 '23 11:12 UnrealKaraulov

В принципе, подумал, что Трансформация, наверно, стоило бы перевести как Манипуляция. Более точно по смыслу.

Qwertyus3D avatar Dec 13 '23 11:12 Qwertyus3D

Ещё не знаю, что такое в дебаге "Press me to decal" - подсказки нет, функция непонятно, что делает. И про своп 2-х моделей непонятно - какие-такие модели, что там с ними произойдёт? "Показать крестовину перемещения" - не уверен, что правильно понял "Show DragAxes".

Qwertyus3D avatar Dec 13 '23 12:12 Qwertyus3D

Press me to decal

ну это я декали хотел добавить но так и не добавил, мне нужно было найти куда их ставить и рисовать в нужных координатах их, я уже понял примерно как сделать но это позже

Ещё не знаю, что такое в дебаге "Press me to decal" - подсказки нет, функция непонятно, что делает. И про своп 2-х моделей непонятно - какие-такие модели, что там с ними произойдёт? "Показать крестовину перемещения" - не уверен, что правильно понял "Show DragAxes".

Ну две модели видно просто меняются местами, то есть сущность 1 была *30 а 2 *40, номера останутся те же, но модели поменяются местами. Это я не помню для чего делал, вроде как для CRC подмены что бы можно было модели новые добавлять на карту или хз сам толком не помню.

на счет Show DragAxes не знаю как перевести правильно что бы покороче было, бот выдает следующие варианты:

"Отобразить оси перемещения" "Показать оси перемещения" "Показ осей перемещения" "Показывать перемещение" "Отображение перемещений"

UnrealKaraulov avatar Dec 13 '23 13:12 UnrealKaraulov

Ну, тут я правильно понял, только почему-то мне показалось, что эта галка не работает. В принципе, "крестовина" нормально подходит по смыслу, а то под осями можно что угодно иметь в виду. Сейчас повторно прохожу по файлу, пытаюсь подправить перевод на более точный по смыслу.

Вообще подумал, что в Справку неплохо было бы добавить раздел Термины, чтобы дать пояснение по используемой терминологии, всяких специфических словечек. Может, даже отдельный файл мини-словарика сделать, чтоб не перегружать файл интерфейса. Больше, конечно, под локализованный вариант пригодилось бы.

Qwertyus3D avatar Dec 13 '23 13:12 Qwertyus3D

файл перегрузить нельзя, всмысле на производительность влиять не будет оно в хэштаблицу считанный из ini файла перевод записывает, и оттуда берет. Вроде как быстро т.к я не ощутил разиницу в ФПС после добавления lang файлов.

для удобства чтения кода можно будет в будущем get_localized_string(LANG_ID) заменить на get_localized_string("LANG_NAME"), но для пользователей это особого смысла не имеет так что спешить не буду с этим)

Если хочешь загрузи свой файл через pull request так будет понятнее

и "Плохая отсылка" как-то не вяжется, можно писать ссылка или смещение или что-то типа того , хз

UnrealKaraulov avatar Dec 13 '23 14:12 UnrealKaraulov

Или что-то типа "ссылка на плохую текстуру в ноде" и т.п)

ну или часть можно не переводить вообще т.к я думаю английские буквы все умеют читать.

LANG_0110 = Ошибка ссылки на фейс в marksurf {}: {} / {}\n
LANG_0111 = Ошибка ссылки на грань в surfedge {}: {} / {}\n
LANG_0112 = Ошибка ссылки на текстуру в textureinfo {}: {} / {}\n
LANG_0113 = Ошибка ссылки на плоскость в face {}: {} / {}\n

ну или же

LANG_0110 = Неправильная ссылка на фейс в marksurf {}: {} / {}\n
LANG_0111 = Неправильная ссылка на грань в surfedge {}: {} / {}\n
LANG_0112 = Неправильная ссылка на текстуру в textureinfo {}: {} / {}\n
LANG_0113 = Неправильная ссылка на плоскость в face {}: {} / {}\n

UnrealKaraulov avatar Dec 13 '23 15:12 UnrealKaraulov

Написал боту LangChain (codeium) "попробуй слэнг моделлирования" он выдал:

LANG_0111 = Проблема с ребром в surfedge {}: {} / {}\n
LANG_0112 = Проблема с текстурой в textureinfo {}: {} / {}\n
LANG_0113 = Проблема с плоскостью в face {}: {} / {}\n``` 

))))

UnrealKaraulov avatar Dec 13 '23 15:12 UnrealKaraulov

Я ещё дорабатываю перевод, сверяюсь с машинным для верности.

Qwertyus3D avatar Dec 13 '23 15:12 Qwertyus3D

@Qwertyus3D я переводил через Codeium бота он слегка туповат, но им было быстрее всего в VSCode выделял фрагментами файл и вводил команду перевода) Видно можно было бы ему задать больше параметров, типа делай текст короче, используй слэнг моделирования и т.п Но я не проверял)

Лень было вручную переводить)))

UnrealKaraulov avatar Dec 13 '23 16:12 UnrealKaraulov

Не пойму, почему в браузере текстур есть пункты Internal и Internal names, в чём разница?

Qwertyus3D avatar Dec 13 '23 16:12 Qwertyus3D

Я понял, что нет, но зачем 2 пункта, они не одно и то же означают?

Qwertyus3D avatar Dec 13 '23 19:12 Qwertyus3D

Тогда это какое-то странное название для пунктов. Internal и Internal names. Сбивает с толку. Как я представляю, нужен просто общий список задействованных текстур, что-то типа Used textures. Далее, при наличии - Embedded textures, то бишь - вшитые в карту, ну и за ними список всех подключенных вадов. И там уже можно какую-то галочку или другую отметку на текстуре, если она использована на карте. Вверх такие текстуры поднять, к примеру. А вот это - Internal и Internal names - это мало кто поймёт, о чём это.

Qwertyus3D avatar Dec 14 '23 04:12 Qwertyus3D