Заполнитель Int в локализациях флаттера

Я пытаюсь добавить текстовую запись в файл «arb» с заполнителем типа int, но безуспешно, так как получаю следующую ошибку:

      Number format null for the times placeholder does not have a corresponding NumberFormat constructor.
Check the intl library's NumberFormat class constructors for allowed number formats.
Generating synthetic localizations package has failed.

Запись следующая:

        "increment_message": "You have pushed the button this many times: {times}",
  "@increment_message": {
    "placeholders": {
      "times": {
        "type": "int",
        "example": "123"
      }
    }
  }

Я знаю, что все остальное настроено правильно, потому что изменение заполнителя на String работает:

        "increment_message": "You have pushed the button this many times: {times}",
  "@increment_message": {
    "placeholders": {
      "times": {
        "type": "String",
        "example": "123"
      }
    }
  }

Полный код, если вы хотите запустить, размещен на github здесь:

Работа с использованием String

Неудачная ветка int

Итак, мой вопрос: как использовать целочисленный заполнитель в файле arb, похоже, что-то связано с NumberFormat но я не могу понять как.

2 ответа

Добавление свойства формата должно решить эту проблему.

       "increment_message": "You have pushed the button this many times: {times}",
  "@increment_message": {
    "placeholders": {
      "times": {
        "type": "int",
        "format": "decimalPattern",
        "example": "123"
      }
    }
  }

Я запустил ваше репо (ветви String и int), и все работает нормально. Ты пробовал flutter clean?

Другие вопросы по тегам