Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Qwertyus3D opened this issue Nov 21, 2022 · 53 comments
Open

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

Qwertyus3D opened this issue Nov 21, 2022 · 53 comments
Labels
enhancement New feature or request

Comments

@Qwertyus3D
Copy link

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

@UnrealKaraulov
Copy link
Owner

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

@UnrealKaraulov UnrealKaraulov added the enhancement New feature or request label Nov 21, 2022
@UnrealKaraulov
Copy link
Owner

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

@UnrealKaraulov
Copy link
Owner

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

@Qwertyus3D
Copy link
Author

Хорошо!

@UnrealKaraulov
Copy link
Owner

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

@Qwertyus3D
Copy link
Author

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

@UnrealKaraulov
Copy link
Owner

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

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

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

@Qwertyus3D
Copy link
Author

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

@UnrealKaraulov
Copy link
Owner

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

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

@UnrealKaraulov
Copy link
Owner

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

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

@Qwertyus3D
Copy link
Author

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

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 12, 2023

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

@Qwertyus3D
Copy link
Author

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

@Qwertyus3D
Copy link
Author

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

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

@Qwertyus3D
Copy link
Author

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

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

@Qwertyus3D
Copy link
Author

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

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 13, 2023

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

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

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 13, 2023

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

@Qwertyus3D
Copy link
Author

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

@Qwertyus3D
Copy link
Author

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

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 13, 2023

Press me to decal

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

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

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

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

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

@Qwertyus3D
Copy link
Author

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

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

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 13, 2023

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

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

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

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

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 13, 2023

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

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

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
Copy link
Owner

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

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

))))

@Qwertyus3D
Copy link
Author

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

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 13, 2023

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

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

@Qwertyus3D
Copy link
Author

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

@Qwertyus3D
Copy link
Author

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

@Qwertyus3D
Copy link
Author

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

@Qwertyus3D
Copy link
Author

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

@Qwertyus3D
Copy link
Author

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

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

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

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 14, 2023

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

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

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

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

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

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

@Qwertyus3D
Copy link
Author

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

@Qwertyus3D

This comment was marked as outdated.

@Qwertyus3D
Copy link
Author

Там потерялись несколько строчек из того 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
Copy link
Owner

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

@Qwertyus3D
Copy link
Author

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

@Qwertyus3D
Copy link
Author

Qwertyus3D commented Dec 18, 2023

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

@UnrealKaraulov
Copy link
Owner

UnrealKaraulov commented Dec 18, 2023

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

@Qwertyus3D
Copy link
Author

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

@UnrealKaraulov
Copy link
Owner

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

@Psycrow101
Copy link

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

@Qwertyus3D
Copy link
Author

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

@Qwertyus3D
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants
@Psycrow101 @UnrealKaraulov @Qwertyus3D and others