- О Fungus Lua
- Создать Меню
- LuaEnvironment
- LuaBindings
- LuaScript
- LuaUtils
- Модуль Fungus Lua
- Контроль Fungus
- Команда ExecuteLua
- PlayerPrefs
- LuaStore
- String Table
- Unity Test Tools
Локализация Текста
Компонент LuaUtils обеспечивает поддержку простой локализации текста.
- Определите ваши языковые строки в файле JSON и сохраните его в папке ресурсов проекта.
- Добавьте компонент LuaEnvironment в вашу сцену - например, Tools > Fungus > Create > LuaEnvironment
- В компоненте LuaUtils установите свойство String Table для ссылки на ваш файл JSON.
- Используйте синтаксис {$VarName} для подстановки локализованной строки везде, где поддерживается подстановка строк. например в сценарии Lua:
say("{$hello_world}")
Вы можете использовать синтаксис {$VarName} везде, где поддерживается подстановка переменных. Это включает:
- Команда Say
- Команда Menu
- Команда Set Text
- Команда Write
- Команда Conversation
- Character object - имя персонажа
- Команда Debug Log
- Команда Load Variable - сохранить ключ
- Команда Save Variable - сохранить ключ
- Команда Delete Save Key
Вы также можете расширить систему подстановки Fungus с помощью собственных компонентов. Реализуйте интерфейс StringSubstituter.ISubstitutionHandler в подклассе Monobehavior, а затем верните измененную строку из SubstituteStrings().
Формат JSON
{
"hello_world" : {
"en" : "Hello world!",
"fr" : "Bonjour le monde!",
"de" : "Hallo Welt!"
},
"goodbye_world" : {
"en" : "Goodbye world!",
"fr" : "Au revoir monde!",
"de" : "Auf Wiedersehen Welt!"
}
}
Это пример формата JSON для таблицы строк. Чтобы использовать эту локализованную строку, вы должны использовать тег {$hello_world}.
Функции Lua
Эти функции Lua доступны для работы с таблицей строк.
-- Установить активный язык для таблицы строк
setlanguage(languagecode)
-- получить именованную строку из таблицы строк
getstring(key)
-- Подставляет переменные и строки локализации в кусок текста
--[[ например, v = 10, «Значение вспомогательного элемента равно [$ v]» => «Значение дополнительного элемента равно 10» ]]
sub(text)
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.