# pt_BR.UTF-8: alguém conseguiu? [resolvido]

## leo.fontenelle

Editado: o último assunto pendente foi resolvido, então estou marcando o tópico como resolvido.

Saudações, lusófonos de plantão!

Estou tentando fazer meu computador falar em português também, mas nem tudo está indo bem. Segui as orientações para localiação e UTF-8 oficiais, mas ainda encontro os seguintes problemas:

Gnome completamente em inglês, assim como o Firefox, só se salvou o OpenOffice.org; mesmo assim a digitação de caracteres como ç, ã e é funciona perfeitamente no Gnome.

O Bash imprime "ç", mas não "ã", "é" etcétera; esses caracteres são colocados como não imprimíveis, então se eu digitar "ãls" ele vai dizer "-bash: ls: command not found".

O Elinks no gnome-terminal faz uma bagunça indizível com caracteres de desenho, sendo que tudo funciona perfeitamente fora do X.

No modo texto, o Vim precisa de que eu digite "~a  " (dois espaços) para imprimir "ã"; no gnome-terminal isso não é necessário.

O Man, apenas no modo texto, imprime caracteres quadrados com uma interrogação dentro no lugar de hifenização na quebra de linha.

Tenho os sinais USE "unicode" e "nls" ativados universalmente, com direito a "emerge --newuse world -D". Até onde percebo minhas configurações estão corretas; ainda não achei coisa alguma no fórum Gentoo que eu não já tivesse tentado. Eu sei que fiz alguma besteira, mas onde terá sido?

```

LANG=pt_BR.UTF-8

LC_ALL=pt_BR.UTF-8

LANGUAGE="PORTBR"

LINGUAS="pt_BR"

```

```

LANG=pt_BR.UTF-8

LC_CTYPE="pt_BR.UTF-8"

LC_NUMERIC="pt_BR.UTF-8"

LC_TIME="pt_BR.UTF-8"

LC_COLLATE="pt_BR.UTF-8"

LC_MONETARY="pt_BR.UTF-8"

LC_MESSAGES="pt_BR.UTF-8"

LC_PAPER="pt_BR.UTF-8"

LC_NAME="pt_BR.UTF-8"

LC_ADDRESS="pt_BR.UTF-8"

LC_TELEPHONE="pt_BR.UTF-8"

LC_MEASUREMENT="pt_BR.UTF-8"

LC_IDENTIFICATION="pt_BR.UTF-8"

LC_ALL=

```

```

pt_BR.UTF-8/UTF-8

pt_BR/ISO-8859-1

```

```

C

POSIX

pt_BR

pt_BR.utf8

```

```

[ebuild   R   ] sys-apps/baselayout-1.11.12-r4

```

```

KEYMAP="-u br-abnt2"   # sem o "-u" nem o "ç" funciona

```

```

# DUMPKEYS_CHARSET="iso-8859-1"  # já comentei e descomentei essa linha

```

```

CONFIG_UDF_NLS=y

CONFIG_NLS=y

CONFIG_NLS_DEFAULT="utf8"

CONFIG_NLS_CODEPAGE_437=m

CONFIG_NLS_CODEPAGE_850=m

CONFIG_NLS_ASCII=m

CONFIG_NLS_ISO8859_1=m

CONFIG_NLS_UTF8=y

```

```

```

```

NROFF /usr/bin/nroff -mandoc -c

```

```

CONSOLEFONT="lat9w-12" #já tentei com lat9u, já tentei com lat1-12.psf_u_.gz...

```

```

Filesystem Size Used Avail Use% Mounted on
```

Observação: caso alguém lembre de outra informação pertinente, posto a resposta e também atualizo o quadro acima.Last edited by leo.fontenelle on Sat Nov 18, 2006 1:42 am; edited 5 times in total

----------

## gesiel

Eu acho que o erro está aqui:

 *telurion wrote:*   

> 
> 
> $ grep ^L /etc/env.d/02locale
> 
> LANG=pt_BR.UTF-8
> ...

 

as variáveis LANG e LC_ALL deveriam estar assim:

```
LANG=pt_BR

LC_ALL=pt_BR
```

a variável LANGUAGE não é mais utilizada pq foi substituida pela LANG.

seu comando locale deveria aparecer asim:

```
LANG=pt_BR

LC_CTYPE="pt_BR"

LC_NUMERIC="pt_BR"

LC_TIME="pt_BR"

LC_COLLATE="pt_BR"

LC_MONETARY="pt_BR"

LC_MESSAGES="pt_BR"

LC_PAPER="pt_BR"

LC_NAME="pt_BR"

LC_ADDRESS="pt_BR"

LC_TELEPHONE="pt_BR"

LC_MEASUREMENT="pt_BR"

LC_IDENTIFICATION="pt_BR"

LC_ALL=pt_BR
```

----------

## leo.fontenelle

 *gesiel wrote:*   

> Eu acho que o erro está aqui: [...] as variáveis LANG e LC_ALL deveriam estar assim:
> 
> ```
> LANG=pt_BR
> 
> ...

 

Eu estava tentando fazer um sistema em UTF-8, daí eu ter especificado assim; mas retirando as configurações de UTF-8, meu Linux está rodando direitinho... Eu achava que já tinha colocado "pt_BR.UTF-8" em "/etc/locales.build" quando recompilei tudo e compilei o Gnome, mas já não tenho tanta certeza. Nesse momento, só o Firefox está em inglês (não tenho Thunderbird).

 *geisel wrote:*   

> [...] a variável LANGUAGE não é mais utilizada pq foi substituida pela LANG

 

Se não me engano, passou para LINGUAS, e não LANG. Trecho do TIP Speak your language, do wiki Gentoo:

 *Quote:*   

> OpenOffice.org uses the LINGUAS variable to detect which Language you want to install. Set this in /etc/make.conf. The first one that is supported is being used.

 

Em tempo: mudei minha definição de LINGUAS de "/etc/env.d/02locale" para "/etc/make.conf", para que o portage possa reconhecê-la.

----------

## gesiel

 *telurion wrote:*   

> Eu estava tentando fazer um sistema em UTF-8, daí eu ter especificado assim; mas retirando as configurações de UTF-8, meu Linux está rodando direitinho... 

 

Legal saber!

 *telurion wrote:*   

> Eu achava que já tinha colocado "pt_BR.UTF-8" em "/etc/locales.build" quando recompilei tudo e compilei o Gnome, mas já não tenho tanta certeza. 

 

Não sei no Gnome, mas no KDE tem que instalar o pacote de idomas separadamente, assim:

```
LINGUAS="pt_BR" emerge kde-i18n
```

 *telurion wrote:*   

> Nesse momento, só o Firefox está em inglês (não tenho Thunderbird).

 

para o Firefox vc faz assim:

1) vai no endereço http://benjamin.smedbergs.us/switch-locales/ e instala a extensão xpi (tem um link lá). Note que primeiro é aberta uma caixa para vc permitir a instalação da extensão. Vc permite e ai volta ao link e clica novamente. Neste momente é que a extensão será instalada.

2) aponte o firefox para o endereço http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0.4/win32/xpi/pt-BR.xpi e repita novamente após permitir a instalação.

3) feche todas as instãncias do firefox e abra novamente.. ele já deverá aparecer em português. Se não aparecer, procure no menu "Tools/Language" ou algo parecido. Selecione português, feche o firefox e abra novamente...

 *telurion wrote:*   

>  *geisel wrote:*   [...] a variável LANGUAGE não é mais utilizada pq foi substituida pela LANG 
> 
> Se não me engano, passou para LINGUAS, e não LANG. Trecho do TIP Speak your language, do wiki Gentoo:
> 
>  *Quote:*   OpenOffice.org uses the LINGUAS variable to detect which Language you want to install. Set this in /etc/make.conf. The first one that is supported is being used. 

 

é vc está certo. Mas LANGUAGE realmente não é mais utilizada.

 *telurion wrote:*   

> Em tempo: mudei minha definição de LINGUAS de "/etc/env.d/02locale" para "/etc/make.conf", para que o portage possa reconhecê-la.

 eu ia te falar disso, mas achei que ia embolar muito pq o post foi longo.

Ps.: não se esqueça de editar o título para [resolvido] ou algo parecido, ok?

----------

## leo.fontenelle

 *gesiel wrote:*   

> Não sei no Gnome, mas no KDE tem que instalar o pacote de idomas separadamente, assim:
> 
> ```
> LINGUAS="pt_BR" emerge kde-i18n
> ```
> ...

 

No Gnome não existe um pacote à parte, tanto que sem UTF-8 meu Gnome está falando pt_BR.

 *gesiel wrote:*   

> para o Firefox vc faz assim: [...]

 

Valeu, vou fazer isso.

 *gesiel wrote:*   

> Ps.: não se esqueça de editar o título para [resolvido] ou algo parecido, ok?

 

Não está me incomodando, mas não foi resolvido, e não consegui achar a resposta no fórum... acho melhor deixar aberto para ver se aparece a solução, você não acha? (Eu realmente estou pedindo sua opinião)

----------

## leo.fontenelle

 *gesiel wrote:*   

> 2) aponte o firefox para o endereço http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0.4/win32/xpi/pt-BR.xpi e repita novamente após permitir a instalação.

 

Achei o xpi pt_BR do Firefox para linux. Nem precisei instalar a extensão de troca de locale, foi só instalar o xpi e reiniciar.

----------

## gesiel

 *telurion wrote:*   

> Não está me incomodando, mas não foi resolvido, e não consegui achar a resposta no fórum... acho melhor deixar aberto para ver se aparece a solução, você não acha? (Eu realmente estou pedindo sua opinião)

 

Achei que não tinha ficado nada de fora... ainda está com problemas em algum aplicativo?

----------

## leo.fontenelle

Está praticamente tudo funcionando, mas não em UTF-8.

Aliás, engraçado, como continuei com a variável USE "unicode" ativada, o terminal onde digito startx às vezes recebe mensagens de erro com caracteres especiais trocados por dois caracteres estranhos  :Laughing: .

Pelo andamento, parece que ninguém mais vai responder... Assim que eu resolver um problema de hardware, vou tentar novamente fazer funcionar esse negócio de pt_BR.UTF-8, e se conseguir aviso.

----------

## leo.fontenelle

Estou reinstalando o Gentoo, porque comecei a ter uns erros meio estranhos, talvez tenha sido hardware, mas o fato é que o boot tinha ficado impossível.

Mas o importante é que, no processo, descobri duas coisas:

Para resolver o problema do bash, basta selecionar uma fonte compatível com ISO 8859-1, como lat1-14.psfu.gz ou iso01.14.gz; o problema do man também está resolvido; talvez agora tenha funcionado por eu ter tentado sem inventar moda quanto ao br-abnt2, que já foi recompilado com suporte a unicode e não precisa de "-u".

Estou recebendo repetidamente uma mensagem de erro, mesmo compilando algumas coisas de console, o X e o GTK+ 2, não sei se acontecia da vez passada:

```
perl: warning: Setting locale failed.

perl: warning: Please check that your locale settings:

        LANGUAGE = (unset),

        LC_ALL = "pt_BR.UTF-8",

        LANG = "pt_BR.UTF-8"

    are supported and installed on your system.

perl: warning: Falling back to the standard locale ("C").
```

----------

## gesiel

Se vc está reinstalando, está no prompt, então abra um novo terminal (pressione Alt + F2 ) e digite:

```
locale
```

Se aparecer algo "diferente" de:

```
LANG=pt_BR

LC_CTYPE="pt_BR"

LC_NUMERIC="pt_BR"

LC_TIME="pt_BR"

LC_COLLATE="pt_BR"

LC_MONETARY="pt_BR"

LC_MESSAGES="pt_BR"

LC_PAPER="pt_BR"

LC_NAME="pt_BR"

LC_ADDRESS="pt_BR"

LC_TELEPHONE="pt_BR"

LC_MEASUREMENT="pt_BR"

LC_IDENTIFICATION="pt_BR"

LC_ALL=pt_BR
```

é por que tem algo errado... faz ai e posta o resultado.

Ah, sim... para voltar ao outro termonal (o que está compilando) basta pressionar Alt + F1

----------

## leo.fontenelle

A saída é tudo "pt_BR.UTF-8"

----------

## gesiel

caramba... está errado novamente... a solução já tinha te falado (nos posts anteriores)... vai dar craca novamente... releia os posts (ai em cima /\ )... lembra o

```
LANG=pt_BR

LC_ALL=pt_BR
```

no /etc/env.d/02locale ?

----------

## leo.fontenelle

Quanto ao sucesso que eu tinha relatado anteriormente, eu estava num ambiente de chroot, a partir do disco de instalaçao do Jackass!; dando boot tudo ficou como antes. O engraçado eh que os programas estao exibindo tudo direitinho, soh o que eu digito eh que sai errado. (Teste: eu estou, tu est**; vejo como "tu est**".)

Tentei reconfigurar o /etc/env.d/02locale conforme a sugestao, sem o .UTF-8 (apesar de isso ser recomentaçao do http://www.gentoo.org/doc/pt_br/utf-8.xml), e nada mudou apos env-update e novo login (mudança confirmada com o comando "locale").

Quanto ao perl: eu observei que o diretorio /usr/lib/locale soh continha os locales listados no /etc/locales.build padrao; como segundo o equery o /usr/lib/locale faz parte do glic, recompilei-o e agora o conteudo do diretorio sao pt_BR e pt_BR.UTF-8. Ateh agora nao recebi mais reclamacao.

----------

## Mythos

e metes-te as conf's no userlocales do glibc ?

```
#/etc/locales.build

en_US/ISO-8859-1

en_US.UTF-8/UTF-8

#ja_JP.EUC-JP/EUC-JP

#ja_JP.UTF-8/UTF-8

#ja_JP/EUC-JP

en_HK/ISO-8859-1

en_PH/ISO-8859-1

#de_DE/ISO-8859-1

#de_DE@euro/ISO-8859-15

#es_MX/ISO-8859-1

#fa_IR/UTF-8

#fr_FR/ISO-8859-1

#fr_FR@euro/ISO-8859-15

#it_IT/ISO-8859-1

pt_PT/ISO-8859-1

pt_PT@euro/ISO-8859-15

pt_PT.UTF-8/UTF-8
```

no meu caso meti pt_PT.UTF-8/UTF-8 já tentas-te meter pt_BR.UTF-8/UTF-8, recompilares o glibc com a flag userlocales activada ?

não te esqueças é deposi de criares um env com a tua lang.

----------

## leo.fontenelle

Sim, lembrei...

----------

## Xterminator

 *telurion wrote:*   

> Sim, lembrei...

 

Desculpe-me a intromissão , não uso gentoo mas uso gnome...

tente exportar a variável

GDM_LANG=pt_BR.UTF-8

----------

## leo.fontenelle

 *Xterminator wrote:*   

> tente exportar a variável
> 
> GDM_LANG=pt_BR.UTF-8

 

Valeu! Infelizmente, tive um problema com meu hardware, e ao reinstalar o sistema operacional (usando o disco de instalação do projeto Jackass!) resolvi experimentar o KDE 3.4, recentemente marcado como estável, de forma que não poderei dizer se a dica ajuda.

Por favor, quem ler esse tópico: se for o caso, teste a dica do colega, e avise se ajuda ou não!

----------

## leo.fontenelle

Atualização dos meus problemas: atualmente não estou rodando em UTF-8, e descobri que tenho boas razões para isso. Vou começar repassando os problemas, e as soluções.

Caracteres estranhos no man - de tanto mexer, isso sumiu, no momento devo ter esquecido de algo;

Gnome em inglês - talvez a resposta seja a do Xterminator (ver acima), talvez realmente seja o caso de recompilar o glibc com o /etc/locales.build configurado, ver o que escrevi acima;

Caracteres de desenho estranhos no elinks: configurar "opções de terminal" para UTF-8;

Vim e bash no modo texto - já tentei de tudo, mas nada funciona, e só caracteres compostos ('+a=á) dão problema; aparentemente o kernel não aceita direito entrada em UTF-8, e as "deadkeys" são onde o problema aparece porque são onde o UTF-8 difere do ascii e dos iso8859-x.

Pode parecer estranho, mas o que concluí após um bocado de busca na internet é que o kernel do linux encara os consoles como se fossem aqueles terminais de antigamente, os quais não são capazes de suportar unicode. Algums caracteres multibyte entram em conflito com seqüências especiais que o VT1000 aceita. Existem remendos para entrar em modo utf-8, mas nada que "simplesmente funcione". Um projeto (ver abaixo) visa a contornar essas limitações, melhrando o console do linux.

Leitura:

Mensagem na lkml: "The current UTF-8 keyboard input (for the console) of the Linux kernel does not support 'composing' or writing characters with accents."

Mensagem na lista linux-uft8: "The clear outcome of the thread [...] was that in order to support well Unicode on the Linux console, one should not touch anymore the kernel. Rather, one should write a user-space program to do the work."

FAQ de UTF-8 e Unicode: "Modifications were necessary in Linux the following places: ..."

Patches: "I want to be able to do everything in UTF-8 mode that is possible to do in non-Unicode mode."

The Linux Console Project: "New features: [...] Better Unicode support."

----------

## To

Eu já tentei mas fui forçado a desistir por causa de uma cena marada... erros nos file system... alguém mais teve probs do genero?

Tó

----------

## tscolari

 *gesiel wrote:*   

> caramba... está errado novamente... a solução já tinha te falado (nos posts anteriores)... vai dar craca novamente... releia os posts (ai em cima /\ )... lembra o
> 
> ```
> LANG=pt_BR
> 
> ...

 

amigo você esta meio perdido

pt_BR esta correto apenas se vc quiser usar o padrao (8859-1 eu acho), como ele expecificou pt_BR.UTF-8/UTF-8 em locales.build o correto é aparecer pt_BR.UTF-8.

Estou rodando em UTF-8 aqui e em portugues.

O unico problema que estou tendo é com os menus do xmms =p

mas ta tudo rodando perfeito fora isso (não testei muito bem o modo texto, modo gráfico e terminais estao perfeitos).

Algumas dicas:

* habilite no kernel UTF-8

   em: -> File Systems / Native Language Suport / [*] UTF-8

   (Eu habilito tambem as codepages de portugues, nao sei até que ponto isso interfere)

* em /etc/env.d/02local tenho apenas: LANG="pt_BR.UTF-8"

* tenho LINGUAS no make.conf mas isso nao vai interferir no idioma do gnome.

   a variavel LANG sim ira mudar a interface para o idioma em tempo de execução (nao de compilacao)

como eu nao uso o modo texto puro, nao me me incomodo muito com o fato de não funcionar 100% lá.

espero que isso ajude alguem ai, eu acho unicode é um avanço e todos deveriam usar, aqueles 1001 codepages só quebra as perna =p

----------

## leo.fontenelle

O locale aparecem sem UTF-8 quando eu peço sem UTF-8, mesmo. O maior problema é o console, que como eu disse parece não querer aceitar UTF-8, e daí as aplicações em console não funcionarem direito, diferentemente das mesmas quando em terminais virtuais (xterm e sua prole). Quanto ao GNOME, não sei por que ficava em inglês, mas duvido que haja impedimento para localização quando em UTF-8, seria até um paradoxo.

----------

## leo.fontenelle

 *To wrote:*   

> erros nos file system...

 

Será que esta mensagem ajuda?

----------

## leo.fontenelle

 *leo.fontenelle wrote:*   

> O Bash imprime "ç", mas não "ã", "é" etcétera; esses caracteres são colocados como não imprimíveis, então se eu digitar "ãls" ele vai dizer "-bash: ls: command not found".

 

Isso acontecia porque eu tinha deixado de fazer uma configuração importante:

```

# /etc/conf.d/consolefont

# [...]

CONSOLEFONT="lat1-16"

# CONSOLETRANSLATION is the charset map file to use.  Leave commented to use

# the default one.  Have a look in /usr/share/consoletrans for a selection of

# map files you can use.

CONSOLETRANSLATION="8859-1_to_uni"    <--- Isso resolveu o problema

```

De uma forma ou de outra, todos os problemas estão resolvidos. Estou marcando este tópico como resolvido, se alguém quiser pedir ajuda em UTF-8 é melhor fazer num tópico à parte que este ficou uma bagunça.

----------

## Satoshi

Só me fica uma dúvida, qual é a vantagem de todo esse trabalho?

O que o UTF-8 tem de mais???

Eu pus como iso e não tive mais problemas...

Aliás, algumas páginas da internet ficam com problemas nos caracteres quando está UTF-8.

----------

## leo.fontenelle

Boa pergunta, Satoshi.

Adotar UTF-8 é uma questão de compatibilidade entre sistemas de vários locais, mas quando você já tem um sistema funcionando trocar de codificação significa um risco de incompatibilidade com seus próprios dados legados. Os defensores do UTF-8 dizem que esta codificação está caminhando para tornar-se um padrão universalmente adotado, mas com certeza vão-se passar anos antes que você seja coagido a trocar sua codificação porque "todo o mundo usa". 

Há tempos li alguma proposta de adotar UTF-8 como codificação padrão nos novos lançamentos do Gentoo, mas não sei se isso surtiu efeito. No caso das distribuições que adotam UTF-8 por padrão, aposto que a maioria dos usuários nem pára para pensar no assunto, já que não têm que fazer a transição.

Da primeira vez, em que tentei, e dessa vez, em que troquei para UTF-8, eu já estava recompilando uma série de pacotes por outros motivos -- aí eu pensei, por que não? UTF-8 é "maneiro". É teoricamente melhor. Além disso, todos temos uma série de arquivos em UTF-8 em nossos sistemas, independentemente da nossa codificação preferida. Alguns exemplos são arquivos XML, arquivos específicos do Gentoo (p. ex. changelogs dos ebuilds), e arquivos PO ("catálogos de mensagens", usados na tradução dos programas). E, como você deve saber, nos ambientes gráficos modernos utiliza-se UTF-8 internamente.

Eu não precisava trocar a ISO 8859-1, mas agora não sinto a menor falta dela.

----------

