Nipodemos

more translations

@@ -299,7 +299,7 @@ Que melhoras na performance o Get traz? @@ -299,7 +299,7 @@ Que melhoras na performance o Get traz?
299 Na classe A o controller não está ainda na memória, porque você ainda não o usou (Get carrega só quando precisa). Na classe B você usou o controller, e ele entrou na memória. Na classe C você usou o mesmo controller da classe B, Get vai compartilhar o estado do controller B com o controller C, e o mesmo controller ainda esta na memória. Se você fechar a classe C e classe B, Get vai tirar o controller X da memória automaticamente e liberar recursos, porque a classe A não está usando o controller. Se você navegar para a Classe B denovo, o controller X vai entrar na memória denovo. Se em vez de ir para a classe C você voltar para a classe A, Get vai tirar o controller da memória do mesmo jeito. Se a classe C não usar o controller, e você tirar a classe B da memória, nenhuma classe estaria usando o controller X, e novamente o controller seria descartado. A única exceção que pode atrapalhar o Get, é se 299 Na classe A o controller não está ainda na memória, porque você ainda não o usou (Get carrega só quando precisa). Na classe B você usou o controller, e ele entrou na memória. Na classe C você usou o mesmo controller da classe B, Get vai compartilhar o estado do controller B com o controller C, e o mesmo controller ainda esta na memória. Se você fechar a classe C e classe B, Get vai tirar o controller X da memória automaticamente e liberar recursos, porque a classe A não está usando o controller. Se você navegar para a Classe B denovo, o controller X vai entrar na memória denovo. Se em vez de ir para a classe C você voltar para a classe A, Get vai tirar o controller da memória do mesmo jeito. Se a classe C não usar o controller, e você tirar a classe B da memória, nenhuma classe estaria usando o controller X, e novamente o controller seria descartado. A única exceção que pode atrapalhar o Get, é se
300 Você remover classe N da rota de forma inesperada, e tentasse usar o controller na classe C. Nesse caso, o ID do creator do controller que estava em B seria deletado, e o Get foi programado para remover da memória todo controller que não tem nenhum ID de creator. Se é sua intenção fazer isso, adicione a config `autoRemove: false` no GetBuilder da classe B, e use `adoptID = true;` no GetBuilder da classe C. 300 Você remover classe N da rota de forma inesperada, e tentasse usar o controller na classe C. Nesse caso, o ID do creator do controller que estava em B seria deletado, e o Get foi programado para remover da memória todo controller que não tem nenhum ID de creator. Se é sua intenção fazer isso, adicione a config `autoRemove: false` no GetBuilder da classe B, e use `adoptID = true;` no GetBuilder da classe C.
301 301
302 -### Simple state manager usage 302 +### Uso do gerenciador de estado simples
303 303
304 ```dart 304 ```dart
305 // Crie a classe Controller e entenda ela do GetController 305 // Crie a classe Controller e entenda ela do GetController
@@ -319,16 +319,16 @@ GetBuilder<Controller>( @@ -319,16 +319,16 @@ GetBuilder<Controller>(
319 ), 319 ),
320 // Inicialize seu controller somente uma vez. Na segunda vez que você for usar GetBuilder para o mesmo controller, não Inicialize denovo. Seu controller será automaticamente removido da memória. Você não precisa se preocupar com isso, Get vai fazer isso automaticamente, apenas tenha certeza que você não vai inicializar o mesmo controller duas vezes. 320 // Inicialize seu controller somente uma vez. Na segunda vez que você for usar GetBuilder para o mesmo controller, não Inicialize denovo. Seu controller será automaticamente removido da memória. Você não precisa se preocupar com isso, Get vai fazer isso automaticamente, apenas tenha certeza que você não vai inicializar o mesmo controller duas vezes.
321 ``` 321 ```
322 -**Done!**  
323 -- You have already learned how to manage states with Get. 322 +**Feito!**
324 323
325 -- Note: You may want a larger organization, and not use the init property. For that, you can create a class and extends Bindings class, and within it mention the controllers that will be created within that route. Controllers will not be created at that time, on the contrary, this is just a statement, so that the first time you use a Controller, Get will know where to look. Get will remain lazyLoad, and will continue to dispose Controllers when they are no longer needed. See the pub.dev example to see how it works. 324 +* Você já aprendeu como gerenciar estados com o Get.
  325 +* Nota: Você talvez queira uma maior organização, e não querer usar a propriedade `init`. Para isso, você pode criar uma classe e extendê-la da classe `Bindings`, e nela mencionar os controllers que serão criados dentro daquela rota. Controllers não serão criados naquele momento exato, muito pelo contrário, isso é apenas uma declaração, para que na primeira vez que vc use um Controller, Get vai saber onde procurar. Get vai continuar no formato "lazyLoad" (carrega somente quando necessário) e vai continuar descartando os Controllers quando eles não forem mais necessários. Veja pub.dev example para ver como funciona.
326 326
327 327
328 -If you navigate many routes and need data that was in your previously used controller, you just need to use GetBuilder Again (with no init): 328 +Se você navegar por várias rotas e precisa de algum daat que estava em um outro controller previamente utilizado, você só precisa utilizar o GetBuilder novamente (sem o init):
329 329
330 ```dart 330 ```dart
331 -class OtherClasse extends StatelessWidget { 331 +class OutraClasse extends StatelessWidget {
332 @override 332 @override
333 Widget build(BuildContext context) { 333 Widget build(BuildContext context) {
334 return Scaffold( 334 return Scaffold(
@@ -339,18 +339,19 @@ class OtherClasse extends StatelessWidget { @@ -339,18 +339,19 @@ class OtherClasse extends StatelessWidget {
339 ), 339 ),
340 ); 340 );
341 } 341 }
342 -  
343 ``` 342 ```
344 -If you need to use your controller in many other places, and outside of GetBuilder, just create a get in your controller and have it easily. (or use `Get.find<Controller>()`) 343 +
  344 +Se você precisa utilizar seu controller em vários outros lugares, e fora do GetBuilder, apenas crie um getter no seu controller and consiga seu controller facilmente (ou use `Get.find<Controller>()`)
345 345
346 ```dart 346 ```dart
347 class Controller extends GetController { 347 class Controller extends GetController {
348 348
349 - /// You do not need that. I recommend using it just for ease of syntax.  
350 - /// with static method: Controller.to.counter();  
351 - /// with no static method: Get.find<Controller>().counter();  
352 - /// There is no difference in performance, nor any side effect of using either syntax. Only one does not need the type, and the other the IDE will autocomplete it.  
353 - static Controller get to => Get.find(); // add this line 349 + /// Você não precisa disso. Eu recomendo usar isso apenas
  350 + /// porque a sintaxe é mais fácil.
  351 + /// com o método estático: Controller.to.counter();
  352 + /// sem o método estático: Get.find<Contreoller>();
  353 + /// Não há diferença em performance, nem efeito colateral por usar esse sintaxe. Só uma não precisa da tipage, e a outra forma a IDE vai autocompletar.
  354 + static Controller get to => Get.find(); // adicione esta linha
354 355
355 int counter = 0; 356 int counter = 0;
356 void increment() { 357 void increment() {
@@ -359,31 +360,31 @@ class Controller extends GetController { @@ -359,31 +360,31 @@ class Controller extends GetController {
359 } 360 }
360 } 361 }
361 ``` 362 ```
362 -And then you can access your controller directly, that way: 363 +E então você pode acessar seu controller diretamente, desse jeito:
363 ```dart 364 ```dart
364 FloatingActionButton( 365 FloatingActionButton(
365 - onPressed:(){  
366 - Controller.to.increment(),  
367 - } // This is incredibly simple!  
368 - child: Text("${Controller.to.counter}"),  
369 - ), 366 + onPressed:(){
  367 + Controller.to.increment(),
  368 + } // Isso é incrivelmente simples!
  369 + child: Text("${Controller.to.counter}"),
  370 +),
370 ``` 371 ```
371 -When you press FloatingActionButton, all widgets that are listening to the 'counter' variable will be updated automatically. 372 +Quando você pressionar o FloatingActionButton, todos os widgets que estão escutando a variável `counter` serão atualizados automaticamente.
372 373
373 -#### No StatefulWidget:  
374 -Using StatefulWidgets means storing the state of entire screens unnecessarily, even because if you need to minimally rebuild a widget, you will embed it in a Consumer/Observer/BlocProvider/GetBuilder, which will be another StatefulWidget.  
375 -The StatefulWidget class is a class larger than StatelessWidget, which will allocate more RAM, and this may not make a significant difference between one or two classes, but it will most certainly do when you have 100 of them!  
376 -Unless you need to use a mixin, like TickerProviderStateMixin, it will be totally unnecessary to use a StatefulWidget with Get. 374 +#### Sem StatefulWidget;
  375 +Usar StatefulWidgets significa guardar o estado de telas inteiras desnecessariamente, mesmo porque se você precisa recarregar minimamente algum widget, você vai incorporá-lo num Consumer/Observer/BlocProvider/GetBuilder, que vai ser outro StatefulWidget.
  376 +A classe StatefulWidget é maior que a classe StatelessWidget, o que vai alocar mais memória, e isso pode não fazer uma diferença significativa com uma ou duas classes, mas com certeza vai quando você tiver 100 delas!
  377 +A não ser que você precise usar um mixin, como o `TickerProviderStateMixin`, será totalmente desnecessário usar um StatefulWidget com o Get.
377 378
378 -You can call all methods of a StatefulWidget directly from a GetBuilder.  
379 -If you need to call initState() or dispose() method for example, you can call them directly; 379 +Você pode chamar todos os métodos de um StatefulWidget diretamente de um GetBuilder.
  380 +Se você precisa chamar o método `initState()` ou `dispose()` por exemplo, é possível chamá-los diretamente:
380 381
381 ```dart 382 ```dart
382 GetBuilder<Controller>( 383 GetBuilder<Controller>(
383 - initState(_) => Controller.to.fetchApi(),  
384 - dispose(_) => Controller.to.closeStreams(),  
385 - builder: (s) => Text('${s.username}'),  
386 - ), 384 + initState: (_) => Controller.to.fetchApi(),
  385 + dispose: (_) => Controller.to.closeStreams(),
  386 + builder: (s) => Text('${s.username}'),
  387 +),
387 ``` 388 ```
388 389
389 A much better approach than this is to use the onInit() and onClose() method directly from your controller. 390 A much better approach than this is to use the onInit() and onClose() method directly from your controller.