[=]

2 Unuaj provoj pri plurlingveco

2 Erste Versuche mit Mehrsprachigkeit

2.1 Uzula plurlingveco

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.

2.1 Mehrsprachigkeit der Benutzer

Aus der Sicht des Programmierers ist es am einfachsten, wenn alle Benutzer "die" Sprache des Programms verstehen. Diese Methode wird sehr oft verwendet. Zum Beispiel setzen viele Firmen voraus, dass Benutzer in Europa, Afrika und Amerika das Englische verstehen; oft machen sie die Erfahrung, dass das in Asien nicht unbedingt funktioniert, und bieten spezielle Unterstützung für bestimmte asiatische Sprachen an.

2.2 Ekster-programaj solvoj

La unuaj provo pri teknika plurlingveco estis provoj ŝanĝi la uzulan lingvon de programo. Precipe temis pri erar-mesaĝoj; eĉ matematikaj programoj 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.

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).

2.3 Modifo de la maŝinkoda programo

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 kaj uzas 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:

  ' 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 / wird übersetzt zu
  ' 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

2.4 Modifo de la fontokoda programo

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:

        if (divizoro == 0) {
            System.err.println("Division durch Null");
estas tradukita al / wird übersetzt zu
        if (divizoro == 0) {
            System.err.println("divido per nulo");

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

Diese Methoden funktionieren und wurden vielfach angewandt. Allerdings weisen sie bestimmte Nachteile auf, die in der nächsten Lektion behandelt werden.


Specimenaj demandoj:

  • Kiuj principaj metodoj ekzistas, por ebligi al diverslingvaj uzantoj la uzon de programo?
  • Kiu diferenco estas inter la modifado de maŝin-kodo kaj de fonto-kodo?

Beispielfragen:

  • Welche grundsätzlichen Methoden gibt es, um verschiedensprachigen Benutzern die Benutzung eines Programms zu ermöglichen?
  • Welcher Unterschied besteht zwischen der Modifikation des Maschinen-Kodes und des Quell-Kodes?

>>>