Internacionalização (informática): diferenças entre revisões
m Leon saudanha moveu Internacionalização (software) para Internacionalização (informática): O título dá a entender que se trata de um programa de computador, e não da aplicação desse conceito na informática |
+correções semiautomáticas (v0.39/3.1.37) |
||
Linha 4: | Linha 4: | ||
== Nomenclatura == |
== Nomenclatura == |
||
Internacionalização também é escrita [[acrônimo|acronimamente]] como '''i18n''', vindo da palavra [[Língua inglesa|inglesa]] ''internationalization'', onde se tomam a primeira e a última letra e o número de letras entre elas; o mesmo é feito com ''localization'' escrito como '''L10n'''.<ref>{{citar web |url=http://www.gnu.org/software/gettext/manual/gettext.html#Concepts |titulo=I18n, L10n, and Such |acessodata=27 de dezembro de 2007 |autor=GNU gettext |autorlink= |coautores= |data=27 |
Internacionalização também é escrita [[acrônimo|acronimamente]] como '''i18n''', vindo da palavra [[Língua inglesa|inglesa]] ''internationalization'', onde se tomam a primeira e a última letra e o número de letras entre elas; o mesmo é feito com ''localization'' escrito como '''L10n'''.<ref>{{citar web |url=http://www.gnu.org/software/gettext/manual/gettext.html#Concepts |titulo=I18n, L10n, and Such |acessodata=27 de dezembro de 2007 |autor=GNU gettext |autorlink= |coautores= |data=27 de Dezembro 2007 |formato= |obra= |publicado=gnu.org |páginas= |língua2=en |arquivourl= |arquivodata= |citação=}}</ref> O suporte de algumas línguas pelo sistema informático relaciona-se como um problema entre localização ('''L10n'''), depois multilinguísticas ('''m17n'''), até internacionalização ('''i18n'''). |
||
* Um sistema informático localizado foi adaptado ou convertido para utilização num ''[[locale]]'' específico. |
* Um sistema informático localizado foi adaptado ou convertido para utilização num ''[[locale]]'' específico. |
||
* Um sistema multilinguístico dá suporte a várias línguas ou ''locales'' instalados mas guarda esses dados como dados. |
* Um sistema multilinguístico dá suporte a várias línguas ou ''locales'' instalados mas guarda esses dados como dados. |
||
Linha 10: | Linha 10: | ||
== Fundamentos == |
== Fundamentos == |
||
Os pontos fundamentais para internacionalização e localização incluem<ref>{{citar web |url=http://www.gnu.org/software/gettext/manual/gettext.html#Aspects |titulo=Aspects in Native Language Support |acessodata=27 de dezembro de 2007 |autor=GNU gettext |autorlink= |coautores= |data=27 |
Os pontos fundamentais para internacionalização e localização incluem<ref>{{citar web |url=http://www.gnu.org/software/gettext/manual/gettext.html#Aspects |titulo=Aspects in Native Language Support |acessodata=27 de dezembro de 2007 |autor=GNU gettext |autorlink= |coautores= |data=27 de Dezembro de 2007 |mês= |formato= |obra= |publicado=gnu.org |páginas= |língua2=en |arquivourl= |arquivodata= |citação=}}</ref> |
||
# A [[língua]], contendo a [[codificação de caracteres|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 subtítulos para [[vídeo]]s. |
# A [[língua]], contendo a [[codificação de caracteres|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 subtítulos para [[vídeo]]s. |
||
# O formato de data e tempo, incluindo diferentes [[calendário]]s. |
# O formato de data e tempo, incluindo diferentes [[calendário]]s. |
||
Linha 42: | Linha 42: | ||
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]]. |
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,<ref>{{citar web |url=http://websvn.kde.org/trunk/l10n-kde3 |titulo=Localização do software KDE versão 3 |acessodata=27 de dezembro de 2007 |autor=Projeto KDE |autorlink= |coautores= |data=27 |
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,<ref>{{citar web |url=http://websvn.kde.org/trunk/l10n-kde3 |titulo=Localização do software KDE versão 3 |acessodata=27 de dezembro de 2007 |autor=Projeto KDE |autorlink= |coautores= |data=27 de Dezembro de 2007 |mês= |formato= |obra= |publicado=KDE.org |páginas= |língua2=en |arquivourl= |arquivodata= |citação=}}</ref> o [[GNOME]], também software livre, é traduzido para mais de 100 línguas,<ref>{{citar web |url=http://l10n.gnome.org/languages/ |titulo=Localização do software GNOME |acessodata=27 de dezembro de 2007 |autor=Projeto GNOME |autorlink= |coautores= |data=27 de Dezembro de 2007 |mês= |formato= |obra= |publicado=GNOME.org |páginas= |língua2=en |arquivourl= |arquivodata= |citação=}}</ref> já os softwares comerciais como o [[Skype]] não tem traduções mais do que em 30 línguas.<ref>{{citar web |url=http://www.skype.com/intl |titulo=Línguas disponíveis do software Skype |acessodata=27 de dezembro de 2007 |autor=Software Skype |autorlink= |coautores= |data=27 de Dezembro de 2007 |mês= |formato= |obra= |publicado=Skype.com |páginas= |língua2=en |arquivourl= |arquivodata= |citação=}}</ref> |
||
== Localização de softwares == |
== Localização de softwares == |
||
Linha 56: | Linha 56: | ||
== Problemas com padrões da internet == |
== Problemas com padrões da internet == |
||
De acordo com as [[Web standards|normas da internet]] softwares modernos são mais aptos a integrar componentes de internacionalização devido suas [[tecnologia]]s 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]].<ref>{{Citar web |url=http://www.lsc.ufsc.br/~edla/ine5624/041/SemAvalUsab/Avalia%87%DDo%20de%20Usabilidade%20-%20ML.ppt |título=Apresentação sobre "Avaliação de Usabilidade: Software para Internacionalização" |língua2=pt |autor= |obra= |data= |acessodata=}}</ref> 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<ref>{{citar web |url=http://www.javaworld.com/javaworld/jw-05-2004/jw-0524-i18n.html |titulo=End-to-end Internationalization of Web Applications |acessodata=27 de dezembro de 2007 |autor=Mike Gavaghan |autorlink= |coautores= |data=27 |
De acordo com as [[Web standards|normas da internet]] softwares modernos são mais aptos a integrar componentes de internacionalização devido suas [[tecnologia]]s 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]].<ref>{{Citar web |url=http://www.lsc.ufsc.br/~edla/ine5624/041/SemAvalUsab/Avalia%87%DDo%20de%20Usabilidade%20-%20ML.ppt |título=Apresentação sobre "Avaliação de Usabilidade: Software para Internacionalização" |língua2=pt |autor= |obra= |data= |acessodata=}}</ref> 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<ref>{{citar web |url=http://www.javaworld.com/javaworld/jw-05-2004/jw-0524-i18n.html |titulo=End-to-end Internationalization of Web Applications |acessodata=27 de dezembro de 2007 |autor=Mike Gavaghan |autorlink= |coautores= |data=27 de Dezembro de 2007 |mês= |formato= |obra= |publicado=JavaWorld.com |páginas= |língua2=en |arquivourl= |arquivodata= |citação=}}</ref> em 2004. |
||
== Conceito de Locale == |
== 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). |
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:<ref>{{citar web |url=http://www.evertype.com/standards/iso639/iso639-en.html |titulo=ISO 639 and ISO 639-2: The Code Lists |acessodata=27 de dezembro de 2007 |autor=Michael Everson |autorlink= |coautores= |data=27 |
Abaixo as línguas comumente utilizadas em relação aos países:<ref>{{citar web |url=http://www.evertype.com/standards/iso639/iso639-en.html |titulo=ISO 639 and ISO 639-2: The Code Lists |acessodata=27 de dezembro de 2007 |autor=Michael Everson |autorlink= |coautores= |data=27 de Dezembro de 2007 |mês= |formato= |obra= |publicado=Evertype.com |páginas= |língua2=en |arquivourl= |arquivodata= |citação=}}</ref><ref>{{citar web |url=http://www.cryer.co.uk/brian/windows/info_windows_locale_table.htm |titulo=Windows Locale Table |acessodata=27 de dezembro de 2007 |autor=Brian Cryer |autorlink= |coautores= |data=27 de Dezembro de 2007 |mês= |formato= |obra= |publicado=Cryer.co.uk |páginas= |língua2=en |arquivourl= |arquivodata= |citação=}}</ref> |
||
{{Tabela de locale}} |
{{Tabela de locale}} |
||
Linha 70: | Linha 70: | ||
=== Programação === |
=== Programação === |
||
O [[código fonte]] é primeiro modificado para as chamadas do GNU gettext. Isto é, para a maioria das [[linguagem de programação|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 [[Linguagem de programação C|C]]:<ref name="gnu.org">{{citar web |url=http://www.gnu.org/software/gettext/manual/gettext.html#C |titulo=Gettext with C, C++, Objective C |acessodata=27 de dezembro de 2007 |autor=GNU gettext |autorlink= |coautores= |data=27 |
O [[código fonte]] é primeiro modificado para as chamadas do GNU gettext. Isto é, para a maioria das [[linguagem de programação|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 [[Linguagem de programação C|C]]:<ref name="gnu.org">{{citar web |url=http://www.gnu.org/software/gettext/manual/gettext.html#C |titulo=Gettext with C, C++, Objective C |acessodata=27 de dezembro de 2007 |autor=GNU gettext |autorlink= |coautores= |data=27 de Dezembro de 2007 |mês= |formato= |obra= |publicado=gnu.org |páginas= |língua2=en |arquivourl= |arquivodata= |citação=}}</ref> |
||
<syntaxhighlight lang="c"> |
<syntaxhighlight lang="c"> |
||
Linha 82: | Linha 82: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
em outras linguagens também segue o mesmo padrão, veja em linguagem [[Python]]:<ref name="http">{{citar web |url=http://www.gnu.org/software/gettext/manual/gettext.html#Python |titulo=Gettext with Python |acessodata=27 de dezembro de 2007 |autor=GNU gettext |autorlink= |coautores= |data=27 |
em outras linguagens também segue o mesmo padrão, veja em linguagem [[Python]]:<ref name="http">{{citar web |url=http://www.gnu.org/software/gettext/manual/gettext.html#Python |titulo=Gettext with Python |acessodata=27 de dezembro de 2007 |autor=GNU gettext |autorlink= |coautores= |data=27 de Dezembro de 2007 |mês= |formato= |obra= |publicado=gnu.org |páginas= |língua2=en |arquivourl= |arquivodata= |citação=}}</ref> |
||
<syntaxhighlight lang="python"> |
<syntaxhighlight lang="python"> |
||
Linha 126: | Linha 126: | ||
A página www.babelzilla.org é constituída pelo Web Translation System - WTS (Sistema de Tradução na Web), por um fórum, glossário, [[wiki]] tutorial e outras ferramentas para comunicação da comunidade de desenvolvedores e tradutores. |
A página www.babelzilla.org é constituída pelo Web Translation System - WTS (Sistema de Tradução na Web), por um fórum, glossário, [[wiki]] tutorial e outras ferramentas para comunicação da comunidade de desenvolvedores e tradutores. |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
== Bibliografia == |
== Bibliografia == |
||
Linha 141: | Linha 147: | ||
|url = https://en.wikibooks.org/wiki/FOSS_Localization |
|url = https://en.wikibooks.org/wiki/FOSS_Localization |
||
}} |
}} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
== Ligações externas == |
== Ligações externas == |
Revisão das 18h10min de 8 de junho de 2016
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.
Nomenclatura
Internacionalização também é escrita acronimamente como i18n, vindo da palavra inglesa internationalization, onde se tomam a primeira e a última letra e o número de letras entre elas; o mesmo é feito com localization escrito como L10n.[1] O suporte de algumas línguas pelo sistema informático relaciona-se como um problema entre localização (L10n), depois multilinguísticas (m17n), até internacionalização (i18n).
- Um sistema informático localizado foi adaptado ou convertido para utilização num locale específico.
- Um sistema multilinguístico dá suporte a várias línguas ou locales instalados mas guarda esses dados como dados.
- Um sistema internacionalizado compreende um suporte a um leque grande de locales (ou para usuários de outras línguas), permitindo que várias línguas, conjuntos de codificação de textos, visualização, e interfaces do usuário todos funcionem naturalmente.
Fundamentos
Os pontos fundamentais para internacionalização e localização incluem[2]
- 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 subtítulos para vídeos.
- O formato de data e tempo, incluindo diferentes calendários.
- As diferentes formatações de números.
- O fuso horário (UTC) de cada país para coincidir com a língua a ser internacionalizada.
- Os números pré-definidos governamentalmente como: passaportes, RG, CPF.
- Os padrões de números de telefones, endereço e códigos postais internacionais.
- Os pesos e medidas de cada país.
- O tamanho de papéis.
- A moeda local.
- Nomes e títulos locais.
Diferença entre internacionalização e localização
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 linguí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.
Importância da localização
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.
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]
Localização de softwares
Localização é uma tarefa multifunção, que tem por objetivo traduzir os conteúdos de texto de um software ou de um site, adaptando a tradução para a cultura do país ao qual se destina, considerando costumes, religião, sistemas de pesos e medidas, moeda, padronização de data e hora, legislação e outras variáveis que possam afetar o produto.
A Localização envolve também atividades que requerem profundos conhecimentos de Tecnologia de Informação, em consonância com padrões internacionais convencionados pela Globalização.
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 a uma referência nativamente equivalente, que idealmente não mude o sentido da indicação.
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.
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]
Funcionamento da tradução
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.
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.
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:[10]
# : 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:[11]
# : 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.
Babelzilla
A comunidade Babelzilla é dedicada a prover locales para extensões feitas para programas da família Mozilla baseados em Gecko, como o Firefox e o Thunderbird. Os desenvolvedores disponibilizam suas extensões no Web Translation System - WTS (Sistema de Tradução na Web) e então tradutores voluntários em todo o mundo fornecem os locales, constituindo-se em uma plataforma de tradução simultânea que permite a atualização das traduções sempre que os programadores acrescentarem novas línguas.
A página www.babelzilla.org é constituída pelo Web Translation System - WTS (Sistema de Tradução na Web), por um fórum, glossário, wiki tutorial e outras ferramentas para comunicação da comunidade de desenvolvedores e tradutores.
Ver também
Referências
- ↑ GNU gettext (27 de Dezembro 2007). «I18n, L10n, and Such» (em inglês). gnu.org. Consultado em 27 de dezembro de 2007
- ↑ GNU gettext (27 de Dezembro de 2007). «Aspects in Native Language Support» (em inglês). gnu.org. Consultado em 27 de dezembro de 2007
- ↑ Projeto KDE (27 de Dezembro de 2007). «Localização do software KDE versão 3» (em inglês). KDE.org. Consultado em 27 de dezembro de 2007
- ↑ Projeto GNOME (27 de Dezembro de 2007). «Localização do software GNOME» (em inglês). GNOME.org. Consultado em 27 de dezembro de 2007
- ↑ Software Skype (27 de Dezembro de 2007). «Línguas disponíveis do software Skype» (em inglês). Skype.com. Consultado em 27 de dezembro de 2007
- ↑ «Apresentação sobre "Avaliação de Usabilidade: Software para Internacionalização"»
- ↑ Mike Gavaghan (27 de Dezembro de 2007). «End-to-end Internationalization of Web Applications» (em inglês). JavaWorld.com. Consultado em 27 de dezembro de 2007
- ↑ Michael Everson (27 de Dezembro de 2007). «ISO 639 and ISO 639-2: The Code Lists» (em inglês). Evertype.com. Consultado em 27 de dezembro de 2007
- ↑ Brian Cryer (27 de Dezembro de 2007). «Windows Locale Table» (em inglês). Cryer.co.uk. Consultado em 27 de dezembro de 2007
- ↑ a b GNU gettext (27 de Dezembro de 2007). «Gettext with C, C++, Objective C» (em inglês). gnu.org. Consultado em 27 de dezembro de 2007
- ↑ a b GNU gettext (27 de Dezembro de 2007). «Gettext with Python» (em inglês). gnu.org. Consultado em 27 de dezembro de 2007
Bibliografia
- Souphavanh, Anousak e Karoonboonyanan, Theppitak (2005). Free/Open Source Software. Localization 1 ed. EUA.: United Nations Development Programme-Asia Pacific Development Information Programme - (UNDP-APDIP). 58 páginas. ISBN 81-8147-754-5
Ligações externas
- «Common Locale Data Repository» (em inglês)
- «Introdução a i18n de software, pelo Debian» (em inglês)
- «Manual oficial do gettext» (em inglês)
- «Projeto Babelzilla» (em inglês)
- «Localization Blog» (em inglês)
- Especificações W3C:
- «Layout de texto» (em inglês)
- «Navegação direcional» (em inglês)
- «Modo de escrita» (em inglês)