Сгенерированные файлы Flutter intl, нулевая проблема безопасности

#flutter #dart #mobile #localization #intl

Вопрос:

Текущая версия моего проекта flutter-2.2.3, а версия моей библиотеки intl-0.17.0. Когда я добавляю новое значение в любой из моих языковых файлов, я получаю вставки синтаксиса безопасности null в файлах messages_all и l10n в сгенерированном файле. Фрагменты кода :

 MessageLookupByLibrary? _findExact(String localeName) {
  switch (localeName) {
    case 'ar':
      return messages_ar.messages;
    case 'de':
      return messages_de.messages;
    case 'en':
      return messages_en.messages;
    case 'fr':
      return messages_fr.messages;
    case 'ru':
      return messages_ru.messages;
    case 'tr':
      return messages_tr.messages;
    default:
      return null;
  }
}
 

MessageLookByLibrary?

Когда я редактирую свои языковые файлы :

 flutter pub global run intl_utils:generate
INFO: No @@locale or _locale field found in intl_ar, assuming 'ar' based on the file name.
INFO: No @@locale or _locale field found in intl_de, assuming 'de' based on the file name.
INFO: No @@locale or _locale field found in intl_en, assuming 'en' based on the file name.
INFO: No @@locale or _locale field found in intl_fr, assuming 'fr' based on the file name.
INFO: No @@locale or _locale field found in intl_ru, assuming 'ru' based on the file name.
INFO: No @@locale or _locale field found in intl_tr, assuming 'tr' based on the file name.
Process finished with exit code 0
 

Ошибки, подобные этой,

введите описание изображения здесь

Если я не внес никаких изменений, я не получу ошибку, но когда я внесу малейшее изменение, повторятся те же ошибки.

введите описание изображения здесь

Комментарии:

1. Пожалуйста, предоставьте свое сообщение об ошибке и немного больше контекста

2. Я добавил больше информации

Ответ №1:

проверьте, установлена ли у вас последняя версия intl_utils.

 flutter pub global list
 

Если вы не установили последнюю версию, выполните эту команду.
Вы можете проверить последнюю версию здесь

 flutter pub global activate intl_utils 2.4.1
 

Убедитесь, что имя пакета-intl_utils

Это, по крайней мере, помогло мне.

Овации

Ответ №2:

У меня была та же проблема с последней установленной версией (2.5.1) intl_utils. Что исправило это для меня, так это деактивация и повторная активация intl_utils.

Первый

 flutter pub global deactivate intl_utils
 

А затем переустановите последнюю версию

 flutter pub global activate intl_utils 2.5.1