Jonny Borges
Committed by GitHub

Merge pull request #943 from CpdnCristiano/master

Another translation option with parameters
... ... @@ -348,6 +348,27 @@ var products = [];
Text('singularKey'.trPlural('pluralKey', products.length, Args));
```
#### Using translation with parameters
```dart
import 'package:get/get.dart';
Map<String, Map<String, String>> get keys => {
'en_US': {
'logged_in': 'logged in as @name with email @email',
},
'es_ES': {
'logged_in': 'iniciado sesión como @name con e-mail @email',
}
};
Text('logged_in'.trParams({
'name': 'Jhon',
'email': 'jhon@example.com'
}));
```
### Locales
Pass parameters to `GetMaterialApp` to define the locale and translations.
... ...
... ... @@ -53,6 +53,21 @@ extension Trans on String {
String trPlural([String pluralKey, int i, List<String> args = const []]) {
return i > 1 ? pluralKey.trArgs(args) : trArgs(args);
}
String trParams([Map<String, String> params = const {}]) {
var trans = tr;
if (params.isNotEmpty) {
params.forEach((key, value) {
trans = trans.replaceAll('@$key', value);
});
}
return trans;
}
String trPluralParams(
[String pluralKey, int i, Map<String, String> params = const {}]) {
return i > 1 ? pluralKey.trParams(params) : trParams(params);
}
}
class _IntlHost {
... ...