- Added multiples path files.
Now the Localization package is fully integrated into Flutter and can reflect changes made natively by the SDK.
- BREAK CHANGE: Removed packages translation files;
- BREAK CHANGE:
.i18n()
parameters are a positional args now; - BREAK CHANGE: Removed conditions. After long discussions, we decided that this is a developer responsibility, for example:
final items = 10;
if(items == 1) return 'title-label-singular'.i18n();
if(items > 1) return 'title-label-plural'.i18n();
Added support of translation files just with language, for example pt.json
;
await Localization.configuration(showDebugPrintMode: false);
deixar Log ocional, para desativa-lo basta utilizar
await Localization.configuration(showDebugPrintMode: false);
You can set the variable calling the function:
Localization.setShowDebugPrintMode(false);
- BREAK CHANGE: The parameters from method
'welcome'.i18n(["22/06"])
eLocalization.translate('welcome', ["22/06"])
are named; - BREAK CHANGE: Use
"welcome".i18n(args: ["22/06"])
ao invés de"welcome".i18n(["22/06"])
- BREAK CHANGE: Use
Localization.translate('welcome', args: ["22/06"])
ao invés deLocalization.translate('welcome', ["22/06"])
- Adição de possibilidade de usar condicionais utilize o
%b{condicao_verdadeira:condição_falsa}
para configurar as suas traduções
{
'quantidade': '%s %b{Resultados:Resultado} %b{encontrados:encontrado}'
}
Será necessário na parâmetro conditions
passar uma lista de Booleanos de forma posicional
Localization.translate(
'testeQuantidade',
args: ['2'],
conditions: [true, true],
)
'testeQuantidade'.i18n(
args: ['1'],
conditions: [false, false],
)
- Use Text("welcome".i18n(args: ["22/06"])), ao inves de Text("welcome".i18n(["22/06"])),
- Adicionada possibilidade de multiplos diretórios de tradução;
- Migração Nullsafety;
- Atualizado README;
- Adicionada automação no SLIDY CLI;
- Initial release.