Doc pt-br: Incluída a seção de Internacionalização
Só existia na documentação em inglês
Showing
1 changed file
with
57 additions
and
1 deletions
@@ -30,10 +30,11 @@ | @@ -30,10 +30,11 @@ | ||
30 | - [Mais detalhes sobre gerenciamento de dependências](#mais-detalhes-sobre-gerenciamento-de-dependências) | 30 | - [Mais detalhes sobre gerenciamento de dependências](#mais-detalhes-sobre-gerenciamento-de-dependências) |
31 | - [Como contribuir](#como-contribuir) | 31 | - [Como contribuir](#como-contribuir) |
32 | - [Utilidades](#utilidades) | 32 | - [Utilidades](#utilidades) |
33 | + - [Internacionalização](#internacionalização) | ||
33 | - [Mudar tema (changeTheme)](#mudar-tema-changetheme) | 34 | - [Mudar tema (changeTheme)](#mudar-tema-changetheme) |
34 | - [Outras APIs avançadas](#outras-apis-avançadas) | 35 | - [Outras APIs avançadas](#outras-apis-avançadas) |
35 | - [Configurações Globais opcionais e configurações manuais](#configurações-globais-opcionais-e-configurações-manuais) | 36 | - [Configurações Globais opcionais e configurações manuais](#configurações-globais-opcionais-e-configurações-manuais) |
36 | - - [Video explanation of Other GetX Features](#video-explanation-of-other-getx-features) | 37 | + - [Video explanation of Other GetX Features](#explicação-em-vídeo-sobre-outras-features-do-getx) |
37 | - [Breaking Changes da versão 2 para 3](#breaking-changes-da-versão-2-para-3) | 38 | - [Breaking Changes da versão 2 para 3](#breaking-changes-da-versão-2-para-3) |
38 | - [Tipagem Rx](#tipagem-rx) | 39 | - [Tipagem Rx](#tipagem-rx) |
39 | - [RxController e GetBuilder se uniram](#rxcontroller-e-getbuilder-se-uniram) | 40 | - [RxController e GetBuilder se uniram](#rxcontroller-e-getbuilder-se-uniram) |
@@ -299,6 +300,61 @@ Qualquer contribuição é bem-vinda! | @@ -299,6 +300,61 @@ Qualquer contribuição é bem-vinda! | ||
299 | 300 | ||
300 | # Utilidades | 301 | # Utilidades |
301 | 302 | ||
303 | +## Internacionalização | ||
304 | +### Traduções | ||
305 | +As traduções são mantidas num simples dictionary map de chave-valor. | ||
306 | +Para adicionar traduções personalizadas, crie uma classe e estenda `Translations`. | ||
307 | +```dart | ||
308 | +import 'package:get/get.dart'; | ||
309 | + | ||
310 | +class Messages extends Translations { | ||
311 | + @override | ||
312 | + Map<String, Map<String, String>> get keys => { | ||
313 | + 'en_US': { | ||
314 | + 'hello': 'Hello World', | ||
315 | + }, | ||
316 | + 'de_DE': { | ||
317 | + 'hello': 'Hallo Welt', | ||
318 | + } | ||
319 | + }; | ||
320 | +} | ||
321 | +``` | ||
322 | + | ||
323 | +#### Usando traduções | ||
324 | +Basta anexar `.tr` a chave especificada e ela será traduzida, usando o valor atual de `Get.locale` e `Get.fallbackLocale`. | ||
325 | +```dart | ||
326 | +Text('hello'.tr); | ||
327 | +``` | ||
328 | + | ||
329 | +### Localidade | ||
330 | +Passe parâmetros para `GetMaterialApp` definir a localidade e as traduções. | ||
331 | + | ||
332 | +```dart | ||
333 | +return GetMaterialApp( | ||
334 | + translations: Messages(), // suas traduções | ||
335 | + locale: Locale('en', 'US'), // as traduções serão exibidas para esta localidade | ||
336 | + fallbackLocale: Locale('en', 'UK'), // especifica uma localidade em caso de falha na localidade definida | ||
337 | + supportedLocales: <Locale>[Locale('en', 'UK'), Locale('en', 'US'), Locale('de','DE')] // especifica as localidades suportados | ||
338 | +); | ||
339 | +``` | ||
340 | + | ||
341 | +#### Alterar local | ||
342 | +Use `Get.updateLocale(locale)` para atualizar a localidade. As traduções usarão automaticamente a nova localidade. | ||
343 | +```dart | ||
344 | +var locale = Locale('en', 'US'); | ||
345 | +Get.updateLocale(locale); | ||
346 | +``` | ||
347 | + | ||
348 | +#### Localidade do sistema operacional | ||
349 | +Para ler a localidade do sistema operacional, você pode usar `window.locale`. | ||
350 | +```dart | ||
351 | +import 'dart:ui' as ui; | ||
352 | + | ||
353 | +return GetMaterialApp( | ||
354 | + locale: ui.window.locale, | ||
355 | +); | ||
356 | +``` | ||
357 | + | ||
302 | ## Mudar tema (changeTheme) | 358 | ## Mudar tema (changeTheme) |
303 | 359 | ||
304 | Por favor não use widget acima do GetMaterialApp para atualizar o tema. Isso pode causar keys duplicadas. Várias pessoas estão acostumadas com o jeito normal de criar um Widget `ThemeProvider` só pra alterar o tema do app, mas isso definitivamente NÃO é necessário no Get. | 360 | Por favor não use widget acima do GetMaterialApp para atualizar o tema. Isso pode causar keys duplicadas. Várias pessoas estão acostumadas com o jeito normal de criar um Widget `ThemeProvider` só pra alterar o tema do app, mas isso definitivamente NÃO é necessário no Get. |
-
Please register or login to post a comment