Невозможно получить строковые значения из файла XML с помощью пакета flutter easy_localization - PullRequest
0 голосов
/ 18 июня 2020

Я использую пакет easy_localization для локализации своего приложения. Я могу получить строковое значение из файлов ресурсов json, но удобнее делать это с файлами XML, поэтому я также использую пакет easy_localization_loader. Это мой pubspec.yaml файл:

dependencies:
    easy_localization: ^2.3.2
    easy_localization_loader: ^0.0.2

Это XML файл (расположен на assets/translations)

<?xml version="1.0" encoding="utf-8"?>
    <he>
        <title>מנהל משימות</title>
        <hello>שלום</hello>
        <login>התחברות</login>
        <shareApp>שתפו אפליקציה</shareApp>
    </he>

Основная функция моего приложения:

void main() async {
    runApp(EasyLocalization(
        supportedLocales: [Locale('en'), Locale('he')],
        path: 'resources/langs', // <-- change patch to your
        fallbackLocale: Locale('en'),
        assetLoader: XmlAssetLoader(),
        child: MyApp()));
 }

И вот как я загружаю переведенную строку в код (например, заголовок): 'title'.tr()

Я знаю, что он загружает файл XML, потому что у меня нет сообщения об ошибке (если я изменю значение пути, он говорит мне, что не может загрузить файл XML, поэтому я знаю, что в этом случае у него есть сообщение об ошибке), и он также работает для файла sh xml на английском языке. Но в моем приложении вместо отображения строкового значения отображается имя строки (например, вместо «מנהל משימות» отображается «title»). Если локальное устройство - Engli sh, значит, оно работает. Но это не работает для местного жителя иврита (он).

Что я делаю не так?

...