Вы находитесь на странице: 1из 16

CrlissonBorgesTenrioGaldino

Projeto de Software para Vrios Idiomas


O Primeiro Passo para um Software Internacionalizado

"Texto" apresentado na Universidade Federal de Alagoas para a "quinta" nota da disciplina Engenharia de Software, ministrada pelo professor Srgio.

UniversidadeFederaldeAlagoas
i

NcleodeTecnologiadaInformao EngenhariadeSoftware

Macei,Janeirode2001

ii

Sumrio

MundoGlobalizado......................................................................................................3 SoftwaredeumMundoGlobalizado...........................................................................5 SistemacomSuporteaVriosIdiomas......................................................................7 MltiplasCompilaesModoSimples..................................................................7 MltiplasCompilaesLinguagemIntermediria.............................................9 TabeladeIdioma...................................................................................................10 SoftwareparaVriasCulturas.................................................................................12 Concluso....................................................................................................................13 Bibliografia.................................................................................................................14

iii

MUNDO GLOBALIZADO

Acivilizaotemmostradocadavezmaisinteresseemsetornarunida, completa. Principalmente no decorrer dos ltimos mil anos, com as diversas culturasdeixandoclaroointeresseporterraseriquezas.Emboraesteinteresse continueexistindo,notavaseumavontadedequehouvessecontatocomoutros povos.Umavontadequeiadesdeasimplescuriosidadeat orealinteressepelo estabelecimentodelaoscomerciaisedecomunicao. Nas pocasmaisdistantesnohaviaatraoporoutrospovosdemodo quesevalorizassesuacultura,excetododominadoparacomodominante,mas este era um sentimento imposto por uma espada. O que de outros povos interessavaeraseutesouro,poistodointeressesechamavacobia.Esteeraum pensamento egosta,que foisediluindo nos ltimos anosetalvez,algum dia, desapareatotalmente. Ento, com o passar dos anos, uma viso de respeito e curiosidade se apossavacadavezmaisdomundotalvezasociedade nicasejaanaturezado homem.Livros,desdequesurgiuaRevoluodaImprensa,1maisemaisforam traduzidos.Costumesdealgunspovosforamadotadosporoutros.Novospovos surgiram, agora sob influncia de mais de um povo. As lnguas tambm cresceram,cadaumapreservandosuaessncia,mastrazendoalgumacoisade umlugarcomum.Felizmente,tudoissonoresultounaperdatotaldeidentidade paraospovos. Atecnologiahojenospermiteumauniointernacionalcomojamaisse
1 ApsaRevoluodaImprensaoslivrosnuncamaisforamosmesmos.

iv

sonhou, mas h alguns problemas. As culturas sobreviveram. Talvez no inabaladas,massobreviveram.Issono algoruim,j quetrazidentidadepara osfilhosdeumpovo,oidealmesmoquepermaneam.Porm,issodificultaum poucoessaunioentreasnaes. Amelhorformadeseresolveressesdesajustesousodeummeiofcilde refernciaquepermitaessaunio.Comoj costumeentreospovosembora nosejaamelhorsada,tomousecomopadroanaodominante.Amoeda tem base nela, o idioma tambm. Embora solues tecnicamente melhores existam,comooidiomaEsperanto2,opadro ditadoporquemdominaeoque eles fazem tentar fazer do mundo uma rplica aproximada de sua nao, enquantoissoforvantajoso.

2 LnguainternacionalderivadadoLatim,criadaem1887pelomdicorussoLzaroZamenhof paraserasegundalnguadetodasasnaes,semvnculoscomnenhumanaoespecfica.

SOFTWARE DE UM MUNDO GLOBALIZADO

NoinciodaIndstriadeSoftware,osoftwareeraumprodutoregional, sendoescritoparasatisfazerumanecessidadeespecficaouumgrupodelas,mas seusdesenvolvedoresseprendiamunicamenteaessasnecessidades.Softwares paranecessidadesmuitoprximasprecisavamserreescritosouadaptados.Foi assim at o surgimento dos softwaresprodutos, quando os programas de computador passaram a serpensados deforma diferente: seriam criados para seremempacotadosevendidosavriasempresas. Com um mercado consumidor em mente, os desenvolvedores daquela pocapassaramabuscarumnvelmaiordeabstrao,permitindonos usaro nome da empresacliente em um relatrio impresso como tambm mudar algumas coisas na apresentaodo prpriorelatrio.As taxas de juros, lucro, impostos,transformaramseeminformaesconfigurveis,divergindototalmente da forma de dados constantes que vinham, quando sequer eram claramente definidos,sendoinseridosnafrmuladamaneiramaisprticapossvel.Prtica paraamquina,noparaosmantenedores.Graasaosurgimentodetcnicasde programao, de projeto, tornouse mais fcil o desenvolvimento de softwares maiscomplexos.Dequalquerforma,passouseacriarsoftwaresmaisespecficos paraumacategoriaemsidoqueparaumdeseusrepresentantes. QuandoaIndstriadeSoftwaretomavaumcertoimpulsonosEstados Unidos e nos outros apenas engatinhava, as coisas eram mais simples. Os softwareseminglseramvendidosemtodoomundosemgrandesmodificaes.A pedidos,comearamasertraduzidosmanuais.Afinal,haviaaidiadequeera vi

bom se usar exatamente o mesmo produto que as naes mais desenvolvidas estavamusando. Masenfimodesenvolvimentoalcanouorestodomundo,quepassoua produzirbonssoftwarescomerciaisque,almdeseremnoidiomaespecficoda regio onde haviam nascido, tinham qualidade para enfrentar cara a cara os equivalentesnalnguaanglicana.Setudocontinuasseassim,ossoftwaresnorte americanos perderiam algum territrio e esses softwares locais dominariam totalmentepequenasfatias.Masessasindstriasrecmchegadasnoqueriam se manter sobre um territrio restrito e as ancis no estavam dispostas a entregarassimpartesqueantesdominavam.Haviaalgodequeseprecisava.O software precisava falar a lngua do lugar onde estivesse. Precisava estar preparadoparaarealidadelocal.Osoftwareprecisavaserinternacionalizado. Segundo RicardoSoaresGuimares [porcorreioeletrnico],membro da empresa Conectiva e da LDPBR (Projeto de Documentao do Linux), Softwareinternacionalizado: Software com capacidade de adaptarse lngua, moeda nacional, e regionalismosemhaveranecessidadedereescrevlo. Paratermosumsistemainternacionalizado,aprimeiracoisaqueprecisa serfeita,portanto,tornloumsistemapreparadoparavriosidiomas.

vii

SISTEMA COM SUPORTE A VRIOS IDIOMAS

No basta traduzir manuais. Cada vez se faz mais necessrio um softwarequeseadeqemaisacadaculturaqueexiste. Mesmo o ingls sendo adotado como lngua internacional, um sistema nesteidiomanotrar tantorendimentosealnguainglesano sualngua ptria. De incio, sabese que qualquer lngua utilizada por um povo tende a manterumcertonveldecomplexidade,masnestecasonosetratadoinglsem si.AindaqueoEsperantofosseutilizadocomolnguainternacional,continuaria sendo mais confortvel eadequadopara ousurioum sistema emsua lngua ptria. Sendo assim, oquesito idioma oprimeiro passo quesedeve dar em direoaumainternacionalizao.Empequenossistemas,o nicopasso.Esse passoconsisteempermitirqueusuriosdevriasnaesdiferentesutilizemo softwarenassuascorrespondenteslnguas. Paraquetalqualidadesejaalcanada,aequipededesenvolvimentodeve adotarumdentrevriosmtodos,podendosernecessriocriarumaversofinal executvelparacadaidiomaouutilizararquivosexternos.Algumasalternativas sodescritasaseguir.

Mltiplas Compilaes - Modo Simples


Estadeveseraformamaisprimitivadesecriarumsistemacomsuporte avriosidiomas.Osoftware escritototalmentenalinguagemdeprogramao viii

escolhida.Tudoocorredeformanatural,poisamudanassefarquandoafase deimplementao3estivertotalmenteconcluda. Uma vez que o software esteja pronto e funcional, uma equipe de tradutoresmodificatodoocdigofonte4,efetuandoastradues.Aversonova compilada5eempacotadaseparadamente.Aequipedetraduodeveestarmuito atenta para traduzir apenas trechos do programa que sero tratados como cadeias de caracteres: no pode, obviamente, traduzir palavras reservadas da linguagem, por exemplo. Sem esses cuidados, o cdigofonte final no ser compilvel ou criar um executvel irregular. A equipe de implementao do projetodeveprevenirostradutoreseestarprontaparacorrigireventuaiserros. Ao trmino de todo esse processo, haver vrios softwaresirmos. Teoricamente,todosfuncionarodeformaexatamenteigual,diferenciandoentre eles apenas o idioma dos menus, das mensagens e coisas do tipo. Todas as compilaes devem ter aproximadamente o mesmo tamanho e, dependendo do compiladorutilizado,dalinguagemedaformacomquefoiescrito,exatamenteo mesmotamanho. Obomdestatcnica cadaversodosoftwareparecer omaisnatural possvel,comosehouvessesidofeitonaqueleidioma.Sendoassim,nohaver processamentoextra,comoemoutrosmtodos.Paracomputadoresmuitolentos, issofarumadiferenaperceptvel.Houtrosdoiscasosemqueestemtodotraz vantagem.Umdeles quandoosoftwarej est prontoes entoseescolhe
3 Traduodoprojetoparaosoftwareescritoemumadeterminadalinguagemdeprogramao. 4 Arquivoquecontmsoftwareoupartedeleescritoemuma(oumais)linguagemde programao. 5 Traduodeumsoftwaredeumalinguagemdeprogramaoespecficaparaalinguagemtida porlinguagemdemquina,paraquepossa,ento,serexecutado.

ix

internacionalizlo. Fazendose mltiplas compilaes desta forma, no ser necessrio modificar o projeto e reescrever o cdigo ou remendlo, o que, infelizmente,maiscomum.Outroquandoosoftwaredecididamentenotemo quemelhorarouadaptar,sendoaversofeita,anicaedefinitiva. Caso se pretenda lanar uma verso nova futuramente, mais recomendadoo uso de outro mtodo, nem que seja precisorefazer o projeto e reescrevertodooprograma.Quandooutraversoestiverpronta,todootrabalho empregadonaaplicaodestemtodoestar perdidoe,casoaindasequeiraum sistemaparavriosidiomas,todootrabalhoprecisaserfeitoapartirdanova versonoidiomaoriginal.Quantoaumsoftwarejpronto,houtrasopes,mas nenhumadelasdispensaaequipedeimplementao.

Mltiplas Compilaes - Linguagem Intermediria


Uma forma mais engenhosa de se fazer um sistema com mltiplas compilaes, uma poridioma, utilizandouma linguagem desubstituio. Ao invs de escrever uma mensagem, o programador escreveria um cdigo. Tal cdigodeveseapresentarentresmbolosquenoaparecemnocdigofonteem outras ocasies. Entre os dois smbolos que podem ser iguais ou no serem smbolos, mas seqncias de caracteres que no existem na linguagem de programaoutilizadahaveriaumidentificador,umnomeque,emumoutro arquivo,estariaassociadoaumtexto. A equipe de desenvolvimento caberia, no processo inicial, a criao do cdigofontecompleto,comtodasasmensagenssubstitudaspelosidentificadores, alm de um arquivo onde estivessem associados todos os cdigos aos x

correspondentes textos, usando um idioma para base. Tambm interessante construirumsoftwarequefaatodasassubstituies,oquenodifcil. Aequipedetraduo,aotrminodaprimeiraetapa,recebeoarquivoque associa identificadores a textos, com a misso de entregar vrios arquivos similares,mascomostextostraduzidos. Aoreceberessesarquivos,aequipededesenvolvimentotratadegerare compilaroscdigosfontesfinais.Oresultadofinalexatamenteigualaodomodo simples:vriossoftwaresirmos. Nocasodeumanovaverso,aocontrriodoqueocorrenomodosimples, astraduesnoprecisamsertotalmenterefeitas,s revisadasparaaadiode novostextos.Oproblemacomestemtodoquetalvezocdigosetorneumtanto ilegvel, mas para quem est acostumado a seguir padres para nomes de variveis,nohtantocomoquesepreocupar.Outradesvantagemcomumaos doismtodosqueenvolvemmltiplascompilaesejustamenteofatodehaver vriosexecutveis:umparacadaidioma.Adiferena que,poressemtodo, maisfcilmigrarparaummtodomaisavanado.

Tabela de Idioma
Agoratemosumasoluoquenoimplicaemrecompilao.Ummtodo onde o software nico, tendo de fato suporte a vrios idiomas. As solues anterioresgeramsistemascomvriaslnguas,pormnogeramumsoftwareque mudeseuprprioidioma. NocasoespecficodaTabeladeIdioma,asituao bemsimilar do

xi

proposto para mltiplas compilaes com uso de linguagem intermediria. Os arquivos que contm associaes, que sero chamados a partir de agora de tabelasdeidioma,j quesuaestruturalembraumatabela(identificadoretexto comocolunas),seroexatamenteiguaisaosdomodelodemltiplascompilaes comlinguagemintermediria.A nicadiferena quenocdigofonte,nolugar dostextoshaver variveisdotipoadequado.Quandoosoftwaredotadodeste recurso entra em execuo, uma tabela de idioma carregada para essas variveis.Otipotabeladeidiomadeveserdefinidonafasedeprojeto,podendo serumarquivoseqencial,umarquivoASCIIoualgomaisextico. Outracaractersticaimportante queotratamentofinaldostextosdeve ser executado pelo software. No caso da soluo para mltiplas compilaes atravsdeumlinguagemintermediria,oprocessodesubstituiopoderiaser executadomanualmentecomusodocomandoLocalizareSubstituir,presentes emqualquereditordetextos(emboraestivesselongedeserumaboasoluo). Quanto tabela de idioma, precisase de um mdulo de programa que leia o arquivocontinentedatabela,reconheaosidentificadores(que,namaioriados casos, no precisam ter o mesmo nome das variveis) e atribua seu valor s variveis. Para se evitar complicaes, recomendado o agrupamento das variveisedestemduloemumarquivofonteparte. Seporumladoessatcnicapermiteumsoftwarepoliglota,bastandoque setenhatabelasparavriosidiomas,poroutroh umaperdadedesempenhoe umsoftwarequeocupamaisespaoemdisco.Noquefaamuitadiferena:a perdadedesempenhoser,namaioriadoscasos,imperceptveleoespaoextra emdiscoumapiadaparaospadresatuais.

xii

O nicoproblemarealcomestemtodosurgir quandoumgrupoquiser criar regras para um padro de tabelas de idioma, a se utilizar em vrios softwares,afinal,semprequesefalaempadronizao,problemasnofaltam.

xiii

SOFTWARE PARA VRIAS CULTURAS

A caracterstica de um software de falar na lngua de um povo um grandepassoparaainternacionalizao,masnamaioriadoscasosnoonico. Denadaadiantaumsoftwarequefalealnguadeumpovoseelenofunciona paraarealidadequeessagentevive. O tratamento de impostos em sistemas de controle financeiro um exemplodisso.Hpasescommaisemenosimpostos,todosdiferentes,portantoo softwareprecisaestarpreparadoparatodistintoscasos.Aidiamximapara resolver esse problema a abstrao. Quanto mais genrico e flexvel for um sistema,maiscompletamenteeleseadaptar snecessidadesdeumaempresa em um pas qualquer, bastando apenas um tempo para a configurao. A diferenadeumsoftwareinternacionalizadoparaumsoftwarenormalnestecaso queaconfiguraofeitanoprogramafinalenonoscdigosfontesparauma outracompilao. Noapenasaquestodeimpostos,mastambm amoeda equaisquer outrosvaloresquepossamvariardenaoparanaodevemserconfigurveis paraqueosoftwarepossasersatisfatoriamenteutilizadoemtodoomundo.

xiv

CONCLUSO

Umsoftwareinternacionalizadopossuigrandesvantagenssobreono internacionalizado,jque,almdedisputardeigualparaigualcomossoftwares fornecidoslocalmente,umbomsoftwareinternacionalizado,porassimoser,pode atrairointeressedeoutrotipodeempresa:asmultinacionais,queteriamum padroemsuasmltiplasfiliaisespalhadaspelogloboterrestre.Porm,devido ao enorme crescimento da Indstria de Software, cada vez mais a internacionalizaodeumsoftwaredeixadeserumabonoparasetornaruma necessidade. Notequeumsistemadesenvolvidocomusodemltiplascompilaes um sistema globalizado, mas com vrios softwaresirmos, nenhum deles internacionalizado. Aodecidirporinternacionalizarum sistema,a empresadevelevarem conta que o processo no pode parar a. Afinal, no basta jogar o produto no mercado,precisoquesedumagarantiadeque,quandonecessrio,aempresa clienteserassistida.Issotambmfazumagrandediferena.

xv

BIBLIOGRAFIA

Todooconhecimentoaquireunidofrutodemeditaosobreotemaedos seguintestrabalhosanterioresdoautor:

<yberEdi+or <www.cybereditor.tsx.org>,umeditordetextos,ondefoi definidoedoqualseextraiuoconceitodeTabeladeIdioma;

Andarilho d'Catar <www.andarilho.tsx.org>, site do autor. Foi feito formalmente um projeto para disponibilizar AdC em outros idiomas almdoPortugus,masinfelizmentenofoipostoemprtica.

AlmdapesquisanosseguintesendereosdaInternet:

LIEBR <liebr.conectiva.com.br>,ositebrasileirodoprojetoquevisa InternacionalizaodoLinux6;

LDPBR <ldpbr.conectiva.com.br>, o site brasileiro do projeto de DocumentaodoLinux.

6 SistemaOperacionallivreealternativo.

xvi

Вам также может понравиться