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".

(BusEngine.Localization)_localization.Load(null|string)

Метод (нестатический) уровня класса принимает string строку название языка для загрузки. Если язык не указан, будет применена попытка загрузить язык системы, потом язык по умолчанию "Belarusian".

(string)_localization.GetLanguage(string)

Метод (нестатический) уровня класса принимает string строку для получения из языкового файла значение указанной переменной. "string text_start_game = _localization.GetLanguage("text_start_game");" Если переменной нет в файле, то вернёт название переменной.

(void)_localization.SetLanguage(string, string)

Метод (нестатический) уровня класса принимает string строку для установки в языковой файл значение указанной переменной. "_localization.SetLanguage("text_start_game", "Начать игру");".

(string)BusEngine.Localization.GetLanguageStatic(string)

Метод (статический) уровня класса принимает 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.LanguageDefault

Поле (нестатическое) уровня класса принимает string строку для установки по умолчанию названия файла языковых перемен который будет загружаться, если не найден файл указанный в "_localization.Language". По умолчанию "Belarusian".

(string)_localization.Language

Поле (нестатическое) уровня класса принимает string строку для установки названия файла языковых перемен, который нужно загрузить сейчас. По умолчанию не установлено, загружается "BusEngine.Localization.LanguageDefault".

(string)_localization.File

Поле (нестатическое) уровня класса принимает string строку для установки названия иного файла языковых перемен. По умолчанию не установлено, загружается "BusEngine.Localization.Language". Если указать своё название, то этот файл должен находиться в папке с названием языка указанным в "_localization.Language".

(string)_localization.Format

Поле (нестатическое) уровня класса принимает string строку для установки расширения файла языковых перемен. По умолчанию "cfg".

Наверх

Свойства

(string)BusEngine.Localization.LanguageStatic

Свойство (статическое) уровня класса выводит string строку для получения названия файла языковых перемен, который загружен сейчас. По умолчанию загружается "BusEngine.Localization.LanguageDefault".

Наверх

События

(void)_localization.OnLoad

Событие (нестатическое) уровня класса принимает метод с двумя параметрами (object, string). Событие "_localization.OnLoad" будет вызывать ваш метод, когда вы вызываете загрузку языка "_localization.Load(string)" и передавать объект "BusEngine.Localization()" в первый параметр, и строку содержащую имя языка во второй параметр вашего метода.

(void)BusEngine.Localization.OnLoadStatic

Событие (статическое) уровня класса принимает метод с двумя параметрами (object, string). Событие "BusEngine.Localization.OnLoadStatic" будет вызывать ваш метод, когда вы вызываете загрузку языка "_localization.Load(string)" и передавать объект "BusEngine.Localization()" в первый параметр, и строку содержащую имя языка во второй параметр вашего метода.

Наверх

Пример файла Program.cs

В коде отражён запуск перевода при старте своего плагина с названием "MyPlugin".

  1. /** API BusEngine.Game - пользовательский код */
  2. namespace BusEngine.Game {
  3.     /** API BusEngine.Plugin */
  4.     public class MyPlugin : BusEngine.Plugin {
  5.         // при запуске BusEngine до создания формы
  6.         public override void Initialize() {
  7.             BusEngine.Log.Info("1 {0}", BusEngine.Localization.GetLanguageStatic("error"));
  8.             BusEngine.Localization language = new BusEngine.Localization();
  9.             language.LanguageDefault = "Belarusian";
  10.             language.Language = "Ukrainian";
  11.             language.File = "";
  12.             language.Format = "cfg";
  13.             language.Load();
  14.             // или
  15.             //new BusEngine.Localization().Load("Ukrainian");
  16.             BusEngine.Log.Info("2 {0}", BusEngine.Localization.GetLanguageStatic("error"));
  17.             BusEngine.Localization.SetLanguageStatic("error", BusEngine.Localization.GetLanguageStatic("error_warning"));
  18.             BusEngine.Log.Info("3 {0}", BusEngine.Localization.GetLanguageStatic("error"));
  19.         }
  20.     }
  21.     /** API BusEngine.Plugin */
  22. }
  23. /** API BusEngine.Game - пользовательский код */
Наверх