LA KAMELEONO - PROGRAMETO POR ESPERANTAJ LITEROJ EN TTT-PAGHOJ

Versio 5.0 - 26 Marto 2001

Bertilo Wennergren


La jena teksto detale klarigas, kiel instali kaj funkciigi la programeton "la
Kameleono".

Ekzistas tri diversaj Kameleonoj: CGI-Kameleono en Perlo, VBSkripta ASP-Kameleono,
kaj Perlskripta ASP-Kameleono. Chiuj tri Kameleonoj estas praktike same funkciantaj 
kaj intershangheblaj.

Versio 5.0 estas kredeble multe pli rapida ol antauaj versioj, precipe por
tre grandaj HTML-paghoj, kaj por paghoj kun tre multaj hiperligoj.

La CGI-Kameleono nun funkcias ankau en la reghimo "mod_perl" en Apache-serviloj. 
Povas esti, ke la Kameleno ech rulighas pli rapide en "mod_perl".


La instrukcio enhavas la jenajn nau partojn:

  1. Kion faras la Kameleono?
  2. Kio necesas por instali la Kameleonon?
  3. Kiel instali CGI-Kameleonon au Perlskriptan ASP-Kameleonon?
  4. Kiel instali VBSkriptan ASP-Kameleonon?
  5. Elektado de baza sistemo
  6. Kiaj devas esti la HTML-paghoj?
  7. Kiel skribi por ke la legantoj povu elekti sistemon?
  8. Kiaj estas la uzeblaj sistemoj?
  9. Kiel instali la Kameleonon en pli luksa stilo?

--------------------------------------------------------------------------------


1. KION FARAS LA KAMELEONO?

Por klare kompreni, kion faras la Kameleono, estas plej bone mem sperti ekzemplojn
che miaj TTT-paghoj. Iru al la adreso <http://purl.oclc.org/net/bertilo>, kaj provu
mem. Preskau chiuj el miaj verkoj tie estas alireblaj tra la Kameleono. La legantoj
povas elekti, chu la paghoj aperu kun Esperantaj literoj lau Unikodo, lau Latino 3,
lau la X-sistemo, lau la H-metodo... Poste chiuj paghoj automate prezentighas lau tiu
mendo. Tamen ekzistas sur la disko nur po unu versio de chiu pagho. La Kameleono
laubezone automate plenumighas che chiu alvoko de pagho, kaj tradukas la paghon en la
menditan sistemon. La legantoj apenau rimarkas, ke okazas tradukado.

La avantagho por prizorganto de TTT-paghoj estas klara. Sufichas prizorgi kaj
aktualigi nur po unu ekzempleron de chiu pagho. Se temas pri grandega TTT-loko, oni
povas tiel shpari multon da diskospaco. La programeto mem estas tre malgranda, sed
povas shparigi megabitokojn da spaco.

La malavantagho estas, ke la shargo de la servilo povas farighi pli granda ol
normale. La servilo devas chiufoje, kiam iu mendas paghon, plenumi programeton
anstatau nur simple servi paghon. Se tre multaj personoj legas samtempe paghojn
tiamaniere che la sama servilo, tio povus kauzi problemojn. Tamen mi mem uzadis la
Kameleonon dum longa tempo che pluraj TTT-serviloj sen plendoj de la servilaj
posedantoj. Kredeble la novaj ASP-versioj estas malpli pezaj ol la CGI-versio, sed
mi ne povis tion mezuri.

Notende estas, ke leganto bezonas mendi sian preferatan sistemon nur unu fojon. Poste
chiuj paghoj en la sama TTT-loko automate prezentighas en tiu sistemo. La leganto
apenau rimarkas, ke la Kameleono estas envolvita. Leganto ech povas meti legosignon,
kiu memoras certan paghon servitan fare de la Kameleono. Se li iam poste alvokos tiun
legosignon en sia TTT-legilo, li automate revenos al la koncerna pagho jam en la
mendita sistemo.

Ankau eblas en aliajn paghojn meti hiperligojn al TTT-paghoj funkciigataj per la
Kameleono. Tiuj ligoj povas jam enhavi pretan sistemomendon, kaj la leganto ech ne
bezonas scii pri tio. Ili funkcias por la uzanto plene kiel ordinaraj hiperligoj.

--------------------------------------------------------------------------------


2. KIO NECESAS POR INSTALI LA KAMELEONON?

Necesas havi sufichan emon, tempon kaj paciencon por legi kaj kompreni tiun chi
detalegan instrukcion.

Necesas scii, kiel verki HTML-paghojn. Ekzistas verkoprogramoj, kiuj kashas la HTML-
kodon, kaj kiuj montras nur la _aspekton_ de la paghoj al la verkanto. Sed tiaj
programoj ofte produktas tre strangan HTML-kodon. Por uzi la Kameleonon oni bezonas
mem kontroli, ke la rezulta kodo estas ghusta. Prefere oni verku siajn HTML-paghojn
per simpla tekstoredaktilo. Atentu, ke iuj "tro inteligentaj" HTML-redaktiloj, ech
povas rekte detrui tion, kion oni verkas.

Tre rekomendinda Vindoza tekstoredaktilo estas "UltraEdit-32"
<http://www.ultraedit.com>, sed ankau la simpla programo "Notepad", kiu estas parto
de Vindozo, taugas. En Unikso abundas taugaj tekstoredaktiloj. Menciindas ankau la
redaktilo "UniRed", kiun estas ellaboranta Jurio Finkel. Ghi interalie ebligas
redaktadon lau Unikodo, kaj havas tute Esperantlingvan fasadon.

Legu ankau miajn klarigojn, kiel verki Esperantajn (X)HTML-paghojn:
<http://purl.oclc.org/net/bertilo?html/index.htm>.

Estas bone, se vi scias, kio estas la signokodo normo Askio (ASCII), kiuj signoj
estas parto de Askio, kaj kiuj ne estas. Ankau pri Askio kaj aliaj signokodoj vi
povas informighi che mia TTT-loko.

Necesas, ke via Reta provizanto permesu uzadon de CGI-programetoj au ASP-paghoj.

--------------------------------------------------------------------------------


3. KIEL INSTALI CGI-KAMELEONON AU PERLSKRIPTAN ASP-KAMELEONON?

Por povi uzi la CGI-an version de la Kameleono, necesas, ke en la servila sistemo
trovighu la programo Perlo ("Perl"), versio 5 (au ech pli nova). Sed vi ne mem
bezonas scii, kiel programi per Perlo. Tion mi jam faris por vi. Se tute mankas
Perlo, au se ekzistas nur Perlo 4, vi shanghu Retprovizanton.

Por uzi la Perlskriptan ASP-Kameleonon necesas, ke en la Servilo estu instalita
versio de Perlskripto bazita sur Perlo versio 5 (au pli nova). Krome por entute
povi uzi ASP-Kameleonon, necesas, ke la servilo permesu kaj subtenu ASP-on
("Aktivaj Servil-Paghoj", "Active Server Pages"). ASP estas CGI-simila
sistemo inventita de Mikrosofto. Ghi ekzistas precipe en Mikrosoftaj serviloj.
Normale oni uzas en ASP iun el la lingvoj VBSkripto au Javaskripto, sed Perlskripto
estas tria alternativo, kiun preferas iuj Perlemuloj. Perlskripto estas speciala
varianto de Perlo por uzo en ASP-paghoj. Lau mia scio Perlskripto ekzistas nur
kiel parto de la Perlo-distribuo de "Active State" (<http://www.activestate.com/>),
kaj do nur por Mikrosoftaj serviloj, sed povas esti, ke ankau aliaj serviloj,
kiuj subtenas ASP-on, havas ian eblon uzi Perlskripton.

Iuj provizantoj ja allasas CGI-ojn, sed postulas, ke CGI-oj estu vokataj per speciala
adreso, au en iu alia speciala maniero. Necesas ekscii pri chiuj tiaj eventualaj
reguloj. Necesas ekscii, precize kie viaj CGI-programetoj estu lokitaj. Plej ofte
temas pri dosierujo kun la nomo "cgi-bin". Necesas ekscii, chu CGI-programetoj che
via servilo devas havi certan sufikson. Ofte temas pri la sufikso ".cgi". Okaze de
alia postulo (ekz. ".pl") necesas nomi la Kameleonon tiel.

La dosiero, kiu enhavas la CGI-Kameleonon, nomighas "k.cgi". Metu tiun dosieron en
tiun lokon, kie viaj CGI-programetoj trovighu lau la reguloj che via servilo. Shanghu
la sufikson ".cgi", se necese. Vi ankau povas tute renomi la programeton lau via
placho ("kameleono.cgi", "ka.cgi", "m.cgi"...), sed estas treege konsilinde uzi
mallongegan nomon. Atentu chi-poste, ke vi skribu la ghustan nomon en la elektiloj,
kiujn vi metos en viajn paghojn.

La Perlskripta ASP-Kameleono trovighas en dosiero, kiu nomighas "k_perl.asp". Se vi
volas uzi tiun varianton de la Kameleono, uzu tiun dosieron, kaj nomu ghin iel kun
sufikso ".asp", ekz. "k.asp". Metu ghin ien inter viaj HTML-paghoj, normale en la
baza nivelo, sed ankau eblas ghin loki en subdosierujo.

Alshutante la Kameleonan dosieron per ftp, vi faru tion _tekste_ (Askie), ne duume,
por ke la linifinoj estu transformitaj en tiun formon, kiun ili havu en la servila
sistemo - alie la Kameleono ne funkcios. Tre ofte okazas, ke CGI-programetoj ne
funkcias char la linifinoj estas en erara formo.

Vi devas zorgi pri ghustaj atingopermesoj de CGI-a programeto. Se vi forgesos tion -
facila afero, kaj ofta kauzo de fiasko - la servilo simple rifuzos ruli la
programeton. La programeto devas esti plenumebla de chiu ajn. Se la atingopermesoj ne
ghustighas automate, kiam vi alshutas la dosieron, vi devas iel mem aranghi tion.
Ekz. en Uniksaj sistemoj oni faras tion per la jena komando:

 chmod 755 k.cgi

Ankau la dosierujo, en kiu la Kameleono trovighas, devas havi tian atingopermeson. Se
tiel ne jam estas, oni do devas ankau komandi (en Unikso):

  chmod 755 cgi-bin   (se tiel nomighas la loko de la Kameleono)

Ankau chiuj aliaj dosieroj, HTML-paghoj, bildoj k.t.p., kaj iliaj dosierujoj, devas
havi ghustajn atingopermesojn. Tio chiam necesas por TTT-ajhoj, kaj ne estas io
speciala por la Kameleono.

Por ke CGI-Kameleono au Perlskripta ASP-Kameleono povu trakti ghuste viajn paghojn en
ghuste via TTT-loko, vi devas shanghi iomete en la komenco de la Kameleono. Tio estas
sufiche facila afero.

Malfermu la Kameleonon per simpla tekstoredakta programo. Post kelkaj enkondukaj
linioj vi trovos la jenajn liniojn:

  my $adreso = "http://www.servilo.eo/~nomo/";
  my $loko_de_paghoj = "../";
  my $baza_sistemo = "unik";
  my $baza_pagho = "index.html";
  my $chiam_trakti = "ne";
  my $purismo = "ne";
  my $ssi = "ne";

* La unua el tiuj linioj devas enhavi la Retan adreson (http-adreson) de viaj TTT-
paghoj. Shanghu la parton "http://www.servilo.eo/~nomo/" al la adreso de viaj paghoj.

* La dua el tiuj linioj montras, kie viaj HTML-paghoj trovighas en la dosieruja
hierarkio de la servilo. La indiko "../" signifas, ke ili trovighas en la nivelo
super tiu dosierujo, en kiu trovighas la Kameleono. Tia estas la normala situacio
por CGI-Kameleono. Por Perlskripta ASP-Kameleono la normala indiko estas "".
Vershajne vi tute ne bezonos shanghi tion. Sed se ne funkcias, vi devas shanghi la
elekton al io, kio montras al la ghusta loko che via servilo. Bedaurinde che
iuj serviloj (ekz. Vindozaj) ne eblas en CGI-Kameleono uzi simplan relativan indikon
por "$loko_de_paghoj", sed necesas uzi absolutan indikon (ekz.
"m:/klientoj_www/~nomo/"). Tiam vi eble devos demandi al la administranto de via 
servilo. Efektive la unua kaj la dua linioj montru nepre al la sama loko: unu per 
http-adreso deekstere, la alia per loka diska adreso (relativa au absoluta).

Vi kompreneble povas viajn paghojn disdividi en diversajn subdosierujojn _sub_ la
baza loko indikita per la unua kaj la dua linioj de la Kameleono. (Paghoj _super_
via baza dosierujo, kiuj vershajne ne apartenas al vi, ne estas atingeblaj por la
Kameleono.)

Se viaj paghoj estas en Vindoza servilo, vi atentu, ke vi uzu en la serchvojaj
indikoj en la Kameleono chiam nur suprenstrekojn (/), ne malsuprenstrekojn (\),
kvankam en Vindozo malsuprenstrekoj estas uzataj anstatau suprenstrekoj. Do skribu
"m:/klientoj_www/~nomo/", nepre ne "m:\klientoj_www\~nomo\". Perlo mem tradukas la
suprenstrekojn en la Vindozajn respondajhojn.

* La tria linio rilatas al la sistemoj por la Esperantaj literoj en viaj bazaj
paghoj. Legu pli detale chi-poste che "5. Elektado de baza sistemo" kaj che "8. Kiaj
estas la uzeblaj sistemoj?".

* La kvara linio montras bazan paghonomon. Kiam aperas alvoko sen preciza paghonomo,
la Kameleono servas paghon kun tia nomo (se tia pagho ekzistas...). Se vi volas alian
bazan paghonomon, shanghu laue.

* La kvina linio indikas, chu la Kameleono chiam traktu paghojn, au chu ghi transdonu
alvokojn rekte al la vokita pagho, kiam leganto mendas tiun sistemon, kiu jam estas
uzata kiel baza sistemo en la paghoj. Se vi tie skribas "jes". la Kameleono chiam
servos chiujn paghojn, ankau kiam tradukado de Esperantaj literoj ne bezonatas. Tio
povas foje esti utila, char la Kameleono faras ankau kelkajn aliajn aferojn krom nura
tradukado de Esperantaj literoj. Legu pli chi-poste pri tio. Sed se oni ne bezonas
iujn el tiuj kromaj servoj, estas pli bone indiki "ne", char rekta aliro al pagho
plenumighas pli rapide ol servado pere de la Kameleono.

* La sesa linio ebligas nuligi chiujn ne-Fundamentajn sistemoj por la Esperantaj
literoj. Se vi volas ebligi nur "purismajn" sistemojn (Unikodon, Latinon 3 kaj la
Fundamentan H-sistemon), vi shanghu al:

  my $purismo = "jes";

La elekto de purismo influas nur la bazan plej simplan sistemelektilon, kiun la
Kameleono disponigas. Se oni elektas purismon, tiu elektilo donas nur purismajn
elektojn. La pli luksaj elektiloj, kiuj estos chi-poste klarigitaj en "9. Kiel
instali la Kameleonon en pli luksa stilo?", ne estas koncernataj.

* La sepa linio estas:

  my $ssi = "ne";

Ghi rilatas al SSI. Vidu chi-poste.

* Eventuale ankau necesos shanghi la plej unuan linion de CGI-Kameleono. Ghi nun
tekstas:

 #!/usr/bin/perl

Ghi montras al la loko, kie la programo Perlo trovighas. Se la Kameleono ne funkcias,
vi eble devas ion alian (sed vershajne tre similan) meti tien. Demandu al la
administranto de via servilo. (Se la servilo estas en Vindozo NT, tiu linio tute ne
gravas.) En Perlskripta ASP-Kameleono la responda linio estas sensignifa (almenau
en Vindoza servilo).

* Kuraghuloj eble deziros modifi lau sia gusto la tuj sekvan parton "NOMOJ DE LA
SISTEMOJ", se la vortelektoj tie ne plachas. Shanghi tie estas tamen iom tikla afero,
precipe se oni ne scias la lingvon Perlo. (Cetere tiuj vortelektoj rolas nur se oni
uzas la plej simplan specon de sistemelektilo.)

* En la antaua versio de la Kameleono estis funkcioj por testi la Kameleonon kaj por
helpi eltrovi, kion indiki che "my $loko_de_paghoj". Mi decidis, ke tiuj funkcioj,
kiuj uzighas nur che instalado de la Kameleono, estas iom superfluaj kaj pezaj, kaj
tial mi forigis ilin.

* MOD_PERL: Ekde versio 4.2 la CGI-Kameleono povas rulighi ankau en la reghimo
"mod_perl" en Apache-serviloj. Mi faris tiun adapton sufiche rapide, kaj povas
esti, ke ankorau aperos problemoj. Eventuale la Kameleono rulighas pli rapide
en "mod_perl". Sed por ke la Kameleono povu ghuste funkcii en "mod_perl" necesas,
ke la servilo estu agordita por ne mem sendi http-chapojnj. Tion devas prizorgi
la Kameleono mem. Se tio ne estas ghuste agordita, la paghoj ricevas post
Kameleona pritrakto aldonan kriptan tekston en la komenco ("Content-Type: ...").
Tiun agordon devas fari la prizorganto de la servilo. Li devas aldoni al la
agordodosiero (normale "httpd.conf") en la loko, kie "mod_perl" estas traktata,
la jenan kodlinion:

  PerlSendHeader On

(Au eventuale li devas shanghi jam ekzistantan "PerlSendHeader Off" al 
"PerlSendHeader On".) Aspektu ekzemple chi tiel:

  <Files ~ "\.pl$">
      SetHandler perl-script
      PerlHandler Apache::Registry
      PerlSendHeader On
      Options ExecCGI
  </Files>

La preciza maniero fari tion povas eble varii. Agordi Apache-servilojn estas
tuta scienco. Povas esti, ke unuopa uzanto povas fari mem la necesan
adapton per redaktado de propra ".htaccess"-dosiero.

Kredeble estas multaj ebloj reverki la Kameleonon por plia rapideco en la
reghimo "mod_perl".

Mi testis nur en Apache-servilo rulighanta en Vindozo. Tre povas esti, ke Apache 
en Linukso au Unikso kondutas alimaniere.

--------------------------------------------------------------------------------


4. KIEL INSTALI VBSKRIPTAN ASP-KAMELEONON?

Por povi uzi ASP-Kameleonon, necesas, ke la servilo permesu kaj subtenu ASP-on
("Aktivaj Servil-Paghoj", "Active Server Pages"). ASP estas CGI-simila
sistemo inventita de Mikrosofto. Ghi ekzistas precipe en Mikrosoftaj serviloj.

Por uzi la VBSkriptan ASP-Kameleonon ankau necesas, ke en la servilo estu instalita
versio 5.0 (au pli nova versio) de la lingvo VBSkripto ("VBScript", "Visual Basic
Script Edition"). Versio 5.0 de VBSkripto automate instalighas kune kun la TTT-legilo
"Microsoft Internet Explorer 5" (temas pri legilo instalita _en la servilo_), sed
eblas ankau aparte instali VBSkripton 5.0. Informighu che la administranto de la
servilo pri la ebloj uzi ASP-on kaj VBSkripton 5.0. Mi ne povis testi la
ASP-Kameleonon en ne-Mikrosofta servilo.

Rimarku, ke nur la Kameleono mem estu ASP-pagho. La paghoj, kiujn la ASP-Kameleono
traduku, estu ordinaraj HTML-paghoj.

La dosiero, kiu enhavas la VBSkriptan ASP-Kameleonon, nomighas "k_vb.asp". Metu tiun 
dosieron ien inter viaj HTML-paghoj. Plej simple estas loki ghin en la plej supra 
nivelo de viaj paghoj, sed ankau eblas ghin loki en subdosierujo. La sufikso devas 
esti ".asp", sed vi povas cetere renomi la programeton lau via placho ("k.asp", 
"kameleono.asp", "ka.asp", "m.asp"...). Estas tamen treege konsilinde uzi mallongegan 
nomon. Atentu chi-poste, ke vi skribu la ghustan efektivan nomon en la elektiloj, 
kiujn vi metos en viajn paghojn.

Por ke la VBSkripta ASP-Kameleono povu trakti ghuste viajn paghojn en ghuste via 
TTT-loko, vi devas shanghi iomete en la komenco de la Kameleono. Tio estas sufiche 
facila afero.

Malfermu la VBSkriptan ASP-Kameleonon per simpla tekstoredakta programo. Post kelkaj 
enkondukaj linioj vi trovos la jenajn liniojn:

  loko_de_paghoj = "/~nomo/"
  baza_sistemo = "unik"
  baza_pagho = "index.html"
  chiam_trakti = "ne"
  purismo = "ne"
  ssi = "ne"

* La unua el tiuj linioj devas enhavi la adreson de viaj TTT-paghoj che via servilo.
Se la plena HTTP-adreso de viaj paghoj estas ekz. "http://www.servilo.eo/vianomo/",
vi elprenu la lastan parton, kiu estas speciala por viaj paghoj, "/vianomo/", kaj
enmetu tion en la unuan shangendan linion inter la citiloj. (Rimarku, ke vi ne metu
la plenan http-adreson.)

* La dua linio rilatas al la sistemoj por la Esperantaj literoj en viaj bazaj
paghoj. Legu chi-poste che "5. Elektado de baza sistemo" kaj che "8. Kiaj estas la
uzeblaj sistemoj?".

* La tria linio montras bazan paghonomon. Kiam aperas alvoko sen preciza paghonomo,
la Kameleono servas paghon kun tia nomo (se tia pagho ekzistas...). Se vi volas alian
bazan paghonomon, shanghu laue.

* La kvara linio indikas, chu la Kameleono chiam traktu paghojn, au chu ghi transdonu
alvokojn rekte al la vokita pagho, kiam leganto mendas tiun sistemon, kiu jam estas
uzata kiel baza sistemo en la paghoj. Se vi tie skribas "jes". la Kameleono chiam
servos chiujn paghojn, ankau kiam tradukado de Esperantaj literoj ne bezonatas. Tio
povas foje esti utila, char la Kameleono faras ankau kelkajn aliajn aferojn krom nura
tradukado de Esperantaj literoj. Legu pli chi-poste pri tio. Sed se oni ne bezonas
iujn el tiuj kromaj servoj, estas pli bone indiki "ne", char rekta aliro al pagho
plenumighas pli rapide ol servado pere de la Kameleono.

* La kvina linio ebligas nuligi chiujn ne-Fundamentajn sistemoj por la Esperantaj
literoj. Se vi volas ebligi nur "purismajn" sistemojn (Unikodon, Latinon 3 kaj la
Fundamentan H-sistemon), vi shanghu al:

  purismo = "jes"

La elekto de purismo influas nur la bazan plej simplan sistemelektilon, kiun la
Kameleono disponigas. Se oni elektas purismon, tiu elektilo donas nur purismajn
elektojn. La pli luksaj elektiloj, kiuj estos chi-poste klarigitaj en "9. Kiel
instali la Kameleonon en pli luksa stilo?", ne estas koncernataj.

* La sesa linio estas:

  ssi = "ne"

Ghi rilatas al SSI. Vidu chi-poste.

* Kuraghuloj eble deziros modifi lau sia gusto la parton "Sub Adapti_elektilon()",
kiu situas ie proksime al la fino de la VBSkripta ASP-Kameleono, se la vortelektoj 
tie ne plachas. Shanghi tie estas tamen iom tikla afero, precipe se oni ne scias la 
lingvon VBSkripto. (Cetere tiuj vortelektoj rolas nur se oni uzas la plej simplan 
specon de sistemelektilo.)

* Se VBSkripta ASP-Kameleono rifuzas funkcii, indas unuavice kontroli, chu entute che 
la uzata servilo eblas uzi ASP-paghojn. Multaj serviloj tute ne subtenas ASP-on. Indas 
ankau zorge kontroli, chu sufiche nova versio de VBSkripto estas instalita che la 
servilo. Devas esti versio 5.0 au pli nova versio. (La Kameleono abunde uzas t.n.
regulesprimojn, kiuj mankas en antauaj versioj de VBSkripto.)

* Atentu, se vi estas Makintoshuzanto. Se vi redaktas la ASP-Kameleonon (lau la
chi-antauaj klarigoj) per tekstoredaktilo _en Makintosha komputilo_, kaj poste ghin
alshutas al servilo por uzado, la Kameleono povus detruighi. Ankau nura alshutado
elde Makintosho al servilo povus doni tian rezulton. La kialo estas, ke Makintoshoj
uzas aliajn signokodojn ol Vindozaj kaj Uniksaj komputiloj, kaj iafoje Makintoshaj
programoj (tute bonintence) provas konverti signojn de unu sistemo en alian dum
redaktado au shutado. Surprize ofte tia konvertado komplete misiras.

* En la antaua versio de la Kameleono estis funkcioj por testi la Kameleonon kaj por
helpi eltrovi, kion indiki che "loko_de_paghoj". Mi decidis, ke tiuj funkcioj, kiuj
uzighas nur che instalado de la Kameleono, estas iom superfluaj kaj pezaj, kaj tial
mi forigis ilin.

--------------------------------------------------------------------------------


5. ELEKTADO DE BAZA SISTEMO

En la komenco de la Kameleono vi metu kodeton, kiu montras, kiun bazan sistemon por
la Esperantaj literoj vi uzas en viaj paghoj. Uzu iun el la sekvaj kodetoj:

  "unik"   Unikodo [validas por chiuj variantoj de Unikoda skribo]
  "lat3"   Latino 3 [kun au sen indiko pri signokodo]
  "ghu"    Fundamenta H-sistemo: ch, gh... u
  "x"      X-sistemo: cx, gx... ux
  "cgcu"   Antauchapela sistemo: ^c, ^g... ^u
  "gcuc"   Postchapela sistemo: c^, g^... u^
  "cgtu"   Antauchapela sistemo kun tildo: ^c, ^g... ~u
  "gcut"   Postchapela sistemo kun tildo: c^, g^... u~
  "ghw"    H-sistemo kun W: ch, gh... w
  "vx"     X-sistemo kun VX: cx, gx... vx
  "grur"   Malapostrofa sistemo: c`, g`... u`

En la antaua versio de la Kameleono estis eblo de automata elektado de sistemo (kiu
povis esti diversa en diversaj paghoj) per la kodeto "automate". Bedaurinde
montrighis, ke la automateco ofte mistere fiaskas. Krome la parto de la Kameleono,
kiu faris la automatan elektadon estis iom komplikega, kaj kredeble malrapidigis la
Kameleonon. Tial mi decidis forigi la automatecon. Mi tamen plu disponigas la antauan
version de la Kameleono por tiuj, kiuj nepre deziras uzi la automatecon.

--------------------------------------------------------------------------------


6. KIAJ DEVAS ESTI LA HTML-PAGHOJ?

La HTML-paghoj estu ordinaraj TTT-paghoj, kiu povas funkcii tute normale per si mem.
Sed por ke la Kameleono povu ilin trakti, ili devas tamen konformi al kelkaj
postuloj. Ili povas esti simplaj launormaj paghoj (au komplikaj launormaj paghoj),
ili povas esti kadro-paghoj kun "belaj" aldonoj de Netscape au Microsoft, ili povas
enhavi bildojn kaj aliajn aldonajhojn, k.t.p., sed estas tamen kelkaj atentindajhoj:

* La HTML-paghoj devas esti korekte verkitaj. Se estas eraroj en ili, la rezulto de
traduko fare de la Kameleono povas farighi stranga au ech tute neuzebla. Notindas, ke
la Kameleono kompreneble komprenas la plej novan version de HTML, kiu nomighas XHTML
1.0. Chiuj chi-postaj ekzemploj de paghokodo estas lau XHTML 1.0.

* La Esperantaj literoj devas esti unuece skribataj en chiu pagho. Se vi miksas
plurajn sistemojn en unu sama pagho, la Kameleono ne ghuste tradukos. Vi ankau devas
uzi iun el tiuj sistemoj, kiujn la Kameleono komprenas. Legu chi-poste en "8. Kiaj
estas la uzeblaj sistemoj?".

* Nomoj de paghoj (dosieroj) kaj dosierujoj rajtas enhavi nur "ordinarajn" signojn de
Askio; pli prezice temas pri "a-z", "A-Z", "0-9", "_" kaj ".". La nomoj ankau nepre
ne enhavu dupunktojn (:), spacetojn au ion ajn tian. Vindozuloj speciale atentu pri
spacetoj, kiuj eblas en dosiernomoj en Vindozo, sed ne en Unikso. Dosieroj, kiuj
funkciu en la Reto, nepre ne enhavu spacetojn en siaj nomoj. Ankau atentu, ke Vindozo
ne chiam distingas inter majuskloj kaj minuskloj. En nomoj de Retaj paghoj necesas
zorge distingi. Faciligas la Retan vivon, se oni chiam uzas nur tutminusklajn nomojn
de dosieroj.

* Nomoj de paghoj kaj aliaj dosieroj (ekz. "bela_pagho.html", "bildacho.gif" k.s.)
kaj nomoj de ankroj ene de paghoj (ekz. <a name="interesajho">, <p id="interesajho">
k.s.) ne enhavu Esperantajn literojn lau iu el tiuj sistemoj, kiujn la Kameleono
povas uzi. Precipe endas eviti la X-sistemon en tiaj nomoj. Do ne nomu dosieron
"gxeneralajxoj.html", sed ekz. "gheneralajhoj.html". La H-sistemo estas chiam sekura
solvo por tiaj aferoj (tiu H-sistemo, kiun vi povas uzi en la ordinara teksto de viaj
paghoj, estas tute speciala - vidu chi-poste).

* Tiuj HTML-dosieroj, kiuj partoprenu en la tradukado, havu iun el la sufiksoj
".html", ".htm", ".shtml" kaj ".shtm" (eblas ankau majuskle). Dosieroj kun aliaj
sufiksoj ne tradukighas (kaj ligoj al tiaj aliaj dosieroj kondukas for de la
Kameleona traduksistemo). Plej vershajne vi uzu ".html" au ".htm" (la du aliaj
alternativoj estas por SSI-paghoj).

* La Kameleono povas prizorgi TTT-pagharon, kies chiuj paghoj trovighas che unu sama
servilo, kaj kiuj ligas unu al la alia per relativaj hiperligaj adresoj. Paghoj che
aliaj serviloj (fakte chiuj paghoj, kies adresoj estas indikitaj absolute - per plena
http-adreso), ne estas tradukataj de la Kameleono (kaj ligoj al ili kondukas for de
la Kameleona traduksistemo), se ili ne enhavas eksplicitan alvokon de la Kameleono.
Se via pagharo estas iel disigita en pluraj Retaj lokoj, vi devas instali apartan
Kameleonon en chiu el tiuj lokoj.

* Ie en la paghoj devas aperi elektilo, per kiu la legantoj povas elekti sistemon por
la Esperantaj literoj. Vidu pri tio detalegajn klarigojn chi-poste.


* NE-ASKIAJ LITEROJ KAJ SIGNOJ

Ne-Askiajn literojn kaj signojn aliajn ol la Esperantaj vi povas skribi per simbolaj
HTML-nomoj ("&ouml;", "&aacute;", "&Ccedil;", "&times;"...), au per numeraj HTML-
kodoj ("&#246;", "&#225;", "&#199;", "&#215;"...). Tio estas tre sekura maniero
skribi tiajn signojn en HTML: en la kodo mem estas uzata nur Askio, sed tamen en la
paghoj povas aperi chiaj ajn signoj.

Sed vi ankau povas uzi ne-Askiajn bitokojn por ne-Askiaj signoj, se vi uzas unu el la
signokodoj Latino 1, Latino 2 au Latino 3. Vi ankau povas skribi Unikode lau la
kodprezentoj UTF-8 kaj UTF-16 (dubitoka/deksesbita Unikodo). La Kameleono komprenas
HTML-dosierojn UTF-16-ajn de ambau specoj - pezofina kaj pezokomenca. Ordinare tiel
nomata "bitokorda marko" - BOM - aperu komence de UTF-16-a pagho indikante, chu estas
pezofina au pezokomenca UTF-16, sed la CGI-Kameleono povas elturnighi ankau sen BOM,
se la pagho estas korekta HTML-pagho. La ASP-Kameleono ankorau ne kapablas plenumi
tiun lastan magiajhon.

Ne plu validas la avertoj en antauaj versioj de la Kameleono kontrau okbitaj signoj.

Se ne-Askiaj signoj estas uzataj en la HTML-kodo, chiu pagho devas esti konsekvence
kodita, kaj en la chapo de la HTML-kodo (inter <head> kaj </head>) devas esti ghusta
indiko pri la uzata signokodo (chio lau ordinaraj HTML-reguloj por tiaj aferoj):

Latino 1:

  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

Latino 2:

  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />

Latino 3:

  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-3" />

UTF-8:

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Por UTF-16 tia chapa indiko ne necesas. Se vi ne scias, kiel funkcias tiuj diversaj
signokodoj, vi povas lerni pri tiaj aferoj en mia TTT-loko. Chi-poste che la
priskriboj de la diversaj sistemoj por la Esperantaj literoj estas aldonaj komentoj
pri tiaj chapaj signokodaj indikoj.

En XHTML-paghoj estu indiko pri signokodo ankau per t.n. XML-a procesinstrukcio, se
estas alia signokodo ol UTF-8 au UTF-16, ekz.:

  <?xml version="1.0" encoding="iso-8859-3"?>

Legu pli pri tiaj aferoj en miaj TTT-paghoj pri (X)HTML.

Se vi erare uzas anstatau Latino 1 la Vindozan signokodon "windows-1252" (similan al
Latino 1, sed kun aldonaj signoj en kodpozicioj evitindaj), la Kameleono korektas
tiun tre oftan eraron, kaj la koncernaj signoj aperas en ghustigita formo.

Se vi uzas Unikodon, per HTML-kodoj numeraj au nomaj, per UTF-8, au per UTF-16, vi
povas skribi chiajn ajn Unikodajn signojn, ech Chinajn! La Kameleono legas,
komprenas, tradukas kaj servas tiajn paghojn bonorde, sendepende de la ekzotikeco de
la uzataj signoj.

La CGI-Kameleono kaj la Perlskripta ASP-Kameleono ech komprenas la ekstran milionon 
da signoj, kiun UTF-16 esprimas per t.n. surogataj paroj (per po paro da bitdeksesoj), 
kvankam ankorau neniuj signoj estas difinitaj por tiu parto de Unikodo. La VBSkripta 
ASP-Kameleono ankorau ne povas plenumi tiun magiajhon. (Kiam signoj estos difinitaj 
por tiu regiono de Unikodo, lauplane tie aperos interalie la skribsignoj de la 
Klingona lingvo...)

Tamen, ju pli "ekzotikajn" signojn vi uzas, des pli bone ekipitaj devas esti la TTT-
legiloj, kiuj devas montri tiujn signojn. Efektive, se viaj paghoj estas UTF-16-aj
(po du bitokoj por chiu signo), nur kelkaj modernegaj TTT-legiloj povas ilin entute
montri - se la paghoj estas rekte servataj. Sed kiam la Kameleono ilin tushis,
_chiuj_ TTT-legiloj povas montri tiujn paghojn, char la paghoj estas Askiigitaj (au
UTF-8-igitaj, se la leganto mendis UTF-8-on) fare de la Kameleono - sen perdo de
informoj (chio devas prezentighi tute same kiel la originaj UTF-16-aj paghoj). Malpli
kapablaj TTT-legiloj ne subite ekkapablas montri ekz. Chinajn signojn nur pro la
magio de la Kameleono, sed ili povas tamen montri la paghojn, kun demandosignoj,
rektanguloj au simile, kie estas signoj tro ekzotikaj. Sen la Kameleono ili montrus
la tutan paghon kiel nuran rubajhon. La TTT-legilo "Microsoft Internet Explorer 4"
ordinare povas montri nur unu el la du specoj de UTF-16-aj HTML-paghoj (dum "Netscape
Navigator 4", "Microsoft Internet Explorer 5" kaj "Mozilla 5"/"Nescape Navigator 6" 
povas montri ambau specojn). Sed post Kameleona prizorgado, ankau "Microsoft 
Internet Explorer 4", kaj chiuj aliaj TTT-legiloj, povas montri ambau specojn de 
UTF-16-aj paghoj.


* SSI - INKLUZIVADO DE DOSIEROJ

Ne eblas uzi SSI-on ("Server Side Include") kaj la Kameleonon samtempe, char SSI-oj
estas prizorgataj de la servilo, kaj kiam la Kameleono laboras, ghi transprenas
multajn taskojn de la servilo. SSI-komandoj estas tiam ignorataj.

La manko de SSI estas tamen parte kompensata per aldonaj kapabloj de la Kameleono. La
CGI-Kameleono povas mem plenumi la SSI-komandojn "include" kaj "exec". La ASP-
Kameleonoj komprenas nur "include". Mi ne povas chi tie detale klarigi, kiel funkcias
SSI. Vi legu pri tio aliloke, sed se vi interesighas pri SSI, vi sciu, ke nun eblas
enmeti liniojn de la jenaj specoj en HTML-dosierojn:

  <!--#include file="inkluzivota_dosiero.html" -->
  <!--#include virtual="inkluzivota_dosiero.html" -->

  <!--#exec cgi="cgiprogrameto.cgi" -->

Se chio iras ghuste, linio kun "include"-komando estas anstatauigata de la enhavo de
la dosiero "inkluzivota_dosiero.html", kiam la pagho iras tra la Kameleono. (La
Kameleono ne faras diferencon inter "include file" kaj "include virtual". Ambau
kondutas same kiel "include virtual" en vera SSI.)

SSI-komando kun "exec cgi=..." permesas enmeti la rezulton de alia CGI-programeto. La
Kameleona SSI-mekanismo eblas nur kun Perlaj CGI-programetoj, kaj nur ebligas uzi
programetojn, kiuj situas samloke kiel la Kameleono mem, kaj funkcias nur en la CGI-a
Kameleono. Se via servilo estas Mikrosofta, vi eble trovos ke "exec" ne funkcias. Se
vi estas tre kuragha, vi povas mem provi funkciigi "exec"-on. En la dosiero "k.cgi"
estas iom da helpa teksto pri tio. Serchu la vortojn "PROBLEMOJ PRI EXEC". Sed
atentu: ne estas facila afero.

Mi ne povis multe testi la surogatan SSI-umadon, kaj tial mi ne povas garantii, ke
ghi vere funkcias same kiel vera SSI. Sed lau mia kompreno almenau "include"-komandoj
devus plenumighi en tute normala maniero, kiam la pagho estas ordinare alvokata, kaj
devus konduti same per la Kameleona SSI-surogato, kiam la pagho estas alvokata tra la
Kameleono. Ordinara SSI normale funkcias nur se la pagho havas la sufikson ".shtml"
au ".shtm". La Kameleona SSI funkcias kun ".html", ".htm", ".shtml" kaj ".shtm".

Se oni scias programi per Perlo, oni povas per apartaj CGI-programetoj (kaj la "exec"-
komando) mem kovri la funkciojn de tiuj SSI-komandoj, kiujn la Kameleono ne subtenas.

Por ke la surogata SSI-subteno laboru, vi devas unue enshalti ghin. Komence de la
Kameleono estas linio, kiun vi shanghu, se vi volas, ke la Kameleono plenumu SSI-ajn
komandojn. Shanghu tiam al:

  my $ssi = "jes"; (CGI-Kameleono)

  ssi = "jes"      (ASP-Kameleono)

Per la Kameleona surogata SSI eblas iom SSI-umi ankau che serviloj, kie SSI normale
ne estas permesata (almenau se oni aranghas tiel, ke la Kameleono chiam servas chiujn
paghojn - vidu chi-poste).

Lasta atentigo: La Kameleono povas trakti paghojn koditajn Unikode lau UTF-16. Ankau
teksto enmetata pere de "include file=" au "include virtual=" povas esti UTF-16-a.
Tia teksto tamen nepre devas enhavi BOM-on ("bitokordan markon"). Teksto enmetata
pere de "exec cgi=" tamen ne povas esti UTF-16-a.

--------------------------------------------------------------------------------


7. KIEL SKRIBI POR KE LA LEGANTOJ POVU ELEKTI SISTEMON?

Por ke la legantoj povu elekti inter la diversaj sistemoj por la Esperantaj literoj,
devas ie en la pagharo trovighi _elektilo_. Oni povas havi unu elektilon, ekz. en la
chefa (enira) pagho, au oni povas havi plurajn elektilojn sur diversaj paghoj. Oni
povas ech enmeti elektilon en chiu pagho de la tuta TTT-loko (au ech plurajn en unu
sama pagho...). Normale unu sola elektilo en la chefa enira pagho tute sufichas, sed
chio ajn eblas.

Sekvos ekzemplo de XHTML-kodo. Vi povas eltranchi la kodon, kaj fari efektivan paghon
por testado. Kompreneble vi devas unue adapti ghin lau viaj cirkonstancoj. Por povi
testi la funkciadon de la Kameleono, la programeto kaj chiuj paghoj devas unue
trovighi en servilo. Ne eblas simple legi ilin de loka disko - tiam la Kameleono ne
povas labori. CGI-programetoj kaj ASP-paghoj funkcias nur kune kun servilo.

Jen simpla pagho, en kiu estas elektilo por la Esperantaj literoj. En la ekzemplo
Unikodo estas uzata por la Esperantaj literoj. Legu poste, kiel skribi, se vi volas
uzi alian bazan sistemon.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Ekzemplo</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<!-- SISTEMO KOMENCO -->
Esperantaj literoj: <tt>Unikodo</tt>&nbsp;
<!-- SISTEMO FINO -->
 <a href="http://www.servilo.eo/~nomo/cgi-bin/k.cgi?s=;d=ekzemplo.htm"
 target="_top">[Elekti alian sistemon]</a>

<hr />

<h1>
Ekzemplo
</h1>

<p>
<a href="alia_pagho1.htm">Ligo</a>.
</p>

<p>
<a href="alia_pagho2.htm">Alia ligo</a>.
</p>

<p>
Esperantaj literoj: e&#293;o&#349;an&#285;o &#265;iu&#309;a&#365;de
E&#292;O&#348;AN&#284;O &#264;IU&#308;A&#364;DE.
</p>

<hr />

</body>
</html>

Plej interesa en tiu kodo estas la jenaj linioj.

<!-- SISTEMO KOMENCO -->
Esperantaj literoj: <tt>Unikodo</tt>&nbsp;
<!-- SISTEMO FINO -->
 <a href="http://www.servilo.eo/~nomo/cgi-bin/k.cgi?s=;d=ekzemplo.htm"
 target="_top">[Elekti alian sistemon]</a>

En tiuj linioj estas ligo al elektilo, per kiu chiu leganto povas elekti sistemon por
la Esperantaj literoj. (Chi-poste vi povos legi, kiel instali pli luksajn
elektilojn.)

Vi trovos, ke la indiko "Unikodo" shanghighos lau tiu sistemo, kiu estas aktuale
aktiva (efektive shanghighas tio, kio aperas inter <!-- SISTEMO KOMENCO --> kaj
<!-- SISTEMO FINO -->).

Anstatau "http://www.servilo.eo/~nomo/cgi-bin/k.cgi" vi metu tiun adreson, kiun oni
devas uzi por voki la Kameleonon che via servilo. Se estas ASP-Kameleono, la adreso
povas aspekti ekz. jene: "http://www.servilo.eo/~nomo/k.asp". Kompreneble vi uzu
ghuste tiun nomon kaj lokon de la Kameleono, kiun vi elektis, kiam vi instalis vian
Kameleonon.

La posta parto de la adreso, "?s=;d=", restu senshangha. Anstatau la punktokomo (;)
eblas ankau "&amp;". La indiko "s=" simple estas signalo al la Kameleono liveri
elektilan paghon. (Se vi post "s=" metas kelkajn ciferojn, vi povas shanghi la
kolorojn de la elektila pagho. Vidu chi-poste pri tio.)

La fina parto "ekzemplo.htm" estas la nomo de tiu pagho, en kiu tiu chi ligo mem
trovighas (vidu tamen chi-poste pri kadraj paghoj). Rimarku, ke ghi normale ne estu
nomo de alia pagho, krom se vi fakte volas, ke la leganto post elekto de sistemo tuj
iru al alia pagho. Vi povas meti tiajn chi ligojn al sistemelektilo sur chiun ajn
paghon lau via placho. En chiu tia pagho vi tamen shanghu la finan parton de la liga
adreso al la nomo de tiu pagho mem (por ke la leganto revenu al ghuste tiu pagho post
elekto de sistemo).

Tiu fina paghonomo devas enhavi la kompletan adreson de tiu pagho _relative al via
baza loko por HTML-paghoj_. Do, se pagho kun tia ligo al sistemelektilo trovighas en
la dosierujo "interese", kiu siavice trovighas ene de "tekstoj", tiam estu
"tekstoj/interese/ekzemplo.htm" fine de la liga adreso.

(Se vi testos la chi-antauan ekzemplan HTML-paghon, ghi do nomighu "ekzemplo.htm" por
funkcii normale.)


* KADROPAGHOJ

Se vi uzas _kadrojn_ en via TTT-loko, la chi-antaua klarigo ne validas. Se ligo al la
sistemelektilo aperas en iu el la kadroj de kadra TTT-pagho, la fina parto estu chiam
la nomo de _la baza kadrodifina pagho_ (tiu pagho, en kiu aperas la HTML-marko
"frameset"). Se ekzemple via kadraro estas difinita unue en "tekstoj/index.html", vi
_chiam_ skribu ghuste "tekstoj/index.html" en la lasta parto de la adreso al la
sistemelektilo. Tial por kadraj paghoj la plej simpla varianto de la Kameleono
funkcias iom malpli elegante: Kiam oni elektas sistemon en kadra pagho, oni chiam
revenas al la enira aspekto de la kadraro. La plej luksa varianto, kiu uzas ankau
Javaskripton, solvas tiun problemeton (por tiuj legantoj, kies TTT-legiloj bone
komprenas Javaskripton). Legu chi-poste pri la pli luksaj manieroj instali la
Kameleonon.


* ELEKTI KOLOROJN POR LA ELEKTILA PAGHO

Se vi skribas en la elektila adreso "...k.cgi?s=;d=..." au "...k.asp?s=;d=...", la
elektilo, kiu aperos, havos tiun bazan aspekton, kiun mi enprogramis. Sed se vi emas,
vi povas post "s=" enshovi du au tri ciferojn, kiuj difinas la uzatajn kolorojn (de
la ghenerala fono, de la fono de la elektila tabelo, kaj de la titolo). Skribu
anstataue ekz. "s=23", kaj la leganto ricevos paghon kun aliaj koloroj. Au skribu
ekz. "s=235", kaj shanghighos ankau la koloro de la titolo.

Estas 10 koloroj, inter kiuj vi povas elekti (per la ciferoj 0 - 9). Eksperimentu
ghis vi trovos koloran kombinon, kiu plachas al vi (kaj espereble ankau al viaj
legantoj). La elekto "s=00" donas simplajn blankajn fonojn. "s=89" egalas al la baza
aspekto. Per "s=000" vi ech povas kashi la titolon. Tamen atentu, ke la pagho restu
legebla. Kelkaj kolorkombinoj estas ege maltaugaj. (Mi mem uzas "s=805" ghuste nun.)


* SE LA KAMELEONO CHIAM LABORU

Eble vi volas, ke la Kameleono chiam servu chiujn viajn paghojn (krom la chefa enira
pagho). Tiam skribu en via enira pagho chiujn ligojn al viaj aliaj paghoj en la jena
maniero:

<a href="http://www.servilo.eo/~nomo/cgi-bin/k.cgi?d=alia_pagho1.htm">Ligo</a>.

<a href="http://www.servilo.eo/~nomo/cgi-bin/k.cgi?d=alia_pagho2.htm">Alia ligo</a>.

Kompreneble anstatau "http://www.servilo.eo/~nomo/cgi-bin/k.cgi" devas aperi tiu
adreso, kiun oni devas uzi por alvoki vian Kameleonon. Post "d=" aperu la kompleta
adreso de la koncerna pagho relative al via baza loko por HTML-paghoj. Se la pagho
"alia_pagho1.htm" trovighas en la subdosierujo "interese", la longa adreso finighu
per "d=interese/alia_pagho1.htm".

Se la Kameleono vere chiam servu chiujn paghojn, necesas ankau indiki komence de la
Kameleono, ke ghi chiam servu paghojn, ankau kiam tradukado ne necesas (per 'my
$chiam_trakti = "jes";' au 'chiam_trakti = "jes"').


* ESCEPTADO DE PAGHOJ

Eble vi havas paghojn, kiuj estas iel specialaj, kaj kiujn vi ial volas escepti de la
traduka sistemo. Vi povas tion facile fari. Se iu pagho nepre neniam estu tradukata,
vi simple enmetu en ghin (ie ajn) la jenan tekston:

<!-- NETRADUKENDA PAGHO -->

Kiam la Kameleono renkontas paghon kun tia teksto, ghi ne tradukas iujn ajn literojn
ene de tiu pagho. (La legantoj ne vidos tiun tekston, char ghi estas en formo de HTML-
komento.)

En tiaj paghoj vi povas uzi ankau ne-Askiajn unubitokajn signojn, se vi kodas la
paghojn ghuste.

Tamen: Se pagho estas Unikoda lau UTF-16, la Kameleono transformas la paghon en nur-
Askian formon. Tia transformado chiam okazas. Tamen neniuj informoj perdighos au
shanghighos pro tiu transformado.


* ESCEPTADO DE TEKSTOPARTOJ

Eblas ankau protekti partojn de HTML-pagho. Se en iu pagho estas alineo, frazo, vorto
au simile, kiu ial ne estu tradukata, sed chiam restu neshanghita, vi enmetu jenajn
kodajhojn:

<!-- KOMENCO DE NETRADUKENDA TEKSTOPARTO -->

<!-- FINO DE NETRADUKENDA TEKSTOPARTO -->

La unuan vi kompreneble metu ghuste antau tiu tekstoparto, kiun vi volas escepti de
la tradukado. La duan vi metu post la protektenda tekstoparto. Ekz.:

<p>
Tiu cxi X-sistema frazo tradukigxos. <!-- KOMENCO DE NETRADUKENDA TEKSTOPARTO -->Tiu
cxi frazo restos cxiam sensxangxe.<!-- FINO DE NETRADUKENDA TEKSTOPARTO --> Tiu cxi
frazo ja estos tradukata.
</p>

Per tiu artifiko oni povas ekz. protekti tekston kun nacilingvaj nomoj, kiuj enhavas
signojn au signokombinojn, kiuj povus esti erare traktataj kiel Esperantaj literoj.
(Tamen transformado de UTF-16 chiam okazas. Vidu chi-antaue.)

Atentu tamen, ke povas ekesti kolizioj inter signokodoj. Ekz. se la baza pagho estas
Latino-3-a, kaj leganto elektos sistemon Latino-1-an. Tiam Latino-3-aj Esperantaj
literoj en esceptata tekstoparto ne montrighos ghuste, sed interpretighos lau Latino
1. Ankau pri aliaj ekster-Askiaj (unubitokaj) signoj povas ekesti tiaj problemoj en
esceptataj tekstopartoj, se la Kameleona traduko shanghas la signokodon. Per simbolaj
HTML-nomoj ("&otilde;" k.s.) au numeraj HTML-kodoj ("&#245;" k.s.) vi povas malpliigi
la riskojn de konfuzoj. Evitu uzi la kodprezenton UTF-8 en tekstopartoj, kiujn vi
volas escepti de la tradukado.


* MENCIADO DE LA AKTUALA SISTEMO

Jen artifiko tre speciala, kiun vi eble volos utiligi. Alie ignoru ghin.

Se ie en pagho vi enmetas komenton, kiu tekstas jene, "<!-- AKTUALA SISTEMO -->", la
Kameleono, kiam ghi tradukas la paghon, anstatauigas tiun komenton per mallonga
kodfragmento, kiu indikas la aktualan sistemon por la Esperantaj literoj, ekz.
"m=ghu;" (por H-sistemo), au "m=lat3a;" (por Latino 3). Tion vi povas eble utiligi,
se vi volas mencii adreson de pagho, kaj volas, ke tiu adreso variu lau la Kameleona
tradukado. Se vi studos miajn TTT-paghojn, vi vidos tian adreson fine de plej multaj
paghoj. Se vi rigardos la fontokodon de miaj paghoj, vi trovos tian komenton pri
"AKTUALA SISTEMO". Eble vi volos fari ion similan en viaj paghoj. Tiam la komenta
artifiko estas je dispono.

--------------------------------------------------------------------------------


8. KIAJ ESTAS LA UZEBLAJ SISTEMOJ?

Kiam vi verkas viajn bazajn paghojn, vi povas uzi la jenajn sistemojn por la
Esperantaj literoj:

  Unikodo (numera skribo)
  Unikodo lau UTF-8
  Latino 3 (launorma)
  Latino 3 sen indiko pri signokodo (nenorma)
  Fundamenta H-sistemo: ch, gh... u
  X-sistemo: cx, gx... ux
  Antauchapela sistemo: ^c, ^g... ^u
  Postchapela sistemo: c^, g^... u^
  Antauchapela sistemo kun tildo: ^c, ^g... ~u
  Postchapela sistemo kun tildo: c^, g^... u~
  H-sistemo kun W: ch, gh... w
  X-sistemo kun VX: cx, gx... vx
  Malapostrofa sistemo: c`, g`... u`

Chi-poste sekvas detalaj klarigoj pri chiuj sistemoj. Se vi jam scias, kiun sistemon
vi volas uzi en viaj paghoj, sufichas legi la klarigojn pri tiu sistemo. Pri la aliaj
sistemoj zorgos la Kameleono.

Krome ankau eblas uzi Unikodon lau UTF-16 en la bazaj HTML-paghoj, sed pri tio mi ne
donas klarigojn. Se vi havas programon, kiu povas produkti tiajn tekstojn, chio devas
automate funkcii. (La Kameleono akceptas UTF-16-ajn bazajn paghojn, sed chiam
prezentas ilin lau iu el la chi-antauaj 13 sistemoj.)


* UNIKODO (NUMERA SKRIBO)

Unikodajn Esperantajn literojn oni povas skribi jene uzante numerajn HTML-indikojn.
La numeroj montras la respektivajn numerojn de niaj literoj en Unikodo:

Majuskla C kun cirkumflekso:   &#264;
Minuskla c kun cirkumflekso:   &#265;
Majuskla G kun cirkumflekso:   &#284;
Minuskla g kun cirkumflekso:   &#285;
Majuskla H kun cirkumflekso:   &#292;
Minuskla h kun cirkumflekso:   &#293;
Majuskla J kun cirkumflekso:   &#308;
Minuskla j kun cirkumflekso:   &#309;
Majuskla S kun cirkumflekso:   &#348;
Minuskla s kun cirkumflekso:   &#349;
Majuskla U kun hoketo:         &#364;
Minuskla u kun hoketo:         &#365;

En la chi-antaua ekzemplo de HTML-pagho estas uzataj ghuste tiaj numeraj HTML-kodoj.

Atentu, ke vi ne forlasu la finajn punktokomojn (;) de tiuj kodajhoj. Iuj TTT-legiloj
akceptas tiajn kodajhojn ankau se mankas la fina punktokomo. La Kameleono tamen ne
rekonos la kodajhojn, se mankas la punktokomoj.

Se vi cetere uzas nur Askiajn signojn en la HTML-kodo, vi ne bezonas indiki
signokodon en la chapo de la HTML-pagho. Sed povas tamen esti inde uzi la jenan
indikon pri signokodo:

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Tiel indiki "UTF-8", estas iom strange, se UTF-8-aj (plurbitokaj) signoj ne estas
uzataj. Tia indiko estas tamen tute korekta (char simpla Askio estas ankau valida UTF-
8). Povas esti konsilinde skribi "UTF-8", char tio iom pli plachas al la TTT-legilo
"Netscape Navigator 4" pro eraro en tiu programo. Legu detale pri tio en miaj TTT-
paghoj pri (X)HTML. Problemoj por "Netscape Navigator 4" povas tamen aperi nur antau
ol la Kameleono komencas prizorgi la paghojn, char la Kameleono kompensas la eraron
de tiu TTT-legilo.

Por multaj aliaj signoj ekzistas krom numeraj kodoj ankau nomkodoj (ekz. "&aacute;",
"&ouml"; "&Ntilde";...), kiuj estas pli facile uzeblaj ol la numeraj kodoj.
Bedaurinde tiaj HTML-aj nomkodoj ankorau ne ekzistas por la Esperantaj supersignaj
literoj.


* UNIKODO LAU UTF-8

UTF-8 estas maniero prezenti Unikodon per nur 8-bitaj signoj. Chiuj Askiaj signoj
restas tute normalaj, sed aliaj signoj estas reprezentataj de po du au tri bitokoj
lau sufiche komplika (sed genia) sistemo. Por oportune uzi UTF-8-on, kiam oni
redaktas HTML-paghojn, pli-malpli necesas havi specialan tekstoredaktilon, kiu scias
pri UTF-8. Chiuokaze en UTF-8 niaj supersignaj literoj havas la jenajn dubitokajn
reprezentojn. (Iuj el la bitokoj vershajne chi tie ne aperos por vi kiel videblaj
signoj, bedaurinde. Tial mi skribis dekstre ankau la dekumajn numeroj de la
respektivaj bitokoj.):

Majuskla C kun cirkumflekso:   Ĉ      (196-136)
Minuskla c kun cirkumflekso:   ĉ      (196-137)
Majuskla G kun cirkumflekso:   Ĝ      (196-156)
Minuskla g kun cirkumflekso:   ĝ      (196-157)
Majuskla H kun cirkumflekso:   Ĥ      (196-164)
Minuskla h kun cirkumflekso:   ĥ      (196-165)
Majuskla J kun cirkumflekso:   Ĵ      (196-180)
Minuskla j kun cirkumflekso:   ĵ      (196-181)
Majuskla S kun cirkumflekso:   Ŝ      (197-156)
Minuskla s kun cirkumflekso:   ŝ      (197-157)
Majuskla U kun hoketo:         Ŭ      (197-172)
Minuskla u kun hoketo:         ŭ      (197-173)

En la chapo de UTF-8-a HTML-pagho vi nepre uzu la jenan indikon pri signokodo:

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Se vi uzas tekstoredaktilon, kiu vere komprenas kaj uzas UTF-8-on, vi tute ne vidos
tiajn duopojn de bitokoj, sed anstataue niajn Esperantajn literojn! En tia okazo
povus esti tute sagha elekto uzi UTF-8-on en viaj paghoj. La Vindoza HTML-redaktilo
"Frontpage Express", kiu estas akompananto de la senkosta TTT-legilo "Microsoft
Explorer 4 (au 5)", komprenas UTF-8-on, sed bedaurinde havas aliajn mankojn, kiuj
faras ghin netauga por redakti HTML-paghojn prizorgotajn de la Kameleono. La
Esperantlingva redaktilo UniRed bonege prizorgas UTF-8-on, sed ekzistas ankorau nur
en testaj versioj.

Se vi volas, vi povas skribi en viaj paghoj per UTF-8 chiujn ajn skribsignojn, kiuj
estas en Unikodo. Kiam leganto elektas alian sistemon, la Kameleono tradukas chion
UTF-8-an lau la elektita sistemo.

Rimarku, ke la Kameleono povas traduki de UTF-8 (kaj de UTF-16), sed kiam ghi montras
paghojn Unikode, ghi chiam uzas la numeran skribon. Por la legantoj estas nenia
diferenco.


* LATINO 3 (LAUNORME)

Latino 3 (ISO-8859-3) estas signokodo, kiu enhavas niajn supersignajn literojn. Ili
estas jene skribataj lau Latino 3 (por klareco mi montras dekstre la respektivajn
signonumerojn dekume):

Majuskla C kun cirkumflekso:         (198)
Minuskla c kun cirkumflekso:         (230)
Majuskla G kun cirkumflekso:         (216)
Minuskla g kun cirkumflekso:         (248)
Majuskla H kun cirkumflekso:         (166)
Minuskla h kun cirkumflekso:         (182)
Majuskla J kun cirkumflekso:         (172)
Minuskla j kun cirkumflekso:         (188)
Majuskla S kun cirkumflekso:         (222)
Minuskla s kun cirkumflekso:         (254)
Majuskla U kun hoketo:               (221)
Minuskla u kun hoketo:               (253)

En la chapo de launorma Latino-3-a HTML-pagho vi uzu la jenan indikon pri signokodo:

  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-3" />

Estas kelkaj gravaj atentindajhoj pri Latino 3. Legu nepre ankau la klarigojn en miaj
TTT-paghoj pri (X)HTML kaj Signokodoj. Notu precipe, ke oni ne povas uzi numerajn au
nomajn HTML-kodojn por reprezenti Latino-3-ajn signojn. Iuj tion provas fari, sed tio
estas tute kontrau la normoj, kaj nepre evitenda. Chiuokaze la Kameleono rekonas
Latinon 3 nur se oni uzas simplajn 8-bitajn signojn ghuste lau la chi-antaua tabelo.

Se vi volas en viaj paghoj uzi tiajn signojn, kiuj en Latino 1 (kaj Unikodo)
trovighas en la respondaj kodpozicioj kiel la Esperantaj literoj de Latino 3, vi ja
povas fari tion. Vi povas ekzemple uzi la signon "&aelig;" (la Danan/Norvegan literon
ae-lighajo), kvankam ghi "kolizias" kun la Esperanta c kun cirkumflekso. Bonaj TTT-
legiloj ja povu elturnighi el tiaj kolizioj, sed la realo ankorau ne chiam estas tiom
bela.

Je bezono la Kameleono anstatauigas tiajn koliziajn signojn per surogatoj ("&aelig;" 
-> "ae", "&oslash;" -> "o/" k.t.p.) depende de la kapabloj de la vokanta legilo. Se vi
skribas tiajn signojn per numeraj HTML-kodoj (ekz. &#230;), la Kameleono nenion faros
pri ili (nur simbolajn nomojn kiel "&aelig;" ghi laubezone anstatauigos). Tio donas
al vi la eblon mem elekti, chu entute okazu io pri tiaj signoj. Uzu simbolajn nomojn,
se vi volas, ke la Kameleono zorgu. Alie uzu numerajn.


* LATINO 3 SEN INDIKO PRI SIGNOKODO (NENORME)

Iuj TTT-legiloj tute ne komprenas Latinon 3, sed estas tamen eble uzi Latinon 3 en
tiaj programoj, se la uzanto iel aranghas, ke tiparoj lau Latino 3 estas uzataj
anstatau tiparoj lau Latino 1 (la plej ofta signokodo) - au anstatau alia signokodo,
kiun la legilo ja komprenas (tiam oni fakte trompas la legilon, ke ghi shajnigu
komprenon de Latino 3, kio estas duonajho principe evitenda).

Por iuj tiaj TTT-legiloj povas esti pli oportune uzi nenorman Latinon 3 sen indiko
pri signokodo. Tia Latino 3 funkcias tute same kiel la chi-antaua norma varianto,
krom ke vi ne uzu (veran) indikon pri signokodo en la chapo. Por ke la Kameleono povu
ghuste pritrakti tiajn paghojn, ghi tamen devas ekscii, ke Latino 3 estas uzata, kaj
tial vi uzu la jenan indikon en la chapo:

  <!-- meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-3" -->

Pro la enkonduka "<!--" kaj la fina "-->" tiu linio estas HTML-komento, kaj estas
tial ignorata de HTML-legiloj, sed la Kameleono tamen vidos kaj komprenos, ke vi uzis
Latinon 3.

Mi tamen rekomendas uzi en la bazaj paghoj norman Latinon 3 kun ghusta chapa indiko
pri "ISO-8859-3" (vidu chi-antaue). La Kameleono scias servi nenorman Latinon 3 al
tiuj legantoj, kiuj tion elektas, kaj ghi ankau scias traduki nenorman Latinon 3 en
aliajn sistemojn, sed oni prefere ne publikigu nenormajn HTML-paghojn en la Reto.


* FUNDAMENTA H-SISTEMO: CH, GH... U

La Fundamento de Esperanto difinas oficialan surogatan manieron skribi Esperanton.
Tiun sistemon oni povas uzi, kiam mankas eblo uzi verajn supersignajn Esperantajn
literojn. En tiu sistemo oni skribas postan H anstatau chapelo (cirkumflekso), kaj
tute forlasas la supersignon super U (tiuj chi klarigoj estas skribitaj tiel). Tute
eblas uzi la Fundamentan H-sistemon kiel bazan sistemon de paghoj, kiujn la Kameleono
pritraktu, sed oni devas skribi en tre speciala maniero. La H-sistemo ja ne estas
strikte unusenca. Bone konataj estas tiaj vortoj kiel "longhara", en kiuj "gh" ne
reprezentas g-on kun chapelo, kaj vortoj kiel "neuzebla", en kiuj "u" ne estas
anstatauajho de u kun hoketo. Por ke la Kameleono sciu, kiam traduki, kaj kiam ne
traduki, oni devas skribi en la jena speciala maniero:

Majuskla C kun cirkumflekso:   C&#104;  au  C&#72;
Minuskla c kun cirkumflekso:   c&#104;
Majuskla G kun cirkumflekso:   G&#104;  au  G&#72;
Minuskla g kun cirkumflekso:   g&#104;
Majuskla H kun cirkumflekso:   H&#104;  au  H&#72;
Minuskla h kun cirkumflekso:   h&#104;
Majuskla J kun cirkumflekso:   J&#104;  au  J&#72;
Minuskla j kun cirkumflekso:   j&#104;
Majuskla S kun cirkumflekso:   S&#104;  au  S&#72;
Minuskla s kun cirkumflekso:   s&#104;
Majuskla U kun hoketo:         &#85;
Minuskla u kun hoketo:         &#117;

La kodo &#104; estas HTML-kodo por minuskla "h". &#72; estas kodo por majuskla "H".
&#117; estas kodo por minuskla "u". Kaj &#85; reprezentas majusklan "U". Tiuj kodoj
aperos por la legantoj kiel ordinaraj H, h, U kaj u. Kompreneble tiajn H, h, U kaj u,
kiuj estas tute ordinaraj tiaj literoj, kaj kiuj ne estu tradukataj, oni skribu en
tute normala maniero. Tiel la Kameleono povas traduki tion, kio estas tradukenda, kaj
povas lasi chion alian.

Atentu, ke vi ne forlasu la finajn punktokomojn (;) de tiuj kodajhoj. Iuj TTT-legiloj
akceptas tiajn kodajhojn ankau se mankas la fina punktokomo. La Kameleono tamen ne
rekonos la kodajhojn, se mankas la punktokomoj.


* H-SISTEMO KUN W: CH, GH... W

Iuj preferas uzi ne-Fundamentan varianton de la H-sistemo kun la litero W anstatau U
kun hoketo. Ankau tiu varianto estas ne strikte unusenca. Se oni volas uzi
H-sistemon kun W oni skribu:

Majuskla C kun cirkumflekso:   C&#104;  au  C&#72;
Minuskla c kun cirkumflekso:   c&#104;
Majuskla G kun cirkumflekso:   G&#104;  au  G&#72;
Minuskla g kun cirkumflekso:   g&#104;
Majuskla H kun cirkumflekso:   H&#104;  au  H&#72;
Minuskla h kun cirkumflekso:   h&#104;
Majuskla J kun cirkumflekso:   J&#104;  au  J&#72;
Minuskla j kun cirkumflekso:   j&#104;
Majuskla S kun cirkumflekso:   S&#104;  au  S&#72;
Minuskla s kun cirkumflekso:   s&#104;
Majuskla U kun hoketo:         &#87;
Minuskla u kun hoketo:         &#119;

&#119; estas kodo por minuskla "w". &#87; reprezentas majusklan "W". Kiam W aperas en
ekz. nacilingvaj propraj nomoj, oni uzu ordinaran "w" au ordinaran "W".

Atentu, ke vi ne forlasu la finajn punktokomojn (;) de tiuj kodajhoj. Iuj TTT-legiloj
akceptas tiajn kodajhojn ankau se mankas la fina punktokomo. La Kameleono tamen ne
rekonos la kodajhojn, se mankas la punktokomoj.

Kiam la Kameleono tradukas, ghi traktas la Fundamentan H-sistemon kaj la W-varianton
kiel unu kunan sistemon. Vi povas, se vi volas, miksi tiujn du sistemojn lauplache
ech en unu sama pagho. La Kameleono forigas la nekonsekvencan uzon (ambau
alternativoj tradukighas en la saman formon lau la mendita sistemo). Sed kiam la
pagho estas legata rekte - sen Kameleona prizorgado - la diverseca skribo ja
vidighas.


* X-SISTEMO: CX, GX... UX

La X-sistemo estas alia ne-Fundamenta surogata sistemo por niaj supersignaj literoj.
Ghi estas tre populara, kvankam multaj trovas ghin malbela. Ghi funkcias jene:

Majuskla C kun cirkumflekso:   Cx  au  CX
Minuskla c kun cirkumflekso:   cx
Majuskla G kun cirkumflekso:   Gx  au  GX
Minuskla g kun cirkumflekso:   gx
Majuskla H kun cirkumflekso:   Hx  au  HX
Minuskla h kun cirkumflekso:   hx
Majuskla J kun cirkumflekso:   Jx  au  JX
Minuskla j kun cirkumflekso:   jx
Majuskla S kun cirkumflekso:   Sx  au  SX
Minuskla s kun cirkumflekso:   sx
Majuskla U kun hoketo:         Ux  au  UX
Minuskla u kun hoketo:         ux

Oni devas iom atenti, ke oni ne uzu dosiernomojn lau la X-sistemo. Oni ekzemple ne
nomu HTML-paghon "pagxo1.html". Se tia paghonomo aperas en hiperligo ene de alia
pagho, kaj se la Kameleono tradukas tiun paghon el la X-sistemo en ekz. Latinon 3,
"pagxo1.html" estas shanghita al "pao1.html". Sed la efektiva dosiero ja plu
nomighas "pagxo1.html", kaj tial la hiperligo ne plu funkcios. Oni do simple evitu
tiel nomi paghojn (uzu anstataue ekz. "pagho1.html").

Similan problemon oni povas renkonti, se oni mencias en siaj paghoj nacilingvajn
vortojn (ekz. proprajn nomojn), kiuj enhavas ekz. "ux". Tiaj "ux" ja ne reprezentas
Esperantan literon, kaj tute ne estu tradukataj de la Kameleono. Por solvi tiun
problemon, oni skribu netradukendajn iksojn per la respondaj numeraj HTML-kodoj.
Minuskla "x" = "&#120;". Majuskla "X" = "&#88;".

Plian problemon oni povas renkonti, se oni volas enmeti ligon al pagho de persono,
kiu ne scias (au tute malice ignoras), ke iuj bezonas eviti la X-sistemon en
dosiernomoj. Eble iu havas tute bonegan TTT-paghon kun la nomo "bonega_ttt-
pagxo.html", kaj vi volas en viaj paghoj meti ligon al tiu pagho. Kiel fari por ke la
Kameleono neniam fushu tiun hiperligon? - Feliche estas solvo. Ekzistas maniero
skribi signojn per deksesumaj numeraj kodoj en Retaj adresoj. Tiam oni uzas la signon
"%" plus la respondan deksesuman numeron. Normale tiu sistemo estas uzata nur por ne-
Askiaj signoj, sed ghi funkcias ankau por "x". Lau tiu sistemo "x" = "%78", kaj "X" =
"%58". En ligo al la bonega TTT-pagho vi do skribu "bonega_ttt-pag%78o.html". Tio
estas ege stranga, sed devas chiam funkcii.

Tiajn chi problemojn oni ankau povas solvi esceptante tutajn tekstopartojn de la
tradukado. Vidu chi-antaue che "Esceptado de tekstopartoj".


* X-SISTEMO KUN VX: CX, GX... VX

Iuj preferas uzi varianton de la X-sistemo kun VX anstatau UX, char VX apenau povas
hazarde aperi en nacilingvaj vortoj, dum UX estas sufiche ofta (ekz. en Francaj
nomoj). Cetere V estas historie la sama litero kiel U, kaj ghia origina elparolo (en
Latino) estis la sama kiel nia U kun hoketo.

Krom la uzo de VX chio funkcias same kiel la ordinara X-sistemo. Kiam la Kameleono
tradukas, ghi traktas la ordinaran X-sistemon kaj ghian VX-varianton kiel unu kunan
sistemon. Vi povas, se vi volas, miksi tiujn du sistemojn lauplache ech en unu sama
pagho. La Kameleono forigas la nekonsekvencan uzon (ambau alternativoj tradukighas en
la saman formon lau la mendita sistemo). Sed kiam la pagho estas legata rekte - sen
Kameleona prizorgado - la diverseca skribo ja vidighas.


* ALIAJ SUROGATAJ SISTEMOJ

Homoj elpensis ne malmultajn alternativajn surogatajn sistemojn por la supersignaj
literoj. Krom la jam menciitaj sistemoj, la Kameleono subtenas ankau la sekvajn kvin:

Antauchapela sistemo:

  ^C ^c ^G ^g ^H ^h ^J ^j ^S ^s ^U ^u

Postchapela sistemo:

  C^ c^ G^ g^ H^ h^ J^ j^ S^ s^ U^ u^

Antauchapela sistemo kun tildo:

  ^C ^c ^G ^g ^H ^h ^J ^j ^S ^s ~U ~u

Postchapela sistemo kun tildo:

  C^ c^ G^ g^ H^ h^ J^ j^ S^ s^ U~ u~

Malapostrofa sistemo:

  C` c` G` g` H` h` J` j` S` s` U` u` ("`" havas la dekuman numeron 96 en Askio)

Kiam la Kameleono tradukas, ghi traktas "~u"/"^u" kiel egalajn alternativojn en la
antauchapelaj sistemoj, kaj same "u~"/"u^" kiel egalajn alternativojn en la
postchapelaj sistemoj. Vi do povas libere miksi "~u" kun "^u", kaj same libere miksi
"u~" kaj "u^". La Kameleono forigas la nekonsekvencan uzon (ambau alternativoj
tradukighas en la saman formon lau la mendita sistemo). Sed kiam la pagho estas
legata rekte - sen Kameleona prizorgado - la diverseca skribo ja vidighas.


Problemoj povas aperi rilate la surogaton "~u". Tildoj ofte uzighas en Retaj adresoj,
kaj povas tiam aperi antau "u". Povas esti problemo, se oni volas enmeti ligon al
pagho kun ekz. la jena adreso:

  <http://www.zamenhof.eo/~unuel/index.html>

Kiam la Kameleono tradukas paghon, en kiu estas ligo kun tia adreso, en ekz. Latinon
3, "~unuel" povas transformighi al "nuel", kaj la hiperligo tute ne funkcios. Por
savi la aferon oni uzu tiun saman artifikon, kiun mi priskribis chi-antaue che la X-
sistemo. Tildon, "~", oni povas skribi en Reta adreso kiel "%7E", do:

  <http://www.zamenhof.eo/%7Eunuel/index.html>

Tion la Kameleono neniam tradukas, kaj la ligo devus chiam funkcii. (Fakte shajnas,
ke lau la oficialaj normoj por skribi tiajn adresojn, oni principe _devas_ skribi
tildojn kiel "%7E" en hiperligoj...)

Se vi volas foje uzi alispecajn cirkumfleksojn au tildojn en viaj paghoj, kaj volas
ilin protekti de tradukado fare de la Kameleono, vi povas skribi "^" kiel "&#94;",
kaj "~" kiel "&#126;". Vidu ankau chi-antaue che "Esceptado de tekstopartoj".

--------------------------------------------------------------------------------


9. KIEL INSTALI LA KAMELEONON EN PLI LUKSA STILO?

La chi-antauaj klarigoj estas tute sufichaj por uzi la Kameleonon, kaj por profiti el
ghiaj esencaj avantaghoj. Sed por tiuj, kiuj volas fari al si iom pli da peno, eblas
iom plielegantigi la aferon.


* PLI ELEGANTA ELEKTILO

Oni povas enmeti elektilon, kiu estas iom pli bela, kaj kiu malnecesigas aperigon de
aparta pagho, en kiu la leganto faras sian elekton. Tia pli eleganta elektilo aperas
kiel menuo rekte sur la pagho. La leganto faras sian elekton en tiu menuo, kaj poste
alklakas apudan butonon. Tiam la Kameleono estas alvokata, kaj la pagho tradukighas.
Poste chio iras same automate kiel en la simpla sistemo.

Jen la sama ekzempla HTML-pagho kiel antaue, sed kun pli eleganta elektilo (t.e. pli
eleganta por la leganto - la HTML-kodo estas ja multe pli kompleksa):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Ekzemplo</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<form name="elektilo" target="_top"
 action="http://www.servilo.eo/~nomo/cgi-bin/k.cgi">
<b>Esperantaj literoj:</b>
<select name="m">
 <option value="unik" selected="selected">Unikodo</option>
 <option value="lat3a">Latino 3</option>
 <option value="lat3b">Latino 3 nenorme</option>
 <option value="ghu">ch, gh... u</option>
 <option value="x">c&#120;, g&#120;... u&#120;</option>
 <option value="cgcu">&#94;c, &#94;g... &#94;u</option>
 <option value="gcuc">c&#94;, g&#94;... u&#94;</option>
 <option value="cgtu">&#94;c, &#94;g... &#126;u</option>
 <option value="gcut">c&#94;, g&#94;... u&#126;</option>
 <option value="ghw">ch, gh... w</option>
 <option value="grur">c&#96;, g&#96;... u&#96;</option>
</select> <input type="hidden" name="d" value="ekzemplo.htm" />
<input type="submit" value="Ek!" />
</form>

<hr />

<h1>
Ekzemplo
</h1>

<p>
<a href="alia_pagho1.htm">Ligo</a>.
</p>

<p>
<a href="alia_pagho2.htm">Alia ligo</a>.
</p>

<p>
Esperantaj literoj: e&#293;o&#349;an&#285;o &#265;iu&#309;a&#365;de
E&#292;O&#348;AN&#284;O &#264;IU&#308;A&#364;DE.
</p>

<hr />

</body>
</html>

La sola diferenco inter tiu chi ekzempla pagho kaj la antaua, estas la elektilo. Ghi
tamen devas esti simile adaptita al la aktualaj cirkonstancoj: Anstatau
"http://www.servilo.eo/~nomo/cgi-bin/k.cgi" vi devas meti tiun adreson, kiun oni
devas uzi por voki vian Kameleonon. En la fino de la elektilo aperas "ekzemplo.htm".
Tie estu la nomo de tiu pagho, en kiu la elektilo trovighas. Same kiel en la simpla
sistemo aperu tie la kompleta adreson de la dosiero relative al via bazo loko por
HTML-paghoj. Pri kadro-pagharoj validas la sama afero kiel antaue: Se vi uzas kadrajn
paghojn, vi skribu en la elektilo chiam la nomon de la baza kadrodifina pagho.

La elektilo enhavas la linion:

  <option value="unik" selected>Unikodo</option>

La parto 'selected="selected"' aperas tie, char la pagho uzas Unikodon (kun numera
skribo) kiel bazan sistemon. Se vi uzas alian bazan sistemon, vi devas movi tiun
indikon al la linio, kiu mencias vian bazan sistemon. Se vi ekz. preferas la X-
sistemon kiel bazan sistemon, vi skribu anstataue:

  <option value="x" selected="selected">c&#120;, g&#120;... u&#120;</option>

Kaj ne forgesu shanghi la Unikodan linion al:

  <option value="unik">Unikodo</option>


* PURISMO

Se vi volas ebligi nur Fundamentajn Esperanto-literojn (lau Unikodo, lau Latino 3 kaj
lau la H-sistemo), vi forigu kelkajn el la "option"-linioj de la elektilo. Lasu nur
la jenajn el tiuj linioj, kiuj enhavas la vorton "option":

 <option value="unik" selected="selected">Unikodo</option>
 <option value="lat3a">Latino 3</option>
 <option value="lat3b">Latino 3 nenorme</option>
 <option value="ghu">ch, gh... u</option>

Ankau en la chi-sekvaj variantoj de elektiloj, vi same forlasu "option"-liniojn, se
vi volas purismi.


* ANKORAU PLI ELEGANTA ELEKTILO - KUN IOM DA JAVASKRIPTO

La chi-poste klarigita pli eleganta elektilo tamen devigas al la elektanto dufoje
alklaki: unue en la menuo, kaj due sur la EK-butono. La nun klarigota varianto
forigas la bezonon de butono - per iom da Javaskripto. Tiuj legantoj, kies TTT-legilo
komprenas Javaskripton, ne ricevas butonon. Ili simple elektu en la menuo, kaj poste
chio okazos automate. Aliaj legantoj plu ricevas la butonon, kaj devas ghin alklaki.
Jen ekzempla pagho:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Ekzemplo</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<form name="elektilo" target="_top"
 action="http://www.servilo.eo/~nomo/cgi-bin/k.cgi">
<b>Esperantaj literoj:</b>
 <select name="m" onChange="document.elektilo.submit();">
 <option value="unik" selected="selected">Unikodo</option>
 <option value="lat3a">Latino 3</option>
 <option value="lat3b">Latino 3 nenorme</option>
 <option value="ghu">ch, gh... u</option>
 <option value="x">c&#120;, g&#120;... u&#120;</option>
 <option value="cgcu">&#94;c, &#94;g... &#94;u</option>
 <option value="gcuc">c&#94;, g&#94;... u&#94;</option>
 <option value="cgtu">&#94;c, &#94;g... &#126;u</option>
 <option value="gcut">c&#94;, g&#94;... u&#126;</option>
 <option value="ghw">ch, gh... w</option>
 <option value="grur">c&#96;, g&#96;... u&#96;</option>
</select> <input type="hidden" name="d" value="ekzemplo.htm" />
<noscript>
<input type="submit" value="Ek!" />
</noscript>
</form>

<hr />

<h1>
Ekzemplo
</h1>

<p>
<a href="alia_pagho1.htm">Ligo</a>.
</p>

<p>
<a href="alia_pagho2.htm">Alia ligo</a>.
</p>

<p>
Esperantaj literoj: e&#293;o&#349;an&#285;o &#265;iu&#309;a&#365;de
E&#292;O&#348;AN&#284;O &#264;IU&#308;A&#364;DE.
</p>

<hr />

</body>
</html>

La elektilo ricevis du aldonajhojn, sed vi ne bezonos zorgi pri ili - simple kopiu
ilin rekte. Temas pri la Javaskripta komando
'onChange="document.elektilo.submit();"', kaj la markiloj <noscript>...</noscript>.

La informoj pri adreso al la Kameleono kaj la nomo de la pagho mem ("ekzemplo.htm")
devas kompreneble esti adaptitaj same kiel chiam. Kaj se vi uzos alian bazan
sistemon, vi movu la indikon 'selected="selected"' al la dezirata loko.

(Eble vi miros pri la strangaj manieroj, en kiuj mi ekzempligis la diversajn
sistemojn en la "option"-linioj. Ekz. aperas "ch, gh... u", kvankam oni ja devas la H-
sistemon skribi en tute alia, kaj sufiche stranga, maniero. Inverse aperas la
strangajho "&#94;c, &#94;g... &#94;u" anstatau simpla "^c, ^g... ^u" por la
antauchapela sistemo. Fakte necesas skribi tiel, char tiuj indikoj _ne_ tradukighu.
Necesas ene de la elektilo tute ne uzi la efektivajn sistemojn, sed ion alian, kiu
aspektas tute same.)


* ECH PLI ELEGANTA ELEKTILO - KUN PLI DA JAVASKRIPTO

Chi-poste sekvos pli komplika varianto de elektilo. Ghi enhavas multe pli da
Javaskriptajhoj. Ghi povas esti uzinda che kadraj pagharoj. Kiel mi skribis chi-
antaue: kiam oni elektas sistemon ie en kadra pagharo, chiuj kadroj chiam reiras al
sia origina enhavo. Se oni volas, ke la aktuala enhavo de la kadroj konservighu, oni
povas uzi la sekvan varianton de elektilo. Ghi funkcias tute bone ankau por senkadraj
paghoj, sed tiam ghia konduto tute ne diferencas disde la chi-antaua pli simpla
varianto. Jen ekzemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Ekzemplo</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
</head>
<body>

<script type="text/javascript" src="elektilo.js">
<!--
function e() { document.elektilo.submit(); }
// -->
</script>
<script type="text/javascript">
<!--
var luks = "ne";
if ( (navigator.userAgent.indexOf("Mozilla/4") != -1)
  || (navigator.userAgent.indexOf("Mozilla/5") != -1) ) {
  if (navigator.userAgent.indexOf("Opera") == -1) {
    luks = "jes";
  }
}
// -->
</script>
<p>
<form name="elektilo" target="_top"
 action="http://www.servilo.eo/~nomo/cgi-bin/k.cgi">
<b>Esperantaj literoj:</b>
 <select name="m" onChange='if (luks == "jes" && e)
 { e(); } else { document.elektilo.submit(); }'>
 <option value="unik" selected>Unikodo</option>
 <option value="lat3a">Latino 3</option>
 <option value="lat3b">Latino 3 nenorme</option>
 <option value="ghu">ch, gh... u</option>
 <option value="x">c&#120;, g&#120;... u&#120;</option>
 <option value="cgcu">&#94;c, &#94;g... &#94;u</option>
 <option value="gcuc">c&#94;, g&#94;... u&#94;</option>
 <option value="cgtu">&#94;c, &#94;g... &#126;u</option>
 <option value="gcut">c&#94;, g&#94;... u&#126;</option>
 <option value="ghw">ch, gh... w</option>
 <option value="grur">c&#96;, g&#96;... u&#96;</option>
</select> <input type="hidden" name="d" value="ekzemplo.htm">
<noscript>
<input type="submit" value="Ek!">
</noscript>
</form>
</p>

<hr />

<h1>
Ekzemplo
</h1>

<p>
<a href="alia_pagho1.htm">Ligo</a>.
</p>

<P>
<a href="alia_pagho2.htm">Alia ligo</a>.
</p>

<p>
Esperantaj literoj: e&#293;o&#349;an&#285;o &#265;iu&#309;a&#365;de
E&#292;O&#348;AN&#284;O &#264;IU&#308;A&#364;DE.
</p>

<hr />

</body>
</html>

Aldonighis pluraj strangaj Javaskriptajhoj, sed vi ne bezonos zorgi pri ili - simple
kopiu ilin rekte. La informoj pri adreso al la Kameleono kaj la nomo de la pagho mem
("ekzemplo.htm") tamen devas esti adaptitaj same kiel chiam, kaj la elekto de baza
sistemo per 'selected="selected"' devas esti en la dezirata loko. Chio same kiel
antaue.

Rimarku, ke komence de la Javaskripta elektilo estas la jeno:

  <script type="text/javascript" src="elektilo.js">

La indiko 'src="elektilo.js"' montras al dosiero kun la nomo "elektilo.js", kiu
enhavas grandan parton de la Javaskriptajho. Tiu dosiero, "elektilo.js", estas parto
de tiu chi Kameleona paketo. Vi instalu ghin ie en via TTT-loko (necesas kiel chiam
zorgi pri la ghustaj atingopermesoj - vidu komence de tiu chi instrukcio). Chiufoje,
kiam vi enmetas tian indikon, vi devas skribi la ghustan adreson al la dosiero
"elektilo.js". Se ghi ekz. trovighas en la nivelo super la aktuala dosiero, vi skribu
'src="../elektilo.js"'. Se ghi estas kashita en dosierujo kun la nomo "javaskripto",
vi skribu 'src="javaskripto/elektilo.js"'. Chio lau normalaj reguloj por relativaj
adresoj de dosieroj.

Sed unue necesas adapti unu linion en la dosiero "elektilo.js". Malfermu ghin en
tekstoredaktilo kaj trovu komence la jenan linion:

  var adreso = "http://www.servilo.eo/~nomo/";

Enmetu anstatau "http://www.servilo.eo/~nomo/" tiun http-adreson, kiu validas por
viaj paghoj (kun la fina /-streko, kaj kun la citiloj). Ne tushu aliajn liniojn ene
de "elektilo.js" - krom se vi estas spertegulo pri Javaskripto... Grava noto por
manipulemuloj: La Javaskripta kodo en "elektilo.js" nepre devas trovighi en aparta
dosiero. Ne provu ghin enmeti rekte en la HTML-paghon. Tiam chio fiaskos.

La diversaj TTT-legiloj reagas sufiche diverse al Javaskriptajhoj. Ofte unu sama
programeto povas tute bone funkcii en unu legilo, sed fiaski mizere en alia. Mi
zorgis, ke la pli komplika parto de la Javaskriptajho nur aktivighu en tiuj TTT-
legiloj, kiuj montris ghustan konduton, kiam mi kontrolis. Ghuste nun temas nur pri
"Microsoft Internet Explorer" versioj 4 kaj 5, kaj pri "Mozilo 5" (bazo por la
aperonta versio 5 de la legilo "Netscape Navigator"). Se vi rimarkos problemojn,
nepre raportu al mi. Por aliaj legiloj chio funkcias tute same kiel la antaua pli
simpla Javaskripta varianto. Se vi trovos legilon, kiu frenezighas pro mia
Javaskripta kodo, nepre raportu al mi.

Rimarku, ke la indiko 'value="ekzemplo.htm"' estas nur por tiuj legiloj, kiuj ne uzos
la plej ekstreman Javaskriptajhon. Vi do skribu tie chiam la nomon de via baza
kadrodifina pagho. La plej luksa parto de la Javaskriptajho ignoras tiun informon.


* DIVERSAJ SPECOJ DE KADROJ

La Kameleono scias zorgi pri ordinaraj kadroj difinitaj per la HTML-markoj
<frameset><frame ...><frame ...></frameset>. Sed ekzistas ankau alispecaj kadroj,
kiuj estas difinitaj per <iframe ...>. Eblas uzi ankau tiajn kadrojn, sed ili ne
funkcias tute same perfekte kune kun la Kameleono: Ech se oni uzas la plej luksan
Javaskriptan varianton de la Kameleono, la enhavo de tia kadro chiam reiras al sia
origina enhavo post shangho de sistemo (sed la Esperantaj literoj ghuste
tradukighas). Sed iafoje povas estighi strangaj problemoj (iuj kadroj mistere ne
tradukighas). Tiujn problemojn oni tamen povas facilege eviti: Kiam oni kreas
"iframe"-kadron, oni povas doni al ghi nomon per: name="ia_bela_nomo". (Tiajn nomojn
oni normale donas ankau al ordinaraj kadroj.) Se vi chiam uzas la vorton "iframe"
en la nomo de chiu "iframe"-kadro, la strangaj problemoj ne aperas (char mi enmetis
artifikon en la Javaskriptan kodon). Skribu do ekz.:

  <iframe src="bela_pagho.htm" name="kadro_1_iframe" width="400" height="200"
   scrolling="auto" frameborder="1">Teksto por senkadruloj</iframe>

Anstatau "kadro_1_iframe" vi povas uzi ekz. "iframe1", "supra_iframe_3",
"iframetreimpona" "miaiframebonega" au ion ajn similan - la nomo simple inkluzivu la
litersinsekvon "iframe".

Estas notinde, ke multaj TTT-legiloj ne subtenas "iframe"-kadrojn, kaj tial oni eble
chiuokaze evitu tiajn kadrojn.


* ANKORAU UNU VARIANTO - TRE SPECIALA

Iafoje povas okazi, ke oni havas paghon, en kiu bone povas aperi elektilo de sistemo,
sed nur por tiuj, kies legilo komprenas Javaskripton plej bone. Tiel povas esti, se
la sama HTML-pagho foje devas roli kiel parto de kadraro, kaj alifoje kiel sola
memstara pagho. Tiam la paghonomo, kiu estu menciita en la HTML-kodo de la elektilo,
devas enhavi kaj la nomon de la pagho mem (kiam la pagho estas memstara), kaj la
nomon de la baza kadrodifina pagho (por la kadraj okazoj). Tio ja ne eblas. Nur unu
nomo povas aperi. Oni do devas au fari du versiojn de la sama pagho (kies elektiloj
mencias malsamajn paghonomojn), au oni tute rezignu pri elektilo en tiu pagho - au
oni metu elektilon, kiu aperas nur en la plej kompetentaj Javaskriptaj legiloj.

Mi tial preparis ankorau unu elektilan varianton, kiu aperas nur en tiaj legiloj,
kiuj komprenas mian plej luksan Javaskriptajhon (vidu chi-antaue). En aliaj legiloj
simple ne aperas elektilo. Jen ekzemplo de tia pagho (adaptu ghin per la ghusta
adreso kaj nomo de la Kameleono - sed ne zorgu pri nomo de pagho). La plejparto de la
Javaskripta kodo estas kashita en la dosiero "elektilo.js", kiu devas trovighi kune
kun la pagho (ne provu rekte enmeti tiun kodon en la HTML-paghon!).

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Ekzemplo</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
</head>
<body>

<script type="text/javascript" src="elektilo.js">
</script>
<script type="text/javascript">
<!--
if (enskribi) enskribi();
// -->
</script>

<hr />

<h1>
Ekzemplo
</h1>

<p>
<a href="alia_pagho1.htm">Ligo</a>.
</p>

<p>
<a href="alia_pagho2.htm">Alia ligo</a>.
</p>

<p>
Esperantaj literoj: e&#293;o&#349;an&#285;o &#265;iu&#309;a&#365;de
E&#292;O&#348;AN&#284;O &#264;IU&#308;A&#364;DE.
</p>

<hr />

</body>
</html>

--------------------------------------------------------------------------------
