aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/pt-br/books/handbook/l10n/_index.adoc
blob: 4a370edf27936bbd9e90be61e6a5f2304861a1e7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
---
title: Capítulo 22. Localização - Uso e Configuração do i18n/L10n
part: Parte III. Administração do Sistema
prev: books/handbook/virtualization
next: books/handbook/cutting-edge
showBookMenu: true
weight: 26
path: "/books/handbook/l10n/"
---

[[l10n]]
= Localização - Uso e Configuração do i18n/L10n
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:sectnumoffset: 22
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/handbook/l10n/

ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

[[l10n-synopsis]]
== Sinopse

O FreeBSD é um projeto distribuído com usuários e colaboradores localizados em todo o mundo. Como tal, o FreeBSD suporta a localização em muitos idiomas, permitindo aos usuários visualizar, inserir ou processar dados em idiomas diferentes do inglês. Pode-se escolher entre a maioria dos principais idiomas, incluindo, mas não se limitando a: Chinês, Alemão, Japonês, Coreano, Francês, Russo e Vietnamita.

O termo internacionalização foi encurtado para i18n, que representa o número de letras entre a primeira e a última letra da `internacionalização`. L10n usa o mesmo esquema de nomes, mas a partir da `localização`. Os métodos, protocolos e aplicativos i18n/L10n permitem que os usuários usem os idiomas de sua escolha.

Este capítulo discute os recursos de internacionalização e localização do FreeBSD. Depois de ler este capítulo, você saberá:

* Como os nomes de localidade são construídos.
* Como definir a localidade para um login shell.
* Como configurar o console para idiomas diferentes do inglês.
* Como configurar o Xorg para diferentes idiomas.
* Como encontrar aplicativos compatíveis com i18n.
* Onde encontrar mais informações para configurar idiomas específicos.

Antes de ler este capítulo, você deve:

* Saber como crossref:ports[ports, instalar aplicativos adicionais de terceiros].

[[using-localization]]
== Usando Localização

As configurações de localização são baseadas em três componentes: o código do idioma, o código do país e a codificação. Nomes de localidade são construídos a partir dessas partes da seguinte maneira:

[.programlisting]
....
LanguageCode_CountryCode.Encoding
....

O _LanguageCode_ e o _CountryCode_ são usados para determinar o país e a variação de linguagem específica. A <<locale-lang-country>> apresenta alguns exemplos de _LanguageCode___CountryCode_:
[[locale-lang-country]]
.Idiomas Comum e Códigos de País
[cols="1,1", frame="none", options="header"]
|===
| LanguageCode_Country Code
| Descrição

|en_US
|Inglês, Estados Unidos

|ru_RU
|Russo, Rússia

|zh_TW
|Chinês Tradicional, Taiwan
|===

Uma lista completa de localidades disponíveis pode ser encontrada digitando:

[source,shell]
....
% locale -a | more
....

Para determinar a configuração atual de localidade:

[source,shell]
....
% locale
....

Conjuntos de caracteres específicos de idioma, como ISO8859-1, ISO8859-15, KOI8-R e CP437, são descritos em man:multibyte[3]. A lista ativa de conjuntos de caracteres pode ser encontrada no http://www.iana.org/assignments/character-sets[IANA Registry].

Alguns idiomas, como Chinês ou Japonês, não podem ser representados usando caracteres ASCII e requerem uma codificação de idioma estendida usando caracteres wide ou multibyte. Exemplos de codificações de wide ou multibyte incluem EUC e Big5. Aplicativos mais antigos podem confundir essas codificações com caracteres de controle, enquanto aplicativos mais novos geralmente reconhecem esses caracteres. Dependendo da implementação, os usuários podem ser obrigados a compilar um aplicativo com suporte a caracteres wide ou multibyte, ou configurá-lo corretamente.

[NOTE]
====
O FreeBSD usa codificações de locale compatíveis com o Xorg.
====

O restante desta seção descreve os vários métodos para configurar a localidade em um sistema FreeBSD. A próxima seção discutirá as considerações para encontrar e compilar aplicativos com suporte a i18n.

[[setting-locale]]
=== Definindo a Localidade para o Login Shell

As configurações de localidade são configuradas no [.filename]#~/.login_conf# do usuário ou no arquivo de inicialização do shell do usuário: [.filename]#~/.profile#, [.filename]#~/.bashrc#, or [.filename]#~/.cshrc#.

Duas variáveis de ambiente devem ser definidas:

* `LANG`, que define o idioma 
*
+ 
`MM_CHARSET`, que define o conjunto de caracteres MIME usado pelos aplicativos

Além da configuração do shell do usuário, essas variáveis também devem ser definidas para configurações específicas de aplicativos e configurações do Xorg.

Dois métodos estão disponíveis para fazer as atribuições de variáveis necessárias: o método <<login-class,classes de login>>, que é o método recomendado, e o método <<startup-file,arquivo de inicialização>>. As próximas duas seções demonstram como usar os dois métodos.

[[login-class]]
==== Método de Classes de Login

Este primeiro método é o método recomendado, pois atribui as variáveis de ambiente necessárias para o nome da localidade e os conjuntos de caracteres MIME para todos os shell possíveis. Essa configuração pode ser executada para cada usuário ou pode ser configurada para todos os usuários pelo superusuário.

Esse exemplo mínimo define as duas variáveis para a codificação Latin-1 no [.filename]#.login_conf# do diretório inicial de um usuário individual:

[.programlisting]
....
me:\
	:charset=ISO-8859-1:\
	:lang=de_DE.ISO8859-1:
....

Aqui está um exemplo de [.filename]#~/.login_conf# de um usuário que define as variáveis para o Chinês Tradicional na codificação BIG-5. Mais variáveis são necessárias porque alguns aplicativos não respeitam corretamente variáveis de idioma para o Chinês, Japonês e Coreano:

[.programlisting]
....
#Users who do not wish to use monetary units or time formats
#of Taiwan can manually change each variable
me:\
	:lang=zh_TW.Big5:\
	:setenv=LC_ALL=zh_TW.Big5,LC_COLLATE=zh_TW.Big5,LC_CTYPE=zh_TW.Big5,LC_MESSAGES=zh_TW.Big5,LC_MONETARY=zh_TW.Big5,LC_NUMERIC=zh_TW.Big5,LC_TIME=zh_TW.Big5:\
	:charset=big5:\
	:xmodifiers="@im=gcin": #Set gcin as the XIM Input Server
....

Como alternativa, o superusuário pode configurar a localização para todos os usuários do sistema. As seguintes variáveis no [.filename]#/etc/login.conf# são usadas para definir a localidade e o conjunto de caracteres MIME:

[.programlisting]
....
language_name|Account Type Description:\
	:charset=MIME_charset:\
	:lang=locale_name:\
	:tc=default:
....

Então, o exemplo anterior do Latin-1 ficaria assim:

[.programlisting]
....
german|German Users Accounts:\
	:charset=ISO-8859-1:\
	:lang=de_DE.ISO8859-1:\
	:tc=default:
....

Veja o man:login.conf[5] para mais detalhes sobre estas variáveis. Observe que ele já contém a classe _russian_ predefinida.

Sempre que [.filename]#/etc/login.conf# for editado, lembre-se de executar o seguinte comando para atualizar o banco de dados de recursos:

[source,shell]
....
# cap_mkdb /etc/login.conf
....

[NOTE]
====
Para um usuário final, o comando `cap_mkdb` vai precisar rodar no seu [.filename]#~/.login_conf# para que qualquer mudança tenha efeito.
====

===== Utilitários que Alteram as Classes de Login

Além de editar manualmente o [.filename]#/etc/login.conf#, vários utilitários estão disponíveis para definir a localidade de usuários recém-criados.

Ao usar o `vipw` para adicionar novos usuários, especifique o _idioma_ para definir a localidade:

[.programlisting]
....
user:password:1111:11:language:0:0:User Name:/home/user:/bin/sh
....

Ao usar o `adduser` para adicionar novos usuários, o idioma padrão pode ser pré-configurado para todos os novos usuários ou especificado para um usuário individual.

Se todos os novos usuários usarem o mesmo idioma, configure `defaultclass=_language_` em [.filename]#/etc/adduser.conf#.

Para substituir essa configuração ao criar um usuário, insira a localidade necessária neste prompt:

[source,shell]
....
Enter login class: default []:
....

ou especifique a localidade ao executar o `adduser`:

[source,shell]
....
# adduser -class language
....

Se o `pw` for usado para adicionar novos usuários, especifique a localidade da seguinte forma:

[source,shell]
....
# pw useradd user_name -L language
....

Para alterar a classe de login de um usuário existente, `chpass` pode ser usado. Execute-o como superusuário e forneça o nome do usuário para edição como argumento.

[source,shell]
....
# chpass user_name
....

[[startup-file]]
==== Método de Arquivo de Inicialização do Shell

Esse segundo método não é recomendado, pois cada shell usado requer configuração manual, e cada shell tem um arquivo de configuração diferente e uma sintaxe diferente. Como exemplo, para definir o idioma Alemão para o shell `sh`, essas linhas podem ser adicionadas ao [.filename]#~/.profile# para definir o shell apenas para esse usuário. Essas linhas também podem ser adicionadas ao [.filename]#/etc/profile# ou [.filename]#/usr/shared/skel/dot.profile# para definir esse shell para todos os usuários:

[.programlisting]
....
LANG=de_DE.ISO8859-1; export LANG
MM_CHARSET=ISO-8859-1; export MM_CHARSET
....

No entanto, o nome do arquivo de configuração e a sintaxe usada são diferentes para o shell `csh`. Estas são as configurações equivalentes para o [.filename]#~/.csh.login#, [.filename]#/etc/csh.login#, ou [.filename]#/usr/shared/skel/dot.login#:

[.programlisting]
....
setenv LANG de_DE.ISO8859-1
setenv MM_CHARSET ISO-8859-1
....

Para complicar, a sintaxe necessária para configurar o Xorg no [.filename]#~/.xinitrc# também depende do shell. O primeiro exemplo é para o shell `sh` e o segundo é para o shell `csh`:

[.programlisting]
....
LANG=de_DE.ISO8859-1; export LANG
....

[.programlisting]
....
setenv LANG de_DE.ISO8859-1
....

[[setting-console]]
=== Configuração do Console

Várias fontes de localização estão disponíveis para o console. Para ver uma lista de fontes disponíveis, digite `ls /usr/shared/syscons/fonts`. Para configurar a fonte do console, especifique o _font_name_, sem o sufixo [.filename]#.fnt#, em [.filename]#/etc/rc.conf#:

[.programlisting]
....
font8x16=font_name
font8x14=font_name
font8x8=font_name
....

O keymap e o screenmap podem ser definidos adicionando o seguinte ao [.filename]#/etc/rc.conf#:

[.programlisting]
....
scrnmap=screenmap_name
keymap=keymap_name
keychange="fkey_number sequence"
....

Para ver a lista de screenmaps disponíveis, digite `ls /usr/shared/syscons/scrnmaps`. Não inclua o sufixo [.filename]#.scm# ao especificar _screenmap_name_. Um screenmap com uma fonte mapeada correspondente geralmente é necessário como uma solução alternativa para expandir o bit 8 para o 9 na matriz de caracteres de fonte de um adaptador VGA para que as letras sejam movidas para fora da área de pseudo-grafia se a fonte da tela usar uma coluna de 8 bits.

Para ver a lista de mapas de teclado disponíveis, digite `ls /usr/shared/syscons/keymaps`. Ao especificar o _keymap_name_, não inclua o sufixo [.filename]#.kbd#. Para testar os mapas de teclado sem reinicializar o sistema, use man:kbdmap[1].

A entrada `keychange` geralmente é necessária para programar as teclas de função para corresponder ao tipo de terminal selecionado, porque as sequências de teclas de função não podem ser definidas no mapa de teclas.

Em seguida, defina o tipo de terminal do console correto em [.filename]#/etc/ttys# para todas as entradas do terminal virtual. <<locale-charset>> resume os tipos de terminais disponíveis:
[[locale-charset]]
.Tipos de Terminal Definidos para Conjuntos de Caracteres
[cols="1,1", frame="none", options="header"]
|===
| Conjunto de Caracteres
| Tipo de Terminal

|ISO8859-1 ou ISO8859-15
|`cons25l1`

|ISO8859-2
|`cons25l2`

|ISO8859-7
|`cons25l7`

|KOI8-R
|`cons25r`

|KOI8-U
|`cons25u`

|CP437 (VGA padrão)
|`cons25`

|US-ASCII
|`cons25w`
|===

Para idiomas com caracteres wide ou multibyte, instale um console para esse idioma a partir da Coleção de Ports do FreeBSD. Os ports disponíveis estão resumidos em <<locale-console>>. Uma vez instalado, consulte o [.filename]#pkg-message# dos ports ou as páginas de manual para instruções de configuração e uso.
[[locale-console]]
.Consoles Disponíveis pela Coleção de Ports
[cols="1,1", frame="none", options="header"]
|===
| Idioma
| Localização do Port

|Chinês Tradicional (BIG-5)
|package:chinese/big5con[]

|Chinês/Japonês/Coreano
|package:chinese/cce[]

|Chinês/Japonês/Coreano
|package:chinese/zhcon[]

|Japonês
|package:chinese/kon2[]

|Japonês
|package:japanese/kon2-14dot[]

|Japonês
|package:japanese/kon2-16dot[]
|===

Se o moused estiver ativado no [.filename]#/etc/rc.conf#, uma configuração adicional pode ser necessária. Por padrão, o cursor do mouse do driver man:syscons[4] ocupa o intervalo `0xd0`-`0xd3` no conjunto de caracteres. Se o idioma usar esse intervalo, mova o intervalo do cursor adicionando a seguinte linha ao [.filename]#/etc/rc.conf#:

[.programlisting]
....
mousechar_start=3
....

=== Configuração do Xorg

O crossref:x11[x11, O sistema X Window] descreve como instalar e configurar o Xorg. Ao configurar localizações no Xorg, fontes adicionais e métodos de entrada estão disponíveis na Coleção de Ports do FreeBSD. Configurações específicas de i18n para aplicações como fontes e menus podem ser tunadas em [.filename]#~/.Xresources# e devem permitir que os usuários visualizem o idioma selecionado nos menus das aplicações gráficas.

O protocolo X Input Method (XIM) é um padrão Xorg para inserir caracteres não Ingleses. <<locale-xim>> resume os métodos de entrada de aplicações que estão disponíveis na Coleção de Ports do FreeBSD. Aplicativos adicionais Fcitx e Uim também estão disponíveis.
[[locale-xim]]
.Métodos de Entrada Disponíveis
[cols="1,1", frame="none", options="header"]
|===
| Idioma
| Método de Entrada

|Chinês
|package:chinese/gcin[]

|Chinês
|package:chinese/ibus-chewing[]

|Chinês
|package:chinese/ibus-pinyin[]

|Chinês
|package:chinese/oxim[]

|Chinês
|package:chinese/scim-fcitx[]

|Chinês
|package:chinese/scim-pinyin[]

|Chinês
|package:chinese/scim-tables[]

|Japonês
|package:japanese/ibus-anthy[]

|Japonês
|package:japanese/ibus-mozc[]

|Japonês
|package:japanese/ibus-skk[]

|Japonês
|package:japanese/im-ja[]

|Japonês
|package:japanese/kinput2[]

|Japonês
|package:japanese/scim-anthy[]

|Japonês
|package:japanese/scim-canna[]

|Japonês
|package:japanese/scim-honoka[]

|Japonês
|package:japanese/scim-honoka-plugin-romkan[]

|Japonês
|package:japanese/scim-honoka-plugin-wnn[]

|Japonês
|package:japanese/scim-prime[]

|Japonês
|package:japanese/scim-skk[]

|Japonês
|package:japanese/scim-tables[]

|Japonês
|package:japanese/scim-tomoe[]

|Japonês
|package:japanese/scim-uim[]

|Japonês
|package:japanese/skkinput[]

|Japonês
|package:japanese/skkinput3[]

|Japonês
|package:japanese/uim-anthy[]

|Coreano
|package:korean/ibus-hangul[]

|Coreano
|package:korean/imhangul[]

|Coreano
|package:korean/nabi[]

|Coreano
|package:korean/scim-hangul[]

|Coreano
|package:korean/scim-tables[]

|Vietnamita
|package:vietnamese/xvnkb[]

|Vietnamita
|package:vietnamese/x-unikey[]
|===

[[l10n-compiling]]
== Encontrando Aplicações i18n

Aplicações i18n são programadas usando kits i18n em bibliotecas. Isso permite que os desenvolvedores escrevam um arquivo simples e traduzam menus e textos exibidos para cada idioma.

A https://www.FreeBSD.org/ports/index.html[Coleção de Ports do FreeBSD] contém muitos aplicativos com suporte embutido para caracteres wide ou multibyte para vários idiomas. Tais aplicativos incluem `i18n` em seus nomes para fácil identificação. No entanto, eles nem sempre suportam o idioma necessário.

Alguns aplicativos podem ser compilados com o conjunto de caracteres específico. Isso geralmente é feito no [.filename]#Makefile# do port ou passando um parâmetro para o configure. Consulte a documentação i18n no código fonte do respectivo port do FreeBSD para obter mais informações sobre como determinar o parâmetro do configure necessário ou o [.filename]#Makefile# do port para determinar quais opções de compilação para usar ao compilar o port.

[[lang-setup]]
== Configuração de Localização para Idiomas Específicos

Esta seção fornece exemplos de configuração para definir a localização de um sistema FreeBSD para o idioma Russo. Em seguida, ele fornece alguns recursos adicionais para definir a localização com outros idiomas.

[[ru-localize]]
=== Idioma Russo (Codificação KOI8-R)

Esta seção mostra as configurações específicas necessárias para definir a localização de um sistema FreeBSD para o idioma Russo. Consulte <<using-localization,Usando Localização>> para obter uma descrição mais completa de cada tipo de configuração.

Para definir esta localidade para o login shell, adicione as seguintes linhas ao [.filename]#~/.login_conf# de cada usuário:

[.programlisting]
....
me:My Account:\
	:charset=KOI8-R:\
	:lang=ru_RU.KOI8-R:
....

Para configurar o console, adicione as seguintes linhas ao [.filename]#/etc/rc.conf#:

[.programlisting]
....
keymap="ru.utf-8"
scrnmap="utf-82cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"
mousechar_start=3
....

Para cada entrada `ttyv` em [.filename]#/etc/ttys#, use `cons25r` como o tipo de terminal.

Para configurar a impressão, é necessário um filtro de saída especial para converter de KOI8-R para CP866, pois a maioria das impressoras com caracteres Russos vem com a página de código de hardware CP866. O FreeBSD inclui um filtro padrão para este propósito, [.filename]#/usr/libexec/lpr/ru/koi2alt#. Para usar este filtro, adicione esta entrada ao [.filename]#/etc/printcap#:

[.programlisting]
....
lp|Russian local line printer:\
	:sh:of=/usr/libexec/lpr/ru/koi2alt:\
	:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
....

Consulte man:printcap[5] para obter uma explicação mais detalhada.

Para configurar o suporte a nomes de arquivos Russos em sistemas de arquivos montados do MS-DOS(TM), inclua `-L` e o nome da localidade ao adicionar uma entrada ao [.filename]#/etc/fstab#:

[.programlisting]
....
/dev/ad0s2      /dos/c  msdos   rw,-Lru_RU.KOI8-R 0 0
....

Consulte man:mount_msdosfs[8] para mais detalhes.

Para configurar fontes Russas no Xorg, instale o pacote package:x11-fonts/xorg-fonts-cyrillic[]. Em seguida, verifique a seção `"Files"` em [.filename]#/etc/X11/xorg.conf#. A seguinte linha deve ser adicionada _antes_ de qualquer outra entrada `FontPath`:

[.programlisting]
....
FontPath   "/usr/local/lib/X11/fonts/cyrillic"
....

Fontes Cirílicos adicionais estão disponíveis na Coleção de Ports.

Para ativar um teclado Russo, adicione o seguinte à seção `"Keyboard"` do [.filename]#/etc/xorg.conf#:

[.programlisting]
....
Option "XkbLayout"   "us,ru"
Option "XkbOptions"  "grp:toggle"
....

Certifique-se de que `XkbDisable` esteja comentado nesse arquivo.

Para `grp:toggle` use kbd:[Right Alt], para `grp:ctrl_shift_toggle` use kbd:[Ctrl+Shift]. Para `grp:caps_toggle` use kbd:[CapsLock]. A antiga função kbd:[CapsLock] ainda está disponível no modo LAT apenas usando kbd:[Shift+CapsLock]. `grp:caps_toggle` não funciona no Xorg por alguma razão desconhecida.

Se o teclado tiver as teclas "Windows(TM)" e algumas teclas não alfabéticas mapeadas incorretamente, adicione a seguinte linha ao [.filename]#/etc/xorg.conf#:

[.programlisting]
....
Option "XkbVariant" ",winkeys"
....

[NOTE]
====
O teclado Russo XKB pode não funcionar com aplicativos não localizados. Aplicativos minimamente localizados devem chamar uma função `XtSetLanguageProc (NULL, NULL, NULL);` no início do programa.
====

Veja http://koi8.pp.ru/xwin.html[http://koi8.pp.ru/xwin.html] para mais instruções sobre como definir a localização em aplicações Xorg. Para mais informações gerais sobre a codificação KOI8-R, consulte http://koi8.pp.ru/[http://koi8.pp.ru/].

=== Recursos Específicos de Idioma Adicionais

Esta seção lista alguns recursos adicionais para a configuração de outras localidades.

Chinês Tradicional para Taiwan::
O projeto FreeBSD-Taiwan tem um HOWTO em Chinês para o FreeBSD em http://netlab.cse.yzu.edu.tw/\~statue/freebsd/zh-tut/[http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/].

Localização do Idioma Grego::
Um artigo completo sobre o suporte Grego no FreeBSD está disponível https://www.FreeBSD.org/doc/el/articles/greek-language-support/[aqui], somente em Grego, como parte da documentação oficial do FreeBSD em Grego.

Localização do Idioma Japonês e Coreano::
Para Japonês, consulte http://www.jp.FreeBSD.org/[http://www.jp.FreeBSD.org/] e, para Coreano, consulte http://www.kr.FreeBSD.org/[http://www.kr.FreeBSD.org/].

Documentação do FreeBSD em Outros Idiomas::
Alguns colaboradores do FreeBSD traduziram partes da documentação do FreeBSD para outros idiomas. Elas estão disponíveis através de links no https://www.FreeBSD.org/[site do FreeBSD] ou em [.filename]#/usr/shared/doc#.