🔼 | English 🇺🇸 | Русский 🇷🇺
Загрузить ассет с помощью AssetServer
:
let handle = asset_server.load("locales/ru-RU/main.ftl.ron");
Загрузить все ассеты, удовлетворяющие шаблону, с помощью AssetServerExt
:
use bevy_fluent::exts::bevy::AssetServerExt;
let handles = asset_server.load_glob("locales/**/main.ftl.ron")?;
Проверить статус загрузки ассета:
if let LoadState::Loaded = asset_server.get_load_state(handle) {
...
}
Проверить статус загрузки нескольких ассетов:
if let LoadState::Loaded = asset_server.get_group_load_state(handles) {
...
}
Создать резервную цепочку бандлов на основе резервной цепочки локалей с помощью
LocalizationBuilder
:
let localization = localization_builder.build(handles);
Запросить контент:
let hello_world = bundle_asset.content("hello-world")?;
let hello_world = localization.content("hello-world")?;
Локализация представляет собой резервную цепочку бандлов Fluent.
Ассет бандла - является абстракцией для представления
бандлов Fluent. Файл ассета бандла имеет расширение .ftl.ron
.
Ассет ресурса - является абстракцией для представления
ресурсов Fluent. Файл ассета ресурсов имеет
расширение .ftl
. Ассет ресурса является атомарной единицей хранения
информации на диске для Fluent.
Каждый ассет ресурса представляет собой набор сообщений. Cообщение является атомарной единицей перевода во Fluent.
Каждое сообщение имеет идентификатор.
Сообщения (как и термы, варианты, аттрибуты) хранят свои значения в виде паттернов.
Форматированный паттерн называется контентом.
Запрос представляет собой запрос на получение соответствующего заданным параметрам контента.