Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

A primeira vez que acessar o developerWorks, um perfil será criado para você. Informações do seu perfil (tais como: nome, país / região, e empresa) estarão disponíveis ao público, que poderá acompanhar qualquer conteúdo que você publicar. Seu perfil no developerWorks pode ser atualizado a qualquer momento.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Aprenda Linux, 302 (Ambientes Mistos): Internacionalização

Configuração básica e conceitos de nomenclatura em ambientes com idioma diferente de inglês

Tracy Bost, Consultant and Trainer, Freelance
Author photo - Tracy Bost
Tracy Bost é desenvolvedor de software e engenheiro de sistemas experiente. Ele também é palestrante e instrutor do sistema operacional Linux. Tracy é certificado como Red Hat Certified Engineer (RHCE) e Microsoft Certified Systems Engineer (MCSE), além de ser membro ativo da Linux Foundation. Ele trabalhou em vários segmentos de mercado, incluindo hipotecas, imóveis e o setor sem fins lucrativos.

Resumo:  Se você trabalha em um ambiente misto no qual caracteres não ingleses são usados, precisa entender códigos de caracteres e páginas de código na forma como se relacionam o seu código de idioma. Você também precisa entender que os ambientes Linux e Windows diferem ao interpretar espaços de nome. Apesar de o Samba suportar internacionalização, se você trabalhar com clientes mais antigos do Windows, versões 2.x do Samba ou se de outra forma precisar de um conjunto de caracteres específico que não o Unicode, será preciso fazer alguns ajustes de configuração. Dependendo do código de idioma em uso do ambiente, as bibliotecas de criação e conversão de correções também poderão ser necessárias. Neste artigo, saiba como lidar com internacionalização em seu ambiente Linux.

Visualizar mais conteúdo nesta série

Data:  19/Out/2011
Nível:  Intermediário Também disponível em :   Inglês
Atividade:  2503 visualizações
Comentários:  


Sobre esta série

Esta série de artigos ajuda você a saber mais sobre as tarefas de administração de sistemas Linux. Também é possível usar o material desses artigos para se preparar para os exames de certificação do Linux Professional Institute nível 3 (LPIC-3).

Consulte o developerWorks roadmap for LPIC-3 para ver uma descrição de cada artigo da série e um link para cada um desses artigos. O roteiro está em andamento e reflete os objetivos atuais (novembro de 2010) em relação aos exames LPIC-3. À medida que cada artigo é concluído, eles são adicionados ao roteiro.

Visão geral

Neste artigo, saiba mais sobre estes conceitos:

  • Códigos de caracteres e páginas de código
  • Como os conjuntos de caracteres funcionam com clientes Windows
  • Bibliotecas de código de conversão
  • Configuração do Samba para internacionalização

Este artigo ajuda na preparação para o Objetivo 312.6 no Tópico 312 do exame de especialidade de Ambiente Misto do Linux Professional Institute (LPI) (302). O objetivo tem peso 1.


Pré-requisitos

Sobre o exame elegível LPI-302

O Linux Professional Institute Certification (LPIC) é como muitas outras certificações, pois também oferece certificações em níveis diferentes, e cada nível requer mais conhecimento e experiência que o anterior. O exame LPI-302 é um exame elegível especial no terceiro nível da hierarquia do LPIC, e requer um nível avançado de conhecimento de administração de sistema Linux.

Para obter a certificação LPIC nível 3 (LPIC-3), é necessário passar nos dois primeiros exames do primeiro nível (101 e 102), nos dois exames do segundo nível (201 e 202) e no exame principal do LPIC-3 (301). Depois de alcançar esse nível, é possível fazer os exames elegíveis especializados, como o LPI-302.

Para aproveitar ao máximo os artigos desta série, é necessário ter um conhecimento avançado de Linux e um sistema Linux funcional, no qual seja possível praticar os comandos mencionados neste artigo. Especificamente, este artigo pressupõe que você tenha um conhecimento de trabalho das funções de linha de comando do Linux e, pelo menos, um entendimento geral do propósito do Samba, conforme o explicado em Learn Linux, 302 (Mixed environments): Concepts. Para executar as ações descritas neste artigo, é necessário ter o software Samba instalado. Além disso, você deverá ter as bibliotecas da GNU Compiler Collection instaladas, juntamente com acesso à rede e à Internet. Um cliente Windows na rede será útil para testar nomenclatura não inglesa.


Entendendo internacionalização

Se você estiver em um ambiente misto, é provável que seus usuários prefiram trabalhar com arquivos e diretórios de seu próprio código de idioma. Um locale é simplesmente um conjunto de parâmetros que define o idioma do usuário, o país e quaisquer outras preferências que o usuário poderá usar e visualizar no ambiente de computação. Quando o software é capaz de ser executado do código de idioma de um usuário, isso é comumente chamado de internacionalização ou i18n.

Desenvolva sua própria alimentação

É possível desenvolver uma alimentação RSS, Atom ou HTML customizado para receber uma notificação sobre a inclusão de novos artigos ou a atualização do conteúdo. Acesse Alimentações RSS do developerWorks. Selecione Linux como zona e Articles como tipo, e digite Linux Professional Institute como palavra-chave. Em seguida, escolha o tipo preferencial de alimentação.

Códigos de caracteres

Digamos que você esteja percorrendo diretórios em seu computador usando o Nautilus no Linux ou o Windows Explorer no Windows e encontra um diretório chamado 01100001 01110000 01110000 01101100 01101001 01100011 01100001 01110100 01101001 01101111 01101110 01110011. Ou talvez o computador exiba o diretório como 97 112 112 108 105 99 97 116 105 111 110 115 ou 61 70 70 6C 69 63 61 74 69 6F 6E 73. A não ser que você saiba ler binário, decimal ou hexadecimal, ou tenha um conversão à mão, nunca saberá que aquele diretório é um diretório compartilhado com o nome de applications. No entanto, seu computador de fato entende números. De fato, números são tudo o que o computador entende.

Ainda bem que você não precisa aprender binário, hexadecimal, decimal ou qualquer outro sistema de numeração só para usar o computador, pois os conversores exibem caracteres de linguagem legível. Na base dessa conversão, está o código de caracteres. Um código de caracteres é a representação em forma numérica de um mapeamento particular de caracteres de numérico para um caractere particular. A Tabela 1 mostra os códigos de caracteres American Standard Code for Information Interchange (ASCII) para um dado diretório.


Tabela 1. Códigos de caracteres ASCII para um diretório chamado "applications"
BinárioDecimalHexadecimalCaractere representado
011000019761a
0111000011270p
0111000011270p
011011001086Cl
0110100110569i
011000119963c
011000019761a
0111010011674t
0110100110569i
011011111116Fo
011011101106En
0111001111573

Esse exemplo é útil se seu código de idioma funcionar com ASCII. No entanto, com a globalização das redes de computadores, mais usuários desejam trabalhar em seus códigos de idioma.

Unicode

Se você usar um sistema operacional e software modernos, provavelmente usou Unicode, mesmo que não esteja familiarizado com ele. Hoje em dia, é raro encontrar um artigo sobre internacionalização sem ler sobre Unicode. Unicode é a codificação moderna de fato para internacionalização. Sua meta é substituir várias páginas de código em todos os níveis ao fornecer codificação abstrata de caracteres para todos os idiomas conhecidos:

  • A maior parte das distribuições do Linux hoje usa Unicode por padrão.
  • A versão 3.x do Samba usa Unicode por padrão.
  • Desde o final dos anos 1990s, computadores Windows usam Unicode (UTF-16) por padrão.

UTF-8 é a codificação Unicode mais popular usada. Essa codificação usa um único byte para caracteres ASCII, o que permite que ela tenha os mesmos valores de código que os códigos de caracteres definidos pelo ASCII. No entanto, para manter a compatibilidade com versões anteriores, é essencial que um administrador de sistemas Linux seja capaz de entender e trabalhar com várias páginas de código, pois o Unicode nem sempre poderá ser uma opção ou a melhor solução para um ambiente não inglês particular.

Dê um passo atrás no tempo por um momento, para os primeiros dias da rede de computadores. A maioria dos softwares foi desenvolvida com inglês em mente. Como tal, os computadores usavam uma representação de caracteres em inglês do ASCII padrão sem problemas. O ASCII padrão atribui um caractere de um único byte no idioma inglês a um valor numérico, como 0 a 127 em formato decimal. À medida que a necessidade expandiu para incluir mais caracteres e símbolos, como aqueles encontrados no francês, no espanhol e em equações matemáticas, foi incluída uma extensão do ASCII. Essa extensão dá um bit adicional para incluir 128 caracteres a mais, com valores na faixa de 128 a 255 em formato decimal. Algumas dessas extensões comuns ao ASCII padrão incluem ISO Latin I, Extended Binary-Coded Decimal Interchange Code (EBCDIC, que a IBM usa) e Extended ASCII (usado pela Microsoft e pelo sistema operacional DOS).

Mas, e se um ambiente de usuário particular prefere chinês, japonês, húngaro, eslovaco ou outro idioma para o qual caracteres ASCII são insuficientes? É no trabalho com esse tipo de código de idioma não inglês que várias páginas de código podem ajudar.

Páginas de código

Uma página de códigos é um mapeamento de números para caracteres específicos, conforme definido por um conjunto de caracteres (repertório) destinado para uso em um ou mais códigos de idioma particulares. Uma página de códigos tem sido tradicionalmente conhecida como página de códigos, codificação, conjunto de caracteres e conjunto de caracteres codificados. Apesar de, tecnicamente, os vários nomes terem significados ligeiramente diferentes, esse artigo usa os termos página de códigos, conjunto de caracteres e codificação de forma intercambiável.

Idiomas como chinês, japonês, eslovaco e muitos outros têm páginas de código. A Tabela 2 apresenta algumas das páginas de código comumente usadas.


Tabela 2. Páginas de código comuns
Página de códigosRepresentação
850MS-DOS Latin 1 (Western European)
437DOS-US, OEM-US
932MS-DOS Japanese Shift-JIS
852Idiomas da Europa central que usam o sistema de escrita latino
1252Windows Western European Language
950MS-DOS Traditional Chinese
65001UTF-8 (Unicode)
28591ISO-8859-1

Para trabalhar com espaços de nome em um ambiente não inglês

Como a versão 2.x do Samba não tinha suporte para Unicode, todo o suporte a conjuntos de caracteres de idioma em nomes de arquivo usam uma página de código de idioma particular. Clientes Windows mais antigos usam páginas de código de um byte (ao contrário de vários bytes). No entanto, não há suporte no protocolo Server Message Block (SMB)/Linux Common Internet File System (CIFS) para conversão de código. Portanto, você deverá usar o mesmo conjunto de caracteres quando o Samba se comunicar com um cliente Windows mais antigo.

Se seu ambiente exigir o uso de uma página de códigos específica, é preciso conhecer o significado básico de alguns termos específicos do Samba:

  • Conjunto de caracteres UNIX. O conjunto de caracteres que o Linux usa internamente
  • Conjunto de caracteres DOS. O conjunto de caracteres que o Samba usa ao se comunicar com clientes Windows mais antigos
  • Conjunto de caracteres de exibição. O conjunto de caracteres usado para exibição em tela

Se iconv estiver instalado em seu computador Linux (e provavelmente está), é possível determinar as páginas de códigos disponíveis usando o comando iconv -l , como mostra a Listagem 1.


Listagem 1. Listagem parcial das páginas de códigos disponíveis
	
[tbost@samba ~]# iconv -l
The following list contain all the coded character sets known.  This does
not necessarily mean that all combinations of these names can be used for
the FROM and TO command line parameters.  One coded character set can be
listed with several different names (aliases).

  437, 500, 500V1, 850, 851, 852, 855, 856, 857, 860, 861, 862, 863, 864, 865,
  866, 866NAV, 869, 874, 904, 1026, 1046, 1047, 8859_1, 8859_2, 8859_3, 8859_4,
  8859_5, 8859_6, 8859_7, 8859_8, 8859_9, 10646-1:1993, 10646-1:1993/UCS4,
  ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4, ANSI_X3.110-1983, ANSI_X3.110,
  ARABIC, ARABIC7, ARMSCII-8, ASCII, ASMO-708, ASMO_449, BALTIC, BIG-5,
  BIG-FIVE, BIG5-HKSCS, BIG5, BIG5HKSCS, BIGFIVE, BRF, BS_4730, CA, CN-BIG5,
  CN-GB, CN, CP-AR, CP-GR, CP-HU, CP037, CP038, CP273, CP274, CP275, CP278,
  CP280, CP281, CP282, CP284, CP285, CP290, CP297, CP367, CP420, CP423, CP424,
  CP437, CP500, CP737, CP775, CP803, CP813, CP819, CP850, CP851, CP852, CP855,
  CP856, CP857, CP860, CP861, CP862, CP863, CP864, CP865, CP866, CP866NAV,
  CP868, CP869, CP870, CP871, CP874, CP875, CP880, CP891, CP901, CP902, CP903,
  CP904, CP905, CP912, CP915, CP916, CP918, CP920, CP921, CP922, CP930, CP932,

É possível usar o comando locale para exibir o código de idioma atual do computador. Se for necessário alterar o código de idioma, verifique a documentação de sua distribuição para ver o local do arquivo do código de idioma. Se você alterar o código de idioma, será preciso reinicializar o computador após a alteração. A Listagem 2 mostra um exemplo de código de idioma padrão para um computador executando Linux.


Listagem 2. Código de idioma padrão (Unicode UTF-8) de um computador Linux
	
[tbost@samba ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Na Listagem 2, note que os códigos de idioma são representados como nomes, que são fáceis de entender (ao contrário de muitas das convenções de nomenclatura de páginas de código).

Trabalhando com conjuntos de caracteres

Os métodos antigos de página de código DOS que a versão 9x do Windows e o Samba 2.x usam podem suportar conjuntos de caracteres estendidos, mas não em várias combinações. Por exemplo, espanhol, inglês e francês não podem ser usados juntos. Tenha essa restrição em mente se enfrentar o desafio de dar suporte a vários códigos de idioma dentro desses ambientes.

Se você atualizar do Samba 2.x para o Samba 3.x ou alterar o código de idioma padrão do Samba depois de ter usado um código de idioma não inglês, poderá encontrar muitos arquivos que têm caracteres especiais em seus nomes que não são reconhecíveis. Normalmente, esses nomes se manifestarão em uma sequência corrompida de caracteres. Isso comumente acontece com tremas e acentos, pois esses caracteres eram particulares ao código de página que estava em uso anteriormente.

Se você pretende nomear seu servidor Samba usando caracteres não ingleses, assegure-se de que o código de idioma que o Samba está usando seja o mesmo que o código de idioma do computador Linux. É aqui que a diretiva de conjunto de caracteres tem uma função importante na definição adequada da configuração do Samba.


Uso de bibliotecas de conversão de código

iconv (libiconv) é um programa com licença GNU que converte de uma codificação para outra. O Samba baseia-se no iconv estar instalado no computador Linux e ter as rotinas necessárias de conversão de conjuntos de caracteres. Apesar de essas conversões não serem sempre perfeitas, a ferramenta executa seu trabalho relativamente bem.

Se houver uma incompatibilidade no conjunto de caracteres, isso provavelmente resultará na exibição de sequências aleatórias de caracteres ilegíveis. No entanto, um caractere específico que não seja suportado dentro das mesmas páginas de código para um computador Linux ou Windows provavelmente exibirá um ponto de interrogação (?) para o código de caractere não suportado. Nesses cenários, erros são geralmente gravados no arquivo de log do Samba, o que poderá fornecer insight adicional sobre a raiz do problema. Em tais casos, é preciso investigar um pouco mais fundo sobre como códigos de caracteres são convertidos usando páginas de códigos no servidor Samba.

Também poderá ser necessário compilar a biblioteca libiconv para dar suporte a uma página de códigos específica ou aplicar uma correção quando caracteres complexos de vários bytes forem usados, como aqueles em japonês. Se seu código de idioma for para o idioma japonês, é possível que tenha trabalho adicional para compilar a biblioteca libiconv e, a seguir, aplicar uma correção disponível. CP932 (também conhecido como shift_jis e Windows-31J) é a página de códigos da Microsoft usada para japonês. A biblioteca libiconv contém um conversor CP932 que converte a página de códigos do Windows para Unicode. No entanto, é necessária uma correção para fazer as conversões certas. A Listagem 3 mostra o código para usar tal biblioteca.


Listagem 3. Correção, compilação e instalação da biblioteca libiconv para CP932
	
[tbost@samba ~]# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
[tbost@samba ~]#
 wget http://www2d.biglobe.ne.jp/~msyk/software/libiconv/libiconv-1.13-cp932.patch.gz
[tbost@samba ~]# tar -xvzf libiconv-1.13.tar.gz
[tbost@samba ~]# cd libiconv-1.13
[tbost@samba ~]# gzip -dc ../libiconv-1.13-cp932.patch.gz | patch -p1
[tbost@samba libiconv-1.13]# ./configure --prefix=/usr/local/lib/libiconv
[tbost@samba libiconv-1.13]# make
[tbost@samba libiconv-1.13]# sudo make install
[tbost@samba libiconv-1.13]# /usr/local/lib/libiconv/bin/iconv  -l | egrep -i '(-31j|-ms)'
EUC-JP-MS EUCJP-MS EUCJP-WIN EUCJPMS

A sequência de etapas na Listagem 3 é a seguinte:

  1. Faça download do código de origem de libiconv .
  2. Faça download da correção para CP932.
  3. Descompacte o arquivo tar do código de origem de libiconv .
  4. Altere o diretório para o recém-criado diretório libiconv-1.13.
  5. Configure o diretório usando o diretório /usr/local/lib/libiconv directory como o local no qual instalar os arquivos.
  6. Compile o código de origem e, a seguir, instale a ferramenta usando permissões sudo.
  7. Verifique se a correção foi aplicada.

Conversão de arquivos e diretórios existentes

Para manter consistência com nomenclatura, pode-se desejar converter os nomes de um conjunto de caracteres para outro se os diretórios e os arquivos já tiverem sido nomeados usando um conjunto de caracteres anterior. A ferramenta convmv , escrita em in Perl, faz um bom trabalho ao converter de um conjunto de caracteres para outro.

O código na Listagem 4 faz o download do tarball compactado e, a seguir, extrai seu conteúdo. Como convmv é um script Perl, não é necessária compilação. O comando final instrui o convmv a converter recursivamente todos os arquivos em iso-8859-8 (Latin/Hebrew) para Unicode UTF-8.


Listagem 4. Convertendo nomes de arquivos com convmv
	 
[tbost@samba /]# wget http://www.j3e.de/linux/convmv/convmv-1.14.tar.gz
[tbost@samba /]# tar -xzvf convmv-1.14.tar.gz
[tbost@samba /]# cd convmv-1.14
[tbost@samba convmv-1.14]# sudo ./convmv -f iso-8859-8 -t utf8 
-r --notest --replace /applications


Configuração do Samba para internacionalização

A partir da versão 3 do Samba, o Unicode é a codificação padrão, que permite suporte à internacionalização sem alterações de configuração—desde que todos os clientes possam negocias Unicode com sucesso. No entanto, se você usar o Samba 2.x ou quando o Samba tiver clientes Windows mais antigos na rede, é preciso ajustar o arquivo de configuração do Samba, instruindo-o a usar seu código de idioma.

Quando as bibliotecas adequadas de conversão de caracteres estiverem instaladas, a configuração do Samba para internacionalização é direta. Tenha em mente que o protocolo CIFS suporta conjuntos de caracteres não ingleses na rede e não deverá precisar de alterações.

Ativação de conjuntos de caracteres

Suponha que você deseje configurar o Samba 3 para suporte ao cliente Windows em espanhol. Se desejar configurar um código de idioma diferente, use as opções adequadas de parâmetro de conjunto de caracteres DOS e UNIX. Caso contrário, a configuração deverá ser a mesma.

Para ativar conjuntos de caracteres, complete essas etapas:

  1. Como prática recomendada, crie um backup do arquivo smb.conf.
  2. Abra smb.conf em seu editor de texto favorito.
  3. Nas configurações globais, adicione as seguintes diretivas:

      #======================= Global Settings =======================
    
    [global]dos charset = CP850
    
    unix charset = ISO8859-1
    

    As definições de configuração acima fornecem um exemplo para usar a página de códigos 850 em clientes Windows, enquanto o código de idioma do servidor Samba está definido para IS08859-1. Sua configuração provavelmente usará uma página de códigos e um código de idioma diferentes.

  4. Teste se a nova configuração apresenta quaisquer erros de sintaxe ou de conjunto de caracteres não suportados:

    [tbost@samba /]# testparm -v
    Load smb config files from /etc/samba/smb.conf
    rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
    Processing section "[homes]"
    Processing section "[printers]"
    Loaded services file OK.
    Server role: ROLE_STANDALONE
    Press enter to see a dump of your service definitions
    

    Uma mensagem Loaded services file OK deverá ser retornada. Se quaisquer avisos ou erros aparecerem relacionados à conversão do conjunto de caracteres, assegure-se de que libiconv suporta o conjunto de caracteres desejado.

  5. Reinicie o Samba ou recarregue o arquivo de configuração.

Agora, tente conectar a um cliente Windows e navegue em diretórios contendo um acento ou outro caractere não inglês:

[tbost@samba /]# smbclient -U tbost  //windowsclientname/applications
Enter tbost's password:

Aqui, windowslcientname é o nome NetBIOS do cliente Windows em sua rede, enquanto applications é o diretório compartilhado no cliente Windows. Depois de conectar ao compartilhamento, navegue para uma listagem de diretórios contendo caracteres que não estejam em inglês e verifique se são exibidos corretamente.


Recursos

Aprender

Discutir

  • Participe da comunidade My developerWorks. Conecte-se a outros usuários do developerWorks, ao mesmo tempo que explora os blogs, fóruns, grupos e wikis direcionados a desenvolvedores.

Sobre o autor

Author photo - Tracy Bost

Tracy Bost é desenvolvedor de software e engenheiro de sistemas experiente. Ele também é palestrante e instrutor do sistema operacional Linux. Tracy é certificado como Red Hat Certified Engineer (RHCE) e Microsoft Certified Systems Engineer (MCSE), além de ser membro ativo da Linux Foundation. Ele trabalhou em vários segmentos de mercado, incluindo hipotecas, imóveis e o setor sem fins lucrativos.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Linux
ArticleID=765962
ArticleTitle=Aprenda Linux, 302 (Ambientes Mistos): Internacionalização
publish-date=10192011