BusEngine.dll
BusEngine.Localization (Class)
Класс отвечающий за работу с Языковыми файлами. Это мультиязычность движка. В данной версии BusEngine включена поддержка Белорусского, Русского и Украинского языка.
Языковые файлы располагаются в папке "Localization". Папка "Localization" можно расположить там, где файл настроек проекта "*.busproject" или в папке игровых файлов "BusEngine.Engine.DataDirectory". Название папки "Localization" можно изменить в файле настроек проекта "*.busproject".
При создании проекта для WebGL (браузеров), языковые файлы будут преобразованы в json формат и помещены в папку "Localization" по пути нахождения игровых файлов "BusEngine.Engine.DataDirectory" (https://mysite.by/Localization/).
Методы
var _localization = (BusEngine.Localization)new BusEngine.Localization(null|string) |
Метод конструктор (нестатический) уровня класса принимает первым параметром string строку название языка для загрузки после вызова "_localization.Load()". Если язык не указан, будет применена попытка загрузить язык системы, потом язык по умолчанию "Belarusian". |
Метод (нестатический) уровня класса принимает string строку название языка для загрузки. Если язык не указан, будет применена попытка загрузить язык системы, потом язык по умолчанию "Belarusian". |
Метод (нестатический) уровня класса принимает string строку для получения из языкового файла значение указанной переменной. "string text_start_game = _localization.GetLanguage("text_start_game");" Если переменной нет в файле, то вернёт название переменной. |
Метод (нестатический) уровня класса принимает string строку для установки в языковой файл значение указанной переменной. "_localization.SetLanguage("text_start_game", "Начать игру");". |
Метод (статический) уровня класса принимает string строку для получения из языкового файла значение указанной переменной. "string text_start_game = BusEngine.Localization.GetLanguageStatic("text_start_game");" Если переменной нет в файле, то вернёт название переменной. |
(void)BusEngine.Localization.SetLanguageStatic(string, string) |
Метод (статический) уровня класса принимает string строку для установки в языковой файл значение указанной переменной. "BusEngine.Localization.SetLanguageStatic("text_start_game", "Начать игру");". |
Подклассы
Константы
Поля
Поле (нестатическое) уровня класса принимает string строку для установки по умолчанию названия файла языковых перемен который будет загружаться, если не найден файл указанный в "_localization.Language". По умолчанию "Belarusian". |
Поле (нестатическое) уровня класса принимает string строку для установки названия файла языковых перемен, который нужно загрузить сейчас. По умолчанию не установлено, загружается "BusEngine.Localization.LanguageDefault". |
Поле (нестатическое) уровня класса принимает string строку для установки названия иного файла языковых перемен. По умолчанию не установлено, загружается "BusEngine.Localization.Language". Если указать своё название, то этот файл должен находиться в папке с названием языка указанным в "_localization.Language". |
Поле (нестатическое) уровня класса принимает string строку для установки расширения файла языковых перемен. По умолчанию "cfg". |
Свойства
Свойство (статическое) уровня класса выводит string строку для получения названия файла языковых перемен, который загружен сейчас. По умолчанию загружается "BusEngine.Localization.LanguageDefault". |
События
Событие (нестатическое) уровня класса принимает метод с двумя параметрами (object, string). Событие "_localization.OnLoad" будет вызывать ваш метод, когда вы вызываете загрузку языка "_localization.Load(string)" и передавать объект "BusEngine.Localization()" в первый параметр, и строку содержащую имя языка во второй параметр вашего метода. |
Событие (статическое) уровня класса принимает метод с двумя параметрами (object, string). Событие "BusEngine.Localization.OnLoadStatic" будет вызывать ваш метод, когда вы вызываете загрузку языка "_localization.Load(string)" и передавать объект "BusEngine.Localization()" в первый параметр, и строку содержащую имя языка во второй параметр вашего метода. |
Пример файла Program.cs
В коде отражён запуск перевода при старте своего плагина с названием "MyPlugin".
- /** API BusEngine.Game - пользовательский код */
- namespace BusEngine.Game {
- /** API BusEngine.Plugin */
- public class MyPlugin : BusEngine.Plugin {
- // при запуске BusEngine до создания формы
- public override void Initialize() {
- BusEngine.Log.Info("1 {0}", BusEngine.Localization.GetLanguageStatic("error"));
- language.LanguageDefault = "Belarusian";
- language.Language = "Ukrainian";
- language.File = "";
- language.Format = "cfg";
- language.Load();
- // или
- //new BusEngine.Localization().Load("Ukrainian");
- BusEngine.Log.Info("2 {0}", BusEngine.Localization.GetLanguageStatic("error"));
- BusEngine.Localization.SetLanguageStatic("error", BusEngine.Localization.GetLanguageStatic("error_warning"));
- BusEngine.Log.Info("3 {0}", BusEngine.Localization.GetLanguageStatic("error"));
- }
- }
- /** API BusEngine.Plugin */
- }
- /** API BusEngine.Game - пользовательский код */