BasilYes / godot-yandex-games-sdk

Yandex games SDK implementation for godot
MIT License
86 stars 7 forks source link

Проблема с локализацией и ее решение #25

Open SUWAROW opened 1 month ago

SUWAROW commented 1 month ago
func _ready() -> void:
    Yandex.init_game()
    await Yandex.game_initialized
    TranslationServer.set_locale(Yandex.lang)

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

BasilYes commented 1 month ago

Зачем? Вызов смены языка буквально находиться перед вызовом сигнала

func _game_initialized(args) -> void:
    app_id = args[0].app.id
    lang = args[0].i18n.lang
    tld = args[0].i18n.tld
    payload = args[0].payload
    is_game_initialized = true
    TranslationServer.set_locale(lang) # Вот вызов set_locate
    game_initialized.emit() #  Вот вызов сигнала

Про корневую сцену ничего не нашел в документации, в другом проекте делал делал set_locale из синглтона, все работало прекрастно на лету image

SUWAROW commented 1 month ago

Зачем? Вызов смены языка буквально находиться перед вызовом сигнала

func _game_initialized(args) -> void:
  app_id = args[0].app.id
  lang = args[0].i18n.lang
  tld = args[0].i18n.tld
  payload = args[0].payload
  is_game_initialized = true
  TranslationServer.set_locale(lang) # Вот вызов set_locate
  game_initialized.emit() #  Вот вызов сигнала

Про корневую сцену ничего не нашел в документации, в другом проекте делал делал set_locale из синглтона, все работало прекрастно на лету image

Уточни на какой версии Godot ты ведешь разработку?

BasilYes commented 1 month ago

4.3

SUWAROW commented 1 month ago

4.3

https://github.com/godotengine/godot/issues/85051

Короче, эта проблема была и якобы она не повторяется на 4.3. У тебя 4.3. релизная или предыдущие? Или может что-то нужно сделать помимо описанного тобой в readme.md?

BasilYes commented 1 month ago

Добавил функцию уже на 4.3 где-то на последних бетах. В любом случае, чтобы билд для яндекса сделать нужен 4.3

BasilYes commented 2 weeks ago

Проблема решена или нет? Могу закрывать?

SUWAROW commented 2 weeks ago

Нет, не получилось. Мы ушли с плагина на добавление СДК в .