How to get a localization message with a dynamic string key value in Flutter?

Dart does not have square brackets property accessor (object['property']) on class instances.
Therefore, it is not possible to access localization messages in that way.





However, if you want to access a certain message according to the value of a variable (e.g. the value returned from the server), you can use the ICU Select type of messages. These messages work well with a smaller set of predefined values like constants and enums.

Localization message in arb file:

  "selectExample": "{choice, select, foo {Foo} bar {Bar} other {Other}}",
  "@selectExample": {
    "placeholders": {
      "choice": {}

Access the localization message in code:


Note: Explore ICU messages using the ICU Message Editor.

Flutter internationalization tutorial:

Copyrights 2024 © Localizely