UnrealKaraulov / newbspguy

Goldsrc map viewer/editor without decompiling. Also can view .MDL models.
The Unlicense
63 stars 13 forks source link

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

Open Qwertyus3D opened 1 year ago

Qwertyus3D commented 1 year ago

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

UnrealKaraulov commented 1 year ago

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

UnrealKaraulov commented 1 year ago

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

UnrealKaraulov commented 1 year ago

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

Qwertyus3D commented 1 year ago

Хорошо!

UnrealKaraulov commented 1 year ago

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

Qwertyus3D commented 9 months ago

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

UnrealKaraulov commented 9 months ago

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

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

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

Qwertyus3D commented 9 months ago

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

UnrealKaraulov commented 9 months ago

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

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

UnrealKaraulov commented 9 months ago

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

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

Qwertyus3D commented 9 months ago

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

UnrealKaraulov commented 9 months ago

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

Qwertyus3D commented 9 months ago

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

Qwertyus3D commented 9 months ago

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

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

Qwertyus3D commented 9 months ago

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

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

Qwertyus3D commented 9 months ago

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

UnrealKaraulov commented 9 months ago

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

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

UnrealKaraulov commented 9 months ago

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

Qwertyus3D commented 9 months ago

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

Qwertyus3D commented 9 months ago

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

UnrealKaraulov commented 9 months ago

Press me to decal

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

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

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

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

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

Qwertyus3D commented 9 months ago

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

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

UnrealKaraulov commented 9 months ago

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

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

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

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

UnrealKaraulov commented 9 months ago

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

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

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 commented 9 months ago

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


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

))))
Qwertyus3D commented 9 months ago

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

UnrealKaraulov commented 9 months ago

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

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

Qwertyus3D commented 9 months ago

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

Qwertyus3D commented 9 months ago

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

Qwertyus3D commented 9 months ago

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

Qwertyus3D commented 9 months ago

Тем более, если текстуры находятся в WAD, какой же это тогда Internal? Это что ни на есть External.

Qwertyus3D commented 9 months ago

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

Я не умею пользоваться pull request. Заглянул туда, вижу там только кнопку нового реквеста, но ни тему, ни другие опции выбрать не предлагают. Или это как-то потом делается?

Перевод готов, но если грузить через pull request, хотелось бы понять, как это правильно сделать.

UnrealKaraulov commented 9 months ago

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

Я не умею пользоваться pull request. Заглянул туда, вижу там только кнопку нового реквеста, но ни тему, ни другие опции выбрать не предлагают. Или это как-то потом делается?

Перевод готов, но если грузить через pull request, хотелось бы понять, как это правильно сделать.

ну просто что бы осталось в истории)

По идее нужно выбрать файл language_ru.ini в репозитории этом и нажать редактировать, далее там предложит как это правильно сделать.

я сам толком не особо разбираюсь в github, но хуже точно не сделаешь))))

Qwertyus3D commented 9 months ago

Ну, я нажал Редактировать, мне предложили форкнуть. Я согласился, открылась правка, я выделил весь текст целиком и вставил свой. Потом нажал создать реквест. Вроде что-то получилось :)

Qwertyus3D commented 9 months ago

Вот на всякий случай файлом. language_ru.zip

Qwertyus3D commented 9 months ago

Там потерялись несколько строчек из того language_ru, который я делал. Одна с переводом и шесть пока не используемых, судя по всему.

LANG_0427 = ent_context LANG_0428 = empty_context LANG_0429 = face_context

LANG_1066 = ent_context LANG_1067 = empty_context LANG_1068 = face_context

LANG_1073 = Вставить

UnrealKaraulov commented 9 months ago

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

Qwertyus3D commented 9 months ago

Ну, я бы предложил доделать вывод в language(_ru).ini того текста, что относится к интерфейсу (есть ещё, что сделать), а всякие там сообщения лога и дебага можно на потом оставить. Я как раз готовил отчёт со скринами перед этим (ещё до того, как доделал перевод). В частности, вот что пропущено: miss08 miss07 miss06 miss05 miss04 miss03 miss02 miss01 В инфе о программе две ссылки на исходный гитхаб.

Qwertyus3D commented 9 months ago

Недопереведён виджет лимитов, левый столбец в главной вкладке и заголовки в подвкладках. Не переведены всплывающие подсказки о типах браш-моделей, которые нельзя скейлить. Для undo/redo нет перевода.

UnrealKaraulov commented 9 months ago

@Qwertyus3D пока добавил отображение подсказок для choices, и поддержку устаревших комментариев (в jack используется разделитель ':' а в sven coop например комментарии обычные '//') парсер у меня и так работает на "эфире" честном слове, так что наверное ничего страшного не случилось из-за того что еще больше хаков добавил (тупо меняет // на :: комментарии, и это заработало).

Qwertyus3D commented 9 months ago

В Свен Кооп комментарии сделаны не для редактора, видимо, а с расчётом, что их просто кто-то прочтёт, просматривая FGD.

UnrealKaraulov commented 9 months ago

@Qwertyus3D ну ладно тогда теперь смогут прочитать просматривая keyvalue editor ))

Psycrow101 commented 9 months ago

В переводе есть неточности. Памятью на отмену обычно называют размер выделенной физической памяти, а не количество операций на отмену. Undo Levels лучше перевести как "Шаги отмены".

Qwertyus3D commented 9 months ago

@Psycrow101 Тут вопрос не в дословности перевода, а чтоб отражало суть. Плюс чтоб влезал текст, т. к. кое-где с этим проблемы. Конкретно "Шаги отмены" - ну, можно и так перевести. Там просто всплывающей подсказки нету, можно было бы в неё впихнуть длинное объяснение.

Qwertyus3D commented 9 months ago

Местами я постарался на русском дать пояснение более детальное, чем было на английском, если была такая возможность. И кое-где в английской версии есть опечатки, так что её тоже можно доработать :) . Ну и русский вариант ещё можно шлифовать, я сам взглядом натыкаюсь иногда на что-то, что можно изменить.