-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Bonvenon al la Vikio de la Esperanta Lingvo-pakaĵo!
Tra ĉi tiu Vikio ni montros kiel ni organizis nin mem por krei la Esperantan pakaĵon.
Enhavo |
---|
Kial ni decidis renovigi la jam ekzistantan Esperanto-pakaĵon? |
Kontakto |
Komenco |
Klavaro |
Sciu ke jam ekzistis antaŭa pakaĵo por AnySoftKeyboard, kiu troveblas (almenaŭ kiam ni verkis ĉi tion) kaj en F-droid, kaj en Google Play.
Tamen, la kialoj pro kiuj ni decidis renovigi la pakaĵon estas diversaj:
- Ne-oficialeco de la pakaĵo laŭ AnySoftKeyboard: La pakaĵo ne aperas en la listo de lingvo-pakaĵoj el la oficiala retpaĝo de la projekto.
- Ne-trovebleco de la kodo. La nura alproksimo al tio kion ni trovis estas la klarigoj pri kiel la kreinto kreis la vortaron el Vikipedio (kvankam kun ne ĝisdatigitaj kaj malalireblaj ligiloj kaj dosieroj, ĝi estas de antaŭ presakŭ 10 jaroj, 2011)
-
Ne-taŭgeco de la klavaraj aranĝoj pro la jenaj kialoj:
- Mankis pli internaciaj klavaro-aranĝoj, tiuj kiel QWERTZ, AZERTY kaj Dvorak
- Nur estis unu aranĝo, QWERTY-tipan, kiu ankaŭ havis (laŭ ni) mallogikan lokadon de la esperantaj literoj
- En ĝia aranĝo, en la plej malsupran linion la kreinto enmetis unu pli klavon, kio kreis malkomforton kiam oni uzis la Esperantan klavaron kune kun ali-lingvaj pakaĵoj, ŝanĝante inter ili.
Tial ni decidis krei novan pakaĵon kiu plibonigos tiujn aferojn kaj profitos la jam ekzistantajn por havigi kompletan kaj ĝisdatigitan, taŭgan pakaĵon de Esperanto.
Por komenci verki novan lingvan pakaĵon aŭ simple renovigi jam ekzistantan, sekvu ĉi tiun gvidon, kiu donos ne tre klarigan eksplikadon (kiam ni verkis ĉi tiun Vikion).
La klavaro-aranĝoj estas en src/main/res/xml/
dosierujo. Tie vi trovos kelkajn dosierojn, sed vi nun nur kontrolu qwerty.xml
. Tiu estas ŝablono kiu klarigas la kreadon de aranĝoj (kaj en kiu troviĝas la origina angla klavaro).
La klavaro-aranĝoj, do, estos verkitaj en .xml dosieroj, per la jenaj instrukcioj:
Key attributes:
"android:codes" : a comma separated unicode values of the keys. If you specify more than one code, then the other codes are accessible via multi-tap. "android:popupCharacters" : characters to show on long-press popup keyboard "android:keyLabel" : the text to show on the key. If this attribute is missing, the first code in "android:codes" will be used. "android:horizontalGap" : gap to add to the left of this key. "android:isModifier" : true/false (default is false) whether this key is a modifier key. Means it will be rendered with a differnt background (shift, delete are example of modifier key) "android:isRepeatable" : true/false (default is false) whether this key repeats printing on long press (like the backspace). Setting this to true will disable the long-press (android:popupCharacters) functionality "android:keyWidth" : specify the width of this key
Ni nun klarigos ĉiun detale.
Klavaro |
---|
Strukturo |
:codes |
:popupCharacters |
:keyLabel |
:horizontalGap |
:isModifier |
:isRepeatable |
Ĉi tiuj dosieroj havas konkretan strukturon:
- Oni uzas
<Keyboard>
por komenci klavaron kaj</Keyboard>
por fini ĝin. - Oni uzas
<Row>
por komenci klavaran linion kaj</Row>
por fini ĝin. - Oni uzas
<Key
por ekverki informacion pri klavo kaj finigas la instrukcioj per/>
Inter tiuj du komencigaj kaj finigaj struktureroj oni metas specizigajn komandetojn, klarigitaj malsupre.
Ĉi tiuj estas nombroj kiuj havas ĉiu litero subtenata de Unicode. Tamen, ŝajne ili ne uzas Unicode nombrojn, sed HTML-kodoj. Oni devos aldoni la nombron ĝuste post la egalsigno (=) kaj inter citilo-signoj ("). Jen ekzemplo:
android:codes="115"
Tio asignos la literon "s" al tiu klavo. Ne endas aldoni :keyLabel
parametron poste, ĉar se mankas tiu parametro la klavo montros la karakteron specizigitan en :codes
senprobleme, sed indas aldoni tian parametron poste por pli bona kompreno de iu ajn kiu kontrolos la kodon. Vidu :keyLabel
Vi povas serĉi la nombrojn korespondajn al ĉiu karaktero ĉi tie: https://unicode-table.com/en/
Ĝi havas duvojan serĉeblon:
- Tajpu literon kaj ĝi montros la numeron
- Tajpu numeron kaj ĝi montros la literon
Ĉi tiuj estas karakteroj montrotaj kiam oni premtenos klavon. Por konkretigi kiujn karakterojn montros en ĉiu klavo per ĉi tiu metodo, simple skribu la karakterojn volatajn. Oni ne bezonas skribi la nombron de la karaktero, sed, simple, la karakteron mem. Oni devos aldoni la karakterojn ĝuste post la egalsigno (=) kaj inter citilo-signoj ("). Jen ekzemplo:
android:popupCharacters="§ßśŝš
Tio montrigos tiujn karakterojn kiam oni premtemos klavon. Ili elmontriĝos maldekstre-dekstren (→) komence de la loko de la origina klavo, en la sama ordo en kiu vi verkis ilin en la kodo.
Tamen, kiam ili ne havos sufiĉan spacon por elmontriĝi en tia ordo (la unua karaktero verkita en la kodo ĝuste super la origina klavo), la karaktero super la origina klavo estos la plej dekstran: la ordo invesiĝos kaj estos dekstre-maldekstren (←).
Por trovi bezonatajn karakterojn, simple kopiu ilin kaj algluu ĉi tien. Vi ankaŭ povas serĉi ilin en https://unicode-table.com/en/
Ĉi tiu estas parametro kiu specizigos kiu karaktero estos montrata en ĉiu klavo. Se oni preterlasas ĉi tiun komandeton, la karaktero konkretigita en :codes estos montrata. Oni devos aldoni la karakterojn ĝuste post la egalsigno (=) kaj inter citilo-signoj ("). Jen ekzemplo:
android:keyLabel="s"
Por trovi bezonatajn karakterojn, simple kopiu ilin kaj algluu ĉi tien. Vi ankaŭ povas serĉi ilin en https://unicode-table.com/en/
Ĉi tiu parametro precizigos kiom da senplena spaco estos maldekstre de tiu klavo.
Oni devos aldoni la valoron ĝuste post la egalsigno (=) kaj inter citilo-signoj ("). La valoro devas havi ĉi tiun strukturon: "Nombro%p"
Jen ekzemplo:
android:horizontalGap="5%p"
Notu ke "5%p" estos mezo de klavo kiam ĝi estos specizigite kiel "10%p"
en :keyWidth.
Ĉi tiu estas pli kompleksa parametro. Temas pri bulea (vera/falsa) parametro kiu konkretigos ĉu tiu klavo estos modifiga, kio signifas ke ĝi ne montriĝos per si mem, sed ke ŝanĝos alian karakteron iamaniere.
La defaŭlta valoro de ĉi tiu klavo estas False
, do principe ĝi ne estos aktiva kaj oni devos ŝanĝi ĝian valoron al True
por ke ĝi iĝu aktiva.
Ekzemploj de ĉi tiu parametro estas kaj majuskliga klavo, kiu ŝanĝos sekve tajpotan karakteron majusklen, kaj forpreniga klavo, kiu ŝanĝos la antaŭan karakteron al nulspaca. Oni devos aldoni la bulean valoron ĝuste post la egalsigno (=) kaj inter citilo-signoj ("). Jen ekzemplo:
android:isModifier="true"
Ĉi tiu estas ankaŭ pli kompleksa parametro, kiu precizigos ĉu tiu klavo presos ĝian karakteron kiam oni premtenos ĝin. Ekzemplo de ĉi tio estas forpreniga klavo, kiu presas (forprenas aliajn) ĝian karakteron kiam oni premas ĝin dum iom da tempo.
Ĉi tiu parametro estas bulea kaj defaŭlte estas False
, do oni devos ŝanĝi ĝin por ke ĝi aktiviĝu.
AVERTO! Ŝanĝi valoron de klavo al True
malaktivigos ajnan :popupCharacters parametron.
Oni devos aldoni la bulean valoron ĝuste post la egalsigno (=) kaj inter citilo-signoj ("). Jen ekzemplo:
android:isRepeatable="true"
[ Elprenita kaj ĝisdatigita de https://wiki.apertium.org/wiki/Vikipedia_korpuso_de_Esperanto#Instrukcioj ]
Jen instrukcioj por eltiri la esperantlingvan vikipedion kaj krei tekstaron de ĝi.
Vi bezonas uzi GNU/Linux aŭ alian UNIX-bazitan sistemon (ekz Mac OS X).
Unue, elŝutu https://svn.code.sf.net/p/apertium/svn/trunk/apertium-tools/WikiExtractor.py kaj la esperantlingva vikipedio:
wget https://svn.code.sf.net/p/apertium/svn/trunk/apertium-tools/WikiExtractor.py
wget http://download.wikimedia.org/eowiki/latest/eowiki-latest-pages-articles.xml.bz2
Poste, faru
python3 WikiExtractor.py --infn eowiki-latest-pages-articles.xml.bz2
cat wiki.txt | grep -e '..................................................' | grep -v "|" | grep -v "''" | grep -v "\[" | grep -v "#" | grep -v "*" | grep -v "@" | grep -v """ > eowiki-purigita.txt
cat eowiki-purigita.txt | sort -fiu | sort -R | nl -s ". " > eowiki.crp.txt
La grep-komandoj elektas frazojn de minimuma longo de 50 signoj kaj forpurigas frazojn kun kursivaj vortoj (ofte alilingvaj) kaj kun diversaj signoj netauxgaj. La sort-komandoj ne estas strikte necesa. Ili ordigas kaj trovas nur unikajn liniojn, kaj poste ordigas hazarde (miksas la tekston). La komando nl -s ". " kaj aldonas liniajn numerojn.
Aliĝu al nia Telegrama grupo: https://t.me/ASKEsperanto
Enhavo |
---|
Kial ni decidis renovigi la jam ekzistantan Esperanto-pakaĵon? |
Komenco |
Klavaro |
Vortlisto |
Kontakto |
Klavaro - Enhavo |
---|
Strukturo |
:codes |
:popupCharacters |
:keyLabel |
:horizontalGap |
:isModifier |
:isRepeatable |
:keyWidth |
Aldonaĵo |
Vortlisto - Enhavo |
---|
Unue |
Tekstaro el Vikipedio |
Kio post ol ni havas tekstaron, vortliston aŭ ion ajn? |