tr method

String tr(
  1. String strToTranslate, [
  2. Map<String, dynamic>? args
])

See I18nOMaticExt.tr() for description.

Implementation

String tr(String strToTranslate, [Map<String, dynamic>? args]) {
  var strTranslated = strToTranslate;

  if (_localizedStrings != null &&
      _localizedStrings!.containsKey(strToTranslate)) {
    var foundStr = _localizedStrings![strToTranslate];
    if (foundStr != null) {
      // TODO to refactor for a better implementation
      strTranslated = foundStr;
    }
  }

  if (args == null || args.isEmpty) {
    return strTranslated;
  }

  args.forEach((key, value) {
    value ??= '';
    strTranslated = strTranslated.replaceAll('%$key', value.toString());
  });

  return strTranslated;
}