2 Internaciigo kaj lokecigo |
2 Internationalisierung und Lokalisierung | ||||||||||||||||||||||||||||||||
2.1 TeorioLa komerca produktado kaj vendado de programoj baziĝas sur la ideo, ke ne ĉiu verku siajn proprajn programojn, sed programoj estu uzataj de multaj homoj. Tiu penso implicas, ke oni ne verku (kaj flegu) por ĉiu lingvo programojn kun identaj funkciadoj, sed igu unu saman programon funkcii en multaj lingvoj. Ĉar la aŭtoroj de programoj normale ne estas lingvistoj aŭ poliglotoj, necesas metodoj por "traduki programojn". Tiu procezo, traduki programon en alian (uzo-)lingvon, nomiĝas lokecigo de la programo. La vorto devenas de la angla vorto localization, kiu baziĝas sur la supozo, ke la tradukado igas la programon taŭga por uzo en alia loko (lando, regiono alilingvaj). Lokecigo ne estas nura traduko, sed inkluzivas la adapton ekzemple de valutoj, hor-sistemoj ktp. |
2.1 TheorieDie kommerzielle Erstellung und Vermarktung von Programmen basiert auf dem Gedanken, dass nicht jeder seine eigenen Programme schreiben, Programme vielmehr von vielen Menschen benutzt werden sollten. Dieser Gedanke impliziert, dass man nicht für jede Sprache Programme mit identischer Funktion schreiben (und pflegen), sondern ein Programm dazu bringen sollte, in vielen Sprachen zu funktionieren. Da Programmierer gewöhnlich keine Linguisten oder Vielsprachler sind, sind Methoden notwendig, um "Programme zu übersetzen". Dieser Prozess der Übersetzung eines Programms in eine andere (Benutzungs-)Sprache heißt Lokalisierung des Programms. Das Wort leitet sich vom englischen localization her, dem die Annahme zugrunde liegt, dass das Programm durch die Übersetzung geeignet wird für die Verwendung an einem anderen Ort (Land, Region mit anderer Sprache). Lokalisierung ist nicht nur Übersetzung, sondern umfasst auch die Anpassung z. B. der Währung, des Zeitsystems usw. | ||||||||||||||||||||||||||||||||
Por ĉiu lingvo, en kiu funkciu programo, necesas aparta lokecigo. Escepto estas la unua lingvo, en kiu la programo estas verkita; kvazaŭ ĝia "denaska" lingvo. Tiu lingvo ofte estas la ĉiutaga lingvo de la programistoj. |
Für jede Sprache, in der ein Programm funktionieren soll, ist eine eigene Lokalisierung erforderlich. Ausgenommen ist die Sprache, in der das Programm geschrieben wird; sozusagen seine "Muttersprache". Es handelt sich oft um die Umgangssprache der Programmierer. | ||||||||||||||||||||||||||||||||
Kvanta ekzemplo klarigas la avantaĝon de lokecigo: Ni supozu, ke ni havas 8 programojn P1…P8, kiuj funkciu en 12 lingvoj L1…L12. Verkante propran programon por ĉiu lingvo ni bezonas 8×12 = 96 programojn, kiujn necesas ankaŭ flegi, t. e. korekti iliajn erarojn kaj pluevoluigi. Uzante lokecigon ni bezonas 8 programojn (en unu lingvo) kaj 88 lokecigojn. Se ni supozas, ke lokecigo estas pli simpla kaj malpli kosta ol verkado de programo, ni ŝparas. |
Ein beispielhaftes Mengengerüst macht die Vorteile der Lokalisierung klar: Nehmen wir an, wir haben 8 Programme P1…P8, die in 12 Sprachen L1…L12 funktionieren sollen. Wenn wir jedes Programm für jede Sprache getrennt schreiben, brauchen wir 8×12 = 96 Programme, die auch gepflegt werden müssen (Fehlerkorrektur, Weiterentwicklung). Mit Lokalisierung brauchen wir 8 Programme (in einer einzigen Sprache) und 88 Lokalisierungen. Wenn wir annehmen, dass Lokalisierung einfacher und billiger als Programmierung ist, ergibt sich eine Ersparnis. | ||||||||||||||||||||||||||||||||
Programo estas tradukita al pluraj lingvoj L2, L3, ktp. (lokecigita). Ein Programm wird in mehrere Sprachen L2, L3, usw. übersetzt (lokalisiert). | |||||||||||||||||||||||||||||||||
Ni poste vidos, ke lokecigo ne estas tute simpla afero. Se programo ne estas preparita por ĝi, ĝia lokecigo estas ne nur malfacila kaj temporaba, sed eĉ suferas pro certaj restriktoj, kiuj limigas la kvaliton de la traduko. |
Wie wir noch sehen werden, ist die Lokalisierung nicht ganz einfach. Wenn ein Programm nicht dafür vorbereitet ist, ist die Lokalisierung nicht nur schwierig und zeitraubend, sondern sogar bestimmten Einschränkungen unterworfen, die die Qualität der Übersetzung begrenzen. | ||||||||||||||||||||||||||||||||
Pro tio estas utile, eĉ preskaŭ necese, konsideri la postajn lokecigojn jam dum la verkado de programo, kaj prepari la programon al ili. Tiu preparo nomiĝas internaciigo de la programo. Ĝi ne inkluzivas tradukadon, sed nur rezultigas programon, kies lokecigo estas pli facila ol la lokecigo ne ne-preparita programo. Temas tie ĉi pri "internaciigo en strikta senco", internaciigo kiel procezo aŭ ago de programanto. Ankaŭ la tuta tekniko de plurlingvaj programoj ja nomiĝas "internaciigo" (en vasta senco). Tio normale ne kaŭzas konfuzon. En ju pli da lingvoj programo funkciu, des pli valoras zorga internaciigo, kiu ja estas farata nur unufoje por ĉiuj lingvoj. Praktike internaciigo estas tiom grava, ke ĝi necesas eĉ por nur 2 lingvoj. |
Daher ist es sinnvoll, ja fast unabdingbar, die spätere Lokalisierung bereits beim Schreiben des Programms zu berücksichtigen und das Programm dafür vorzubereiten. Diese Vorbereitung heiß Internationalisierung des Programms. Sie umfasst keinerlei Übersetzung, sondern ergibt nur ein Programm, dessen Lokalisierung einfacher ist als die Lokalisierung eines nicht dafür vorbereiteten Programms. Es handelt sich hier um die "Internationalisierung im engeren Sinne", die Internationalisierung als Prozess, als Tätigkeit des Programmierers. Auch das ganze Gebiet der mehrsprachigen Programme heißt ja Internationalisierung (im weiteren Sinne). Eine Verwechslungsgefahr besteht aber gewöhnlich nicht. In je mehr Sprachen ein Programm laufen soll, desto mehr lohnt sich sorgfältige Internationalisierung, die ja nur ein Mal für alle Sprachen stattfindet. In der Praxis zeigt sich die Internationalisierung so wichtig, dass sie bereits für nur zwei Sprachen unbedingt erforderlich ist. | ||||||||||||||||||||||||||||||||
Programo estas internaciigita kaj poste lokecigita. Ein Programm wird internationalisiert und dann lokalisiert. | |||||||||||||||||||||||||||||||||
Ankaŭ la vorto internaciigo devenas de angla vorto: internationalization. Ĉar tiu vorto estas tre longa (20 literoj, 7 aŭ 8 silaboj), usonaj programistoj inventis la mallongigon "i18n", kiu anstataŭigas la mezajn 18 literojn per ilia nombro. |
Auch das Wort "Internationalisierung" kommt von einem englischen Wort: internationalization. Da dieses Wort sehr lang ist (20 Buchstaben, 7 bis 8 Silben), haben US-amerikanische Programmierer die Abkürzung "i18n" erfunden, die die mittleren 18 Buchstaben durch ihre Anzahl ersetzt. | ||||||||||||||||||||||||||||||||
Praktika subtenoKiel ni vidos, dum la internaciigo de programo aperas multaj taskoj, kiuj postulas scion pri lingvoj, sed estas kvazaŭ identaj por diversaj programoj. Ekzemplo estas la alfabeta ordigo de vortoj en diversaj lingvoj. Estus malŝparo, se ĉiu programisto farus tiujn taskojn. Pli racia estas subteno de la internaciigo pere de
Por tiuj taskoj ekzistas specialaj fakuloj, institucioj kaj firmaoj. |
Praktische UnterstützungWie wir sehen werden, treten bei der Internationalisierung eines Programms viele Aufgaben auf, die Wissen über Sprachen erfordern, aber für verschiedene Programme fast identisch sind. Ein Beispiel ist die alphabetische Ordnung von Wörtern in verschiedenen Sprachen. Es wäre Verschwendung, wenn jeder Programmierer diese Aufgaben unabhängig durchführen würde. Sinnvoller ist eine Unterstützung der Internationalisierung durch
Für diese Aufgaben gibt es spezialisierte Fachleute, Einrichtungen und Firmen. | ||||||||||||||||||||||||||||||||
La menciita sistemo NLS estas precipe program-biblioteko, kiu helpas pri internaciigo. Ĝiaj konceptoj ankaŭ helpas programiston rekoni eblajn problemajn situaciojn de internaciigo. Speciala instruado tamen estas necesa, ĉar multaj programistoj ne estas lingvistike spertaj, kaj preskaŭ neniu scias sufiĉe da lingvoj por mem ekkoni ĉiujn eblajn problemojn. |
Das erwähnte System NLS ist vor allem eine Programmbibliothek, die bei der Internationalisierung hilft. Ihre Konzepte helfen dem Programmierer auch bei der Erkennung möglicher Problemsituationen bei der Internationalisierung. Eine besondere Schulung ist dennoch erforderlich, da viele Programmierer keine linguistische Erfahrung besitzen und fast niemand genügend Sprachen kann, um selbst alle möglichen Probleme zu erkennen. | ||||||||||||||||||||||||||||||||
2.3 ResumoPor havi programon, kiu funkcias en pluraj lingvoj, necesas scioj lingvaj (tradukistoj) kaj teknikaj (programistoj). Ideale oni dividas la taskojn jene:
La taskoj kaj la necesaj scioj do estas divideblaj jene: |
2.3 ZusammenfassungUm ein Programm zu erhalten, das in mehreren Sprachen funktioniert, sind sprachliche Kenntnisse (Übersetzer) und technische Kenntnisse (Programmierer) nötig. Idealerweise sollten für die Internationalisierung nur technische, für die Lokalisierung nur sprachliche Kenntnisse notwendig sein.
Die Aufgaben und die erforderlichen Kenntnisse lassen sich also grob folgendermaßen einteilen: | ||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||
Kiel montras la tabelo, la celo de internaciigo (en vasta senco) estas eviti, ke iu bezonu scion pri ĉiuj tri kampoj. Kondiĉo por lokecigo sen teknika scio estas bona internaciigo: Nur se la programisto antaŭvidis kaj evitis problemajn situaciojn, tradukisto povas bone labori. Kondiĉo por internaciigo sen lingvaj scioj estas teknika scio pri la eblaj problemoj kaj dispono pri tauŭgaj iloj kaj program-bibliotekoj (kadraĵo). |
Wie die Tabelle zeigt, ist es das Ziel der Internationalisierung (im weiteren Sinne), zu vermeiden, dass jemand Wissen auf allen drei Gebieten braucht. Voraussetzung für eine Lokalisierung ohne technische Kenntnisse ist eine saubere Internationalisierung; nur wenn der Programmierer mögliche Probleme vorhergesehen und vermieden hat, kann der Übersetzer gute Arbeit leisten. Voraussetzung für eine Internationalisierung ohne sprachliche Kenntnisse ist technisches Wissen über die möglichen Probleme sowie geeignete Werkzeuge und Programmbibliotheken (Rahmen). | ||||||||||||||||||||||||||||||||
La pozicion de kadraĵo por internaciigo oni povas imagi laŭ la sekva bildo: Ĝi staras centre inter
|
Die Stellung eines Rahmens zur Internationalisierung kann man sich wie im folgenden Bild vorstellen: Es steht in der Mitte zwischen
| ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
Bona kadraĵo izolas la programojn komplete de la ecoj de unuopaj lingvoj. Anstataŭ okupiĝi pri la ecoj de multaj lingvoj la programanto devas okupiĝi nur pri la ecoj de la kadraĵo. Ankaŭ la programoj mem havas strukturon laŭ la lingvoj: Ili konsistas el ne-lingvodependa parto kaj por ĉiu lingvo unu lingvo-dependa parto (P1-ro por la rumana ktp.). Ideale, se la internaciigo estis perfekta, la ne-lingvodependa parto enhavas la tutan funkciadon ("logikon"), la aliaj partoj enhavas nur "statikan" materialon (tekstoj, bildoj ktp.). |
Ein guter Rahmen isoliert das Programm völlig von den Eigenschaften der einzelnen Sprachen. Statt sich mit den Eigenschaften vieler Sprachen auseinandersetzen zu müssen, braucht sich der Programmierer nur mit den Eigenschaften des Rahmens zu beschäftigen. Auch die Programme selbst haben eine Struktur, die sich nach den Sprachen richtet: Sie bestehen aus einem sprach-unabhängigen Teil und für jede Sprache aus einem sprachabhängigen Teil (P1-ro für Rumänisch usw.). Im Idealfall, wenn die Internationalisierung vollkommen war, enthält der sprachunabhängige Teil die gesamte Funktion ("Logik") des Programms und die anderen Teile enthalten nur "statisches" Material (Texte, Bilder usw.). | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
Alternativa difino de "internaciigo" do estas: Internaciigo estas la procezo, kiu disigas la funkciadon de la programo de la lingvo-dependaj partoj. Tiu difino estas pli teknika ol la supre donita, sed por la praktiko sam-signifa |
Eine alternative Definition von "Internationalisierung" lautet daher: Internationalisierung ist der Prozess, der die Funktion eines Programms von den sprachabhängigen Teilen trennt. Diese Definition ist technischer als die oben gegebene, bedeutet für die Praxis aber dasselbe. | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
Rimarkigo: En la Interreto (TTT) ekzistas multlingva enciklopedio nomata "Vikipedio". Ĝi donas bonan studmaterialon pri diverslingvaj tekstoj, ĉar multaj artikoloj ekzistas en pluraj lingvoj kaj estas inter si reciproke ligitaj per referencoj (ret-ligiloj). |
Im Internet (WWW) gibt es eine mehrsprachige Enzyklopädie namens "Wikipedia". Sie bietet gutes Anschauungsmaterial für verschiedensprachige Texte, da viele ihrer Artikel in mehreren Sprachen existieren und miteinander durch Verweise verbunden sind. | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
Specimenaj demandoj:
|
Beispielfragen:
|