translate method

String translate(
  1. String key, {
  2. Map<String, Object?> parameters = const {},
  3. String? fallback,
})

Format ICU placeholders, plurals and select. Missing keys use fallback/key.

Implementation

String translate(
  String key, {
  Map<String, Object?> parameters = const {},
  String? fallback,
}) {
  final template = getTranslateValue(key) ?? fallback ?? key;
  final messageLocale =
      !_localizedValues.containsKey(key) && _fallbackValues.containsKey(key)
          ? fallbackLocale!
          : locale;
  return _messages
      .putIfAbsent(template, () => IcuMessage(template))
      .format(
        locale: messageLocale.toLanguageTag().replaceAll('-', '_'),
        parameters: parameters,
      );
}