t function
Translates the sentence defined by the key set into the requested language. Replacement parameters can be injected.
final String sentence = t(Lang.enGB, 'foo.bar');
print(sentence) 👈 'Hello {user}'
final String sentence = t(Lang.enGB, 'foo.bar', { 'user': 'Freeze' });
print(sentence) 👈 'Hello Freeze'
Implementation
String t (Lang lang, String key, { Map<String, dynamic>? replacers }) {
final I18n i18n = ioc.singleton(I18n.namespace);
dynamic target = i18n.translation.cache[lang.normalize];
for (final element in key.split('.')) {
target = target[element];
}
if (replacers != null) {
for (final replacer in replacers.entries) {
target = target.toString().replaceAll('{${replacer.key}}', replacer.value);
}
}
return target;
}