ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Internacionalização (software) - Wikipédia, a enciclopédia livre

Internacionalização (software)

Origem: Wikipédia, a enciclopédia livre.

Nota: Se procura por Internacionalização em um contexto geral, consulte Internacionalização.

Internacionalização e localização, em informática, são processos de desenvolvimento e/ou adaptação de um produto, em geral softwares de computadores, para uma língua e cultura de um país. A internacionalização de um produto não fabrica o produto novamente, somente adapta as mensagens do sistema à língua e à cultura locais. Isto é importante porque permite que o desenvolvedor de software respeite as particularidades de cada língua e cultura de cada país.

Internacionalização também é escrita acronimamente como i18n, vindo da palavra inglesa internacionalization, onde se tomam a primeira e a última letra e o número de letras que contém a palavra; o mesmo é feito com localization escrito como L10n[1].

Índice

[editar] Fundamentos

Os pontos fundamentais para internacionalização e localização incluem [2]

  1. A língua, contendo a codificação do texto em diferentes sistemas de escrita (Alfabetos), diferentes sistemas numerais, scripts da esquerda-para-direita e scripts da direita-para-esquerda (por exemplo, para língua hebraica). Os sistemas atuais utilizam Unicode para solucionar problemas de codificação de caracteres. Contendo também a representação gráfica do texto, o áudio e os sub-títulos para vídeos.
  2. O formato de data e tempo, incluindo diferentes calendários.
  3. As diferentes formatações de números.
  4. O fuso horário (UTC) de cada país para coincidir com a língua a ser internacionalizada.
  5. Os números pré-definidos governamentalmente como: passaportes, RG, CPF.
  6. Os padrões de números de telefones, endereço e códigos postais internacionais.
  7. Os pesos e medidas de cada país.
  8. O tamanho de papéis.
  9. A moeda local.
  10. Nomes e títulos locais.

[editar] Diferença entre internacionalização e localização

Página principal do site da Wikipédia em língua hebraica.
Página principal do site da Wikipédia em língua hebraica.

A diferença entre internacionalização e localização é somente fundamental. A internacionalização é uma adaptação de um produto para melhoramento e a localização é uma adição de características específicas de uma região. Os dois são evidentemente complementares.

Alguns dos elementos específicos da localização são: tradução lingüística, suporte a várias línguas, suporte a caracteres das línguas da Ásia oriental, símbolos, métodos de ordenação de listas, valores culturais e contexto social.

No desenvolvimento de software, depois de internacionalizado um produto, o termo localização se refere ao processo necessário para o produto internacionalizado esteja também pronto para mercados específicos.

Por esta razão pode-se falar que um produto internacionalizado satisfaz a comunidade internacional, mas não para um mercado específico. A preparação para um mercado específico é chamado de localização.

[editar] Importância da localização

Tela de um computador com vários programas traduzidos para língua italiana.
Tela de um computador com vários programas traduzidos para língua italiana.

Atualmente, as pessoas que queiram usar computadores devem primeiramente aprender o inglês. Em um país com baixas taxas de alfabetização obstrui o acesso às tecnologias de informação e de comunicações, especialmente para pessoas com baixa renda e as comunidades rurais que não têm o mesmo acesso à instrução. A localização traz inúmeros benefícios como a redução significativamente a quantidade de treinamento necessária para os usuários finais para usar um sistema de computador, facilitando a introdução da informática em pequenas e médias empresas, permitindo que empregados trabalhem inteiramente na sua língua nativa e facilitando o desenvolvimento dos sistemas e para controlar bases de dados de nomes e de dados locais da língua, facilitando a decentralização dos dados em níveis provinciais e de distrito.

O mesmo aplica-se às companhias de serviço público (eletricidade, água, telefone), que desenvolverão as bases de dados locais da língua, desse modo reduzindo custos e dando o serviço melhor aos cidadãos, permitindo que os cidadãos comuniquem-se com o e-mail em sua própria língua, fornecendo a indústria local dos projetos, fontes adequadas aquela região e ajudando universidades a treinarem mais engenheiros de software.

[editar] Dificuldades

Uma das grandes dificuldades das equipes do desenvolvimento é a necessidade que alguém compreenda línguas estrangeiras e culturas e tenha algum conhecimento técnico; tal pessoa pode ser difícil de encontrar. outra dificuldade é a duplicação de esforços para a manutenção e atualização rotineira das mensagens do sistema em paralelo ao desenvolvimento do software e da inclusão de novas características, consequentemente, criação de novas mensagens a serem traduzidas. Por exemplo, se uma mensagem indicada ao usuário em uma de diversas línguas for modificada, todas as versões traduzidas devem ser mudadas. Há bibliotecas de software que ajudam a minimizar este problema, como o gettext.

O software de código-fonte aberto pode geralmente ser livremente modificado e redistribuido, por isso é mais apto a internacionalização. A maioria dos softwares proprietários está somente disponível nas línguas consideradas economicamente viáveis. O projeto KDE é feito sob software livre e está traduzido para mais de 90 línguas[3], o GNOME, também software livre, é traduzido para mais de 100 línguas[4], já os softwares comerciais como o Skype não tem traduções mais do que em 30 línguas[5].

[editar] Localização de softwares

Programas em língua chinesa dentro do sistema operacional Ubuntu.
Programas em língua chinesa dentro do sistema operacional Ubuntu.

A localização de software é um processo de traduzir as mensagens que os usuários finais irão visualizar e de adaptá-las a fim de que sirvam uma cultura estrangeira. Este processo é um trabalho intensivo e requer frequentemente esforços significativos das equipes de desenvolvimento. Há ferramentas que podem simplificar o processo de localização. Vários projetos de software comerciais e de software livre começam sem a implementação da localização, ou para cortar custos ou para reduzir esforços já que para se fazer a internacionalização de um software é necessário que o tradutor ou localizador conheça e utilize o software e também, que domine a língua e conheça detalhes do país originário da língua a traduzir.

A localização de softwares também pode adaptar o software de uma cultura a outra. Durante a localização, algumas referências a história ou à cultura são substituídas à uma referência nativamente equivalente, que idealmente não mude o sentido da indicação.

[editar] Problemas com padrões da internet

De acordo com as normas da internet softwares modernos são mais aptos a integrar componentes de internacionalização devido suas tecnologias mais modernas como navegador web, aplicações para servidor e banco de dados. É nas relações destes componentes que as deficiências nos padrões se tornam mais aparentes. Por exemplo, não há nenhum mecanismo padronizado para o HTTP indicar os caracteres de codificação utilizados nos índices de formulários HTML[6]. Embora haja alguns mecanismos específicos de navegadores que podem indicar os caracteres, não há nada especificado pelos padrões da W3C. Houve somente uma intenção de solucionar este problema[7] em 2004.

[editar] Conceito de Locale

Em informática, o conceito de locale é um grupo de parâmetros que define uma língua, levando em conta suas variantes específicas, a qual o usuário final define sua língua nativa, e é ela que irá aparecer no software usado. Normalmente um identificador locale está no formato de identificação da língua (em minúsculo) e um identificador de região (em maiúsculo).

Abaixo as línguas comumente utilizadas em relação aos países[8] [9]:


[editar] Funcionamento da tradução

Ver artigo principal: Gettext
Processo do andamento interno do GNU gettext para a tradução da mensagem.
Processo do andamento interno do GNU gettext para a tradução da mensagem.

O gettext é uma biblioteca de internacionalização criada pelo Projeto GNU parte do GNU Translation Project, é usada para escrever as mensagens de programas em multi-línguas, utilizada por vários importantes programas para tradução de seus softwares. Veja Lista de softwares que usam gettext.

[editar] Programação

O código fonte é primeiro modificado para as chamadas do GNU gettext. Isto é, para a maioria das linguagens de programação, é feito uma encapsulação das strings e o gettext irá chamar qual strings o usuário irá visualizar. Esta função é usualmente modificada para _ (underline), veja por exemplo o código em C[10]:

printf("My name is %s.", myname);

é escrito assim:

printf(_("My name is %s."), myname);

em outras linguagens também segue o mesmo padrão, veja em linguagem Python[11]:

print("My name is %s." % myname)

é escrito assim:

print(_("My name is %s.") % myname)

Outras linguagens também possuem a funcionalidade do gettext como: C++, Objective-C, Shell script, bash, LISP, Smalltalk, Java, awk, Pascal, wxWidgets, Tcl, Perl, PHP e outras mais.

[editar] Tradução

Para a tradução da string acima é necessário junto ao programa um arquivo com extensão .po, ou um template, que contenha uma lista de todas as frases e palavras que precisam ser traduzidas no código fonte. Dentro do arquivo .po de um programa escrito em C é necessário conter[12]:

#: src/name.c:36
msgid "My name is %s."
msgstr "Meu nome é %s."

Nos exemplos acima, a primeira linha mostra o caminho para qual arquivo (src/name.c) e para qual linha (linha 36) a frase terá que ser traduzida.

O mesmo pode ser feito com outras linguagens, o padrão também é seguido alterando somente a extensão do arquivo fonte, veja em Python[13]:

#: src/name.py:36
msgid "My name is %s."
msgstr "Meu nome é %s."

Em um software que contenha várias linguagens de programação, as mensagens de tradução funcionam normalmente, basta somente referenciar o nome do arquivo fonte correspondente a linha, como exemplificado nos exemplos acima.

Para a tradução das frases da língua nativa do programa para a língua que deseja traduzir é necessário um programa que edite arquivos .po e depois de traduzidas as mensagens é necessário ter um compilador para gerar o arquivo .mo, os programas mais comuns são o próprio gettext, para KDE existe o Kbabel e para multiplataformas tem o Poedit, estes programas fazem com que as strings de tradução estajam alinhadas no arquivo, facilitando a localização das frases que não foram traduzidas ou com tradução incompletas.

Programas como Gedit, Kate ou Bloco de notas também funcionam para traduzir os programas, atrapalhando somente na visualização.

Notas e Referências

  1. GNU gettext (27-12). I18n, L10n, and Such (inglês). gnu.org. Página visitada em 27-12-2007.
  2. GNU gettext (27-12). Aspects in Native Language Support (inglês). gnu.org. Página visitada em 27-12-2007.
  3. Projeto KDE (27-12). Localização do software KDE versão 3 (inglês). KDE.org. Página visitada em 27-12-2007.
  4. Projeto GNOME (27-12). Localização do software GNOME (inglês). GNOME.org. Página visitada em 27-12-2007.
  5. Software Skype (27-12). Línguas disponíveis do software Skype (inglês). Skype.com. Página visitada em 27-12-2007.
  6. Apresentação sobre "Avaliação de Usabilidade: Software para Internacionalização" (português).
  7. Mike Gavaghan (27-12). End-to-end Internationalization of Web Applications (inglês). JavaWorld.com. Página visitada em 27-12-2007.
  8. Michael Everson (27-12). ISO 639 and ISO 639-2: The Code Lists (inglês). Evertype.com. Página visitada em 27-12-2007.
  9. Brian Cryer (27-12). Windows Locale Table (inglês). Cryer.co.uk. Página visitada em 27-12-2007.
  10. GNU gettext (27-12). Gettext with C, C++, Objective C (inglês). gnu.org. Página visitada em 27-12-2007.
  11. GNU gettext (27-12). Gettext with Python (inglês). gnu.org. Página visitada em 27-12-2007.
  12. GNU gettext (27-12). Gettext with C, C++, Objective C (inglês). gnu.org. Página visitada em 27-12-2007.
  13. GNU gettext (27-12). Gettext with Python (inglês). gnu.org. Página visitada em 27-12-2007.

[editar] Bibliografia

[editar] Veja também

[editar] Ligações externas

Outras línguas


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -