Skip to content

Commit c321845

Browse files
committed
feat(localization): 🎸 locale, translated
Refers: #5
1 parent d636166 commit c321845

File tree

7 files changed

+70
-72
lines changed

7 files changed

+70
-72
lines changed
Lines changed: 55 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,42 @@
11
:java-package: src/org/j6toj8/localization
22
:section-java-package: ../../../{java-package}
33

4-
=== Localização (Locale)
4+
=== Locale
55

6-
.Objetivo
6+
.Objective
77
--------------------------------------------------
88
Describe the advantages of localizing an application and developing code that defines, reads, and sets the locale with a Locale object.
9-
-
10-
Descrever as vantagens de localizar uma aplicação e desenvolver código que defina, leia e aplique a localidade em um objeto Locale.
119
--------------------------------------------------
1210

13-
É esperado que o candidato saiba compreender e analisar aspectos de Internacionalização e Localização, incluindo o uso da da classe `Locale`.
11+
The candidate is expected to be able to understand and analyze aspects of Internationalization and Localization, including the use of the `Locale` class.
1412

15-
Alguns aspectos de uma aplicação podem depender do país e da linguagem. Por exemplo:
13+
Some aspects of an application may depend on country and language. For example:
1614

17-
* Formatos de escrita de data
18-
** O dia 6 de Agosto de 2019 seria representado no Brasil por `06/08/2019`, porém nos EUA seria `08/06/2019`.
19-
* Formatos de escrita de valores monetários
20-
** Dez Reais no Brasil seriam representados por `R$ 10`, enquanto na França Dez Euros seriam `10 €`.
21-
* Formatos de separação de casas decimais ou milhares
22-
** No Brasil utiliza-se vírgula para separar decimais e pontos para milhares: `100.245,03`. Nos EUA, utiliza-se o inverso: `100,245.03`.
15+
* Date writing formats
16+
** August 6, 2019, would be represented in Brazil by `06/08/2019`, but in the USA would be `08/06/2019`.
17+
* Currency value writing formats
18+
** Ten Reais in Brazil would be represented by `R$ 10`, while in France Ten Euros would be `10 €`.
19+
* Decimal or Thousand Separation Formats
20+
** In Brazil comma is used to separate decimals and points to thousands: `100.245,03`. In the USA, it is the opposite: `100,245.03`.
2321

24-
Por isso, para que sua aplicação lide corretamente com esses cenários, é necessário compreender dois aspectos: *Internacionalização* (_Internationalization_) e *Localização* (_Localization_).
22+
Therefore, in order for your application to handle these scenarios correctly, you need to understand two aspects: *Internationalization* and *Localization*.
2523

26-
A *Internacionalização*, também chamada de *_i18n_*, é o ato de projetar sua aplicação para que seja possível facilmente adaptá-la para utilizar novos formatos e idiomas.
24+
*Internationalization*, also called *_i18n_*, is the act of designing your application so that you can easily adapt it to use new formats and languages.
2725

28-
A *Localização*, também chamada de *_l10n_*, é o ato de adaptar sua aplicação para de fato utilizar um novo formato específico.
26+
*Localization*, also called *_l10n_*, is the act of tailoring your application to actually use a new specific format.
2927

30-
Antes de continuar, entenda a execução do método `main` no exemplo a seguir e o que é apresentado no console após sua execução.
28+
Before proceeding, understand the execution of the `main` method in the following example and what is presented on the console after its execution.
3129

3230
[source,java,indent=0]
3331
.{java-package}/locale/Locale_Complete.java
3432
----
3533
include::{section-java-package}/locale/Locale_Complete.java[tag=code]
3634
----
3735

38-
.Saída no console
36+
.console output
3937
[source,console]
4038
----
41-
- Constantes -
39+
- Constants -
4240
en_CA
4341
en_GB
4442
- Construtor -
@@ -57,76 +55,77 @@ az_AZ_#Latn
5755
bs_BA_POSIX_#Latn_c-cc
5856
----
5957

60-
No Java, a classe `Locale` no pacote `java.util` nos ajuda a lidar com esses aspectos.
58+
In Java, the `Locale` class in the `java.util` package helps us deal with these aspects.
6159

62-
. Geralmente, um `Locale` é representado por um idioma e um país.
63-
* `pt_BR` - Português do Brasil
64-
* `en_US` - Inglês dos EUA
65-
* `it_CH` - Italiano da Suíça
66-
* `fr_BE` - Francês da Bélgica
60+
. Generally, a `Locale` is represented by a language and a country.
61+
* `pt_BR` - Brazilian Portuguese
62+
* `en_US` - US English
63+
* `it_CH` - Italian from Switzerland
64+
* `fr_BE` - French from Belgium
6765
+
6866
[source,java,indent=0]
6967
.{java-package}/locale/Locale_LocaleLanguageCountry.java
7068
----
7169
include::{section-java-package}/locale/Locale_LocaleLanguageCountry.java[tag=code]
7270
----
7371

74-
. Um `Locale` pode ter ainda uma Variante, um Script e Extensões.
72+
. A `Locale` can also have a Variant, a Script and Extensions.
7573
+
7674
[source,java,indent=0]
7775
.{java-package}/locale/Locale_VarScriptExtension.java
7876
----
7977
include::{section-java-package}/locale/Locale_VarScriptExtension.java[tag=code]
8078
----
8179
+
82-
TIP: No exame da certificação, a Oracle geralmente só utiliza idioma e país.
80+
TIP: In the certification exam, Oracle usually only uses language and country.
8381

84-
. É possível construir um Locale com o `Builder`, com construtores, ou por uma _Language Tag_.
82+
. It is possible to build a Locale with `Builder`, with constructors, or by a _Language Tag_.
8583
+
8684
[source,java,indent=0]
8785
.{java-package}/locale/Locale_LocaleInstantiation.java
8886
----
8987
include::{section-java-package}/locale/Locale_LocaleInstantiation.java[tag=code]
9088
----
9189
+
92-
A diferença entre eles é:
90+
The difference between them is:
9391
+
94-
* Com os construtores é possível passar apenas o idioma, a região (país) e uma variante.
95-
* Com language tags é possível passar uma `String` no padrão https://en.wikipedia.org/wiki/IETF_language_tag[IETF BCP 47].
96-
* Com o builder é possível criar da forma mais específica possível: idioma, região, variante, script e extensões.
92+
* With constructors it is possible to pass only the language, the region (country) and a variant.
93+
* With language tags you can pass a `String` in the pattern https://en.wikipedia.org/wiki/IETF_language_tag[IETF BCP 47].
94+
* With the builder you can create as specific as possible: language, region, variant, script and extensions.
9795

98-
. O `Locale` aceita letras maiúsculas e minúsculas escritas de forma incorreta.
96+
. `Locale` accepts incorrectly typed uppercase and lowercase letters.
9997
+
10098
[source,java,indent=0]
10199
.{java-package}/locale/Locale_LocaleCase.java
102100
----
103101
include::{section-java-package}/locale/Locale_LocaleCase.java[tag=code]
104102
----
105103
+
106-
.Saída no console
104+
.console output
107105
[source,console]
108106
----
109107
pt_BR
110108
pt_BR
111109
pt_BR
112110
----
113111
+
114-
Nesse exemplo, escrevemos de forma *incorreta*:
112+
In this example, we wrote *incorrectly*:
115113
+
116-
* O idioma deveria ser minúsculo (pt), mas está maiúsculo (PT).
117-
* A região deveria estar maiúscula (BR), está minúscula (br).
114+
* Language should be lowercase (pt), but it is in uppercase (PT).
115+
* Region should be uppercase (BR), but it is in lowercase (br).
116+
118117
+
119-
Mesmo assim, o `Locale` é criado corretamente. Veja que isso é um código *ruim*. O ideal é sempre escrever respeitando maiúsculas e minúsculas.
118+
Even so, `Locale` is created correctly. Note that this is *bad* code. The ideal is always to write respecting the case.
120119

121-
. Existem algumas constantes na classe `Locale` para as localizações mais populares.
120+
. There are some constants in the `Locale` class for the most popular locations.
122121
+
123122
[source,java,indent=0]
124123
.{java-package}/locale/Locale_LocaleCommons.java
125124
----
126125
include::{section-java-package}/locale/Locale_LocaleCommons.java[tag=code]
127126
----
128127
+
129-
.Saída no console
128+
.console output
130129
[source,console]
131130
----
132131
en_CA
@@ -139,53 +138,52 @@ zh_CN
139138
zh_TW
140139
----
141140

142-
. É possível recuperar o `Locale` padrão ou alterá-lo programaticamente.
141+
. You can retrieve the default `Locale` or change it programmatically.
143142
+
144143
[source,java,indent=0]
145144
.{java-package}/locale/Locale_LocaleDefault.java
146145
----
147146
include::{section-java-package}/locale/Locale_LocaleDefault.java[tag=code]
148147
----
149148
+
150-
.Saída no console
149+
.console output
151150
[source,console]
152151
----
153-
pt_BR
152+
en_BR
154153
ko_KR
155154
----
156155

157-
. É possível verificar os `Locale` disponíveis, pois eles variam de acordo com a JVM sendo executada.
156+
. You can check the available `Locale` as they vary according to the JVM running.
158157
+
159158
[source,java,indent=0]
160159
.{java-package}/locale/Locale_LocaleAvailable.java
161160
----
162161
include::{section-java-package}/locale/Locale_LocaleAvailable.java[tag=code]
163162
----
164163
+
165-
.Saída no console
164+
.console output
166165
[source,console]
167166
----
168-
169-
nn
167+
ar_AE
170168
ar_JO
169+
ar_SY
170+
hr_HR
171+
fr_BE
172+
es_PA
173+
mt_MT
174+
es_VE
171175
bg
172-
kea
173-
nds
174-
zu
175-
am_ET
176-
fr_DZ
177-
ti_ET
178176
----
179177

180-
. Um `Locale` também pode ser representado somente pelo idioma.
178+
. A `Locale` can also be represented by language only.
181179
+
182180
[source,java,indent=0]
183181
.{java-package}/locale/Locale_LocaleLanguageOnly.java
184182
----
185183
include::{section-java-package}/locale/Locale_LocaleLanguageOnly.java[tag=code]
186184
----
187185
+
188-
.Saída no console
186+
.console output
189187
[source,console]
190188
----
191189
pt
@@ -194,12 +192,12 @@ es
194192
fr
195193
----
196194

197-
.Referências
195+
.References
198196
****
199197
200198
* Adding Internationalization and Localization
201199
+
202-
Boyarsky, Jeanne; Selikoff, Scott. OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide (p. 255). Wiley. Edição do Kindle.
200+
Boyarsky, Jeanne; Selikoff, Scott. OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide (p. 255). Wiley. Kindle Edition.
203201
204202
* https://www.baeldung.com/java-8-localization[Internationalization and Localization in Java 8.]
205203
@@ -209,4 +207,4 @@ Boyarsky, Jeanne; Selikoff, Scott. OCP: Oracle Certified Professional Java SE 8
209207
210208
* http://www.oracle.com/us/technologies/java/locale-140624.html[Internationalization: Understanding Locale in the Java Platform.]
211209
212-
****
210+
****

src/org/j6toj8/localization/locale/Locale_Complete.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public class Locale_Complete {
77

88
// tag::code[]
99
public static void main(String[] args) throws IOException {
10-
System.out.println(" - Constantes - ");
10+
System.out.println(" - Constants - ");
1111
System.out.println(Locale.CANADA);
1212
System.out.println(Locale.UK);
1313

src/org/j6toj8/localization/locale/Locale_LocaleAvailable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class Locale_LocaleAvailable {
88
// tag::code[]
99
public static void main(String[] args) throws IOException {
1010
Locale[] availableLocales = Locale.getAvailableLocales();
11-
// imprime o 10 primeiros Locales disponíveis
11+
// prints the first 10 available locales
1212
for (int i = 0; i < 10; i++) {
1313
System.out.println(availableLocales[i]);
1414
}

src/org/j6toj8/localization/locale/Locale_LocaleDefault.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ public class Locale_LocaleDefault {
77

88
// tag::code[]
99
public static void main(String[] args) throws IOException {
10-
System.out.println(Locale.getDefault()); // o padrão inicial muda de acordo com seu dispositivo
11-
Locale.setDefault(Locale.KOREA); // altera o Locale default
10+
System.out.println(Locale.getDefault()); // initial default changes according to your device
11+
Locale.setDefault(Locale.KOREA); // change the default Locale
1212
System.out.println(Locale.getDefault()); // ko_KR
1313
}
1414
// end::code[]

src/org/j6toj8/localization/locale/Locale_LocaleInstantiation.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ public class Locale_LocaleInstantiation {
77

88
// tag::code[]
99
public static void main(String[] args) throws IOException {
10-
new Locale("pt", "BR"); // pt-BR com Construtor
10+
new Locale("pt", "BR"); // pt-BR with constructor
1111

12-
Locale.forLanguageTag("pt-BR"); // pt-BR com LanguageTag
12+
Locale.forLanguageTag("pt-BR"); // pt-BR with LanguageTag
1313

14-
Locale localePtBR = new Locale.Builder() // pt-BR com Builder
14+
Locale localePtBR = new Locale.Builder() // pt-BR with Builder
1515
.setLanguage("pt")
1616
.setRegion("BR")
1717
.build();

src/org/j6toj8/localization/locale/Locale_LocaleLanguageCountry.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ public class Locale_LocaleLanguageCountry {
77

88
public static void main(String[] args) throws IOException {
99
// tag::code[]
10-
new Locale("pt", "BR"); // Português do Brasil
11-
new Locale("en", "US"); // Inglês dos EUA
12-
new Locale("it", "CH"); // Italiano da Suíça
13-
new Locale("fr", "BE"); // Francês da Bélgica
10+
new Locale("pt", "BR"); // Brazilian Portuguese
11+
new Locale("en", "US"); // US English
12+
new Locale("it", "CH"); // Italian from Switzerland
13+
new Locale("fr", "BE"); // French from Belgium
1414
// end::code[]
1515
}
1616
}

src/org/j6toj8/localization/locale/Locale_LocaleLanguageOnly.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ public class Locale_LocaleLanguageOnly {
77

88
// tag::code[]
99
public static void main(String[] args) throws IOException {
10-
System.out.println(new Locale("pt")); // português
11-
System.out.println(new Locale("en")); // inglês
12-
System.out.println(new Locale("es")); // espanhol
13-
System.out.println(new Locale("fr")); // francês
10+
System.out.println(new Locale("pt")); // portuguese
11+
System.out.println(new Locale("en")); // english
12+
System.out.println(new Locale("es")); // spanish
13+
System.out.println(new Locale("fr")); // french
1414
}
1515
// end::code[]
1616
}

0 commit comments

Comments
 (0)