Internaciigo de komputilaj programoj/Unuaj provoj de plurlingveco

[1]

Unuaj provoj pri plurlingveco

edit

Por kompreni la malfacilaĵojn de internaciigo kaj la bezonon je specialaj tekniko kaj procedoj, ni iom rigardu historiajn alirojn al plurlingveco en komputiloj.

Uzula plurlingveco

edit

El la vidpunkto de la programanto estas plej simple, se la uzuloj scipovas "la" lingvon de la programo. Tiu metodo estas tre ofte uzata. Ekzemple multaj firmaoj postulas, ke uzuloj en Eŭropo, Afriko kaj Ameriko komprenu la anglan lingvon; ofte ili spertis, ke tio ne nepre funkcias en Azio, kaj ofertas apartan subtenon por iuj aziaj lingvoj. Ekzemplo estas la programada ilaro de la programlingvo Ĝavo (angle Java), ofertata de firmao Sun Microsystems. Ĝi estas havebla nur en la lingvoj angla kaj japana.

Ekster-programaj solvoj

edit

La unuaj aliroj al teknika plurlingveco estis provoj ŝanĝi la uzulan lingvon de programo. Precipe temis pri erar-mesaĝoj; eĉ matematikaj programoj, kiuj normale traktas nur nombrojn, povas renkonti situaciojn, en kiuj ili devas raporti problemon, kaj estas pli agrable ricevi tekstan problem-mesaĝon ol nuran kodo-numeron. Sed kiam oni ne komprenas la lingvon de la teksto, la mesaĝo ne helpas. Kelkaj firmaoj metis kod-numeron antaŭ la mesaĝojn, ekzemple 17: divido per nul. Tiam oni povis presi listojn de la kodoj kun la tekstaj mesaĝoj tradukitaj en aliaj lingvoj. La tradukadon kaj presadon de la listoj eĉ povis fari ĉiu ajn, ne nur la produktanto de la programo. Tio estas grava eco: Se iu "malgranda" lingvo ne estas suficxe grava por la produktanto, tamen iu alia povas fari tiun "lokecigon sur papero". Numerado de la mesaĝoj estas do baza, rudimenta internaciigo. Kie tiaj numeroj ne ekzistis, oni tamen povis produkti listojn kun tradukoj, alfabete ordigitaj laŭ la originala lingvo, kiun la programo eligis. Uzulo povis serĉi ricevitan mesaĝon en la listo kaj apude trovi sian tradukon. Kondiĉo estis, ke li almenaŭ scipovis legi la skribon de la originala lingvo kaj orientiĝi en ties alfabeta ordigo (se ĝi havis alfabeton).

Modifo de la maŝinkoda programo

edit

Komence en multaj okazoj la uzuloj mem ekaktivis por ŝanĝi la uzulan lingvon de programo. Kutime ili ne havis la fonto-kodon de la programo (en altnivela aŭ asembla lingvo), sed nur la maŝinkodan programon. En maŝinkoda programo eblas trovi la tekstojn, kiujn uzas tiu programo, sed preskaŭ ne eblas vidi,kiel kaj kiam tiuj tekstoj estas uzataj. Tamen oni povas traduki la trovitajn tekstojn kaj per specialaj iloj enmeti la tradukaĵojn en la maŝinkodon. Post tio la programo ofte (ne ĉiam) ankoraŭ funkcias kajuzas la tradukitajn tekstojn. Tiu procedo ofte estis uzata, sed enhavas multajn problemojn, kiujn ni sube traktos. Jen eta ekzemplo: Programo, en kiu troviĝas la germana teksto "Division durch Null"; tiu teksto estu anstatauŭigita per la traduko "divido per nulo". La "signoj" antaŭ kaj post la teksto apartenas al la program-instrukcioj kaj devas resti sen-ŝanĝaj:

Ekzemplo kun programo en kiu troviĝas la germana teksto "Division durch Null"
Originaj program-instrukcioj
' 014 000 ( 000 ) 007 000 * 014 000 + 000 , 001 000
023 D i v i s i o n d u r c h
N u l l 007 000 - 014 000 . 000 / 014 000 060 000
estas tradukita al
' 014 000 ( 000 ) 007 000 * 014 000 + 000 , 001 000
023 d i v i d o p e r n u l o
007 000 - 014 000 . 000 / 014 000 060 000


La bildo montras la "videblajn" signojn (literoj, ciferoj ktp.) en originala formo kun spaco antaŭe kaj poste; tri-ciferaj nombroj ("000", "007" ktp.) montras programkodan simbolon. Sed ankaŭ inter programkodaj simboloj foje povas aperi videbla signo.

Modifo de la fontokoda programo

edit

Se oni disponas pri la fonto-kodo de programo, la manipulado de tekstoj estas pli facila. La tuta fonto-kodo ja estas teksto legebla por homoj, kaj la mesaĝo-tekstoj estas facile distingeblaj de la programaj instrukcioj. Ni poste vidos, ke kelkaj problemoj de la modifado de maŝin-kodo ne aperas pri la fonto-kodo. La produktanto de programo kutime disponas pri la fonto-kodo kaj do povas apliki tiun procedon. Ofte li tamen ne volas doni la kodon al aliaj personoj, por ne perdi ekonomian avantaĝon. La ĉi-supra ekzemplo aspektas jene en fonto-kodo:

Aspekto de ĉi-supra ekzemplo en fonto-kodo
Origina fonto-kodo
if (divizoro == 0) {
    System.err.println("Division durch Null");
estas tradukita al
if (divizoro == 0) {
    System.err.println("divido per nulo");

Tiuj metodoj funkcias kaj estis multe aplikataj. Tamen ili havas certajn malavantaĝojn, kiujn diskutos la sekva leciono.

Specimenaj demandoj

edit

 Testu vin!

1 Kiuj principaj metodoj ekzistas, por ebligi al diverslingvaj uzantoj la uzon de programo?

Supozi ke ĉiuj uzantoj komprenas la lingvon de la programisto.
Provizi kursojn de la lingvo uzita en la programo.
Liveri tradukadon kaj presadon de la listoj de eraromesaĝoj
Modifo de la aparataro
Modifo de la maŝinkoda programo
Modifo de la uzanto
Modifo de la fontokoda programo
Uzi nur nombroj

2 Kiu diferenco estas inter la modifado de maŝin-kodo kaj de fonto-kodo?

Facileco
Kvanto da komunitaj datenoj
Kvanto da celeblaj lingvoj



Referencoj

edit
  1. Parto aŭ ĉiu enhavo de tiu paĝo reprenas tiun originan verkon.