Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions facililo.css
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,6 @@ textarea {
height: 30vh;
}

#regiloj {
float: right;
}

#montrujo {
clear: right;
border: solid 1px;
Expand All @@ -74,6 +70,7 @@ textarea {

.trefacila { background-color: rgb(192, 255, 192); }
.facila { background-color: rgb(192, 220, 255); }
.landoj { background-color: rgb(254, 255, 192); }
.malfacila { background-color: rgb(255, 192, 192); }

#diskonigujo {
Expand Down
15 changes: 12 additions & 3 deletions facililo.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ for (var i in sufiksojFacilaj) {
arbo = enarbigu(arbo, sufiksojFacilaj[i], 1, 'facila');
}

enarbiguLaŭTipoj(arbo, landojKajPopoloj, 'landoj');
for (var i in mondopartoj) {
arbo = enarbigu(arbo, mondopartoj[i], 1, 'landoj');
}

var FaciliĝuModelo = function(komencaTeksto, redaktebla) {
var self = this;

Expand Down Expand Up @@ -142,7 +147,7 @@ function kontrolu(teksto) {
var vortoRe = /[A-ZĈĜĤĴŜŬa-zĉĝĥĵŝŭ]+/g;
var rezulto;

var teksteroj = [], malfacilaj = [], neTreFacilaj = [], treFacilaj = 0;
var teksteroj = [], malfacilaj = [], landoj = [], neTreFacilaj = [], treFacilaj = 0;
var ek = 0;

while ((rezulto = vortoRe.exec(teksto)) !== null) {
Expand All @@ -160,6 +165,9 @@ function kontrolu(teksto) {
else if (nivelo == 'facila') {
neTreFacilaj.push(vorto);
}
else if (nivelo == 'landoj') {
landoj.push(vorto);
}
else {
malfacilaj.push(vorto);
}
Expand All @@ -171,9 +179,10 @@ function kontrolu(teksto) {
console.log(teksteroj);
return {
alineoj: alineigu(teksteroj),
vortoj: treFacilaj + neTreFacilaj.length + malfacilaj.length,
vortoj: treFacilaj + neTreFacilaj.length + landoj.length + malfacilaj.length,
treFacilaj: treFacilaj,
facilaj: neTreFacilaj,
landoj: landoj,
malfacilaj: malfacilaj };
}

Expand Down Expand Up @@ -274,7 +283,7 @@ function kontroliVorton(vorto) {
}

function pliAltaNivelo(a, b) {
var niveloj = [ 'trefacila', 'facila', 'malfacila' ];
var niveloj = [ 'trefacila', 'facila', 'landoj', 'malfacila' ];
if (niveloj.indexOf(a) > niveloj.indexOf(b))
return a;
else
Expand Down
23 changes: 15 additions & 8 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
<script type='text/javascript' src='knockout-2.2.1.js'></script>
<script type='text/javascript' src='trefacilaj.js' charset='utf-8'></script>
<script type='text/javascript' src='facilaj.js' charset='utf-8'></script>
<script type='text/javascript' src='landoj.js' charset='utf-8'></script>

<link rel="stylesheet" href="facililo.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
Expand Down Expand Up @@ -72,6 +73,7 @@ <h2>Kio estas <em>Facililo</em>?</h2>
<ul>
<li>Verda signo: la vorto aperas en la listo “Tre facila”. </li>
<li>Blua signo: la vorto aperas en la listo “Facila”.</li>
<li>Flava signo: la vorto apertas en la listo de "Landoj kaj popoloj".</li>
<li>Ruĝa signo: la radiko tute ne aperas en la vortlisto. </li>
</ul>

Expand All @@ -80,10 +82,11 @@ <h2>Se aperos la ruĝa signo</h2>
<p>Kiam oni verkas tekston por la retejo uea.facila, se vorto estas
signita ruĝe, necesas ŝanĝi ĝin aŭ aldoni difinon. </p>

<p>Notu tamen, ke krom la radikoj en la listo, oni ankaŭ rajtas uzi la
nomojn de homoj, landoj, lingvoj ks. <em>Facililo</em> signas ilin per
ruĝa signo, ĉar ili ne troviĝas en la listo. Ili tamen estas
akcepteblaj, kaj ne necesas aldoni por ili apartan difinon.</p>
<p>Notu tamen, ke krom la radikoj facilaj kaj tre facilaj, oni ankaŭ
rajtas uzi la nomojn de homoj, landoj, lingvoj ks. <em>Facililo</em>
signas per ruĝa signo la nomon de homoj kaj de pluvortaj landoj (kiel
Sud-Afriko, Nov-Zelando, Sauda Arabio kaj Trinidado kaj Tobago). Ili
tamen estas akcepteblaj, kaj ne necesas aldoni por ili apartan difinon.</p>

<h2><em>Facililo</em> foje miskomprenas</h2>

Expand Down Expand Up @@ -154,17 +157,21 @@ <h2>Ĉu vi havas demandon, komenton, aŭ proponon?</h2>
</p>

<div data-bind="with: kontrolorezulto">
<span class="trefacila">Tre facilaj: <span data-bind="text: treFacilaj"></span></span>
<span class="facila">Facilaj: <span data-bind="text: facilaj.length"></span></span>
<span class="malfacila">Ne en la listo: <span data-bind="text: malfacilaj.length"></span></span>

<div id="regiloj" data-bind="if: $root.redaktebla">
<label id="etikedoMaliksigu"><input type="checkbox" data-bind="checked: $root.maliksigu"> cx → ĉ</label>
<button id="rekontrolu" type="button" data-bind="event: { click: $root.rekontrolu }">Rekontrolu</button>
<button id="forvisxu" type="button" onclick="malplenigasTekstujon()">Forviŝu</button>
<button id="kopiu" type="button" data-clipboard-target="#montrujo">Kopiu</button>
<label id="etikedoMaliksigu"><input type="checkbox" data-bind="checked: $root.maliksigu"> cx → ĉ</label>
</div>

<p>
<span class="trefacila">Tre facilaj: <span data-bind="text: treFacilaj"></span></span>
<span class="facila">Facilaj: <span data-bind="text: facilaj.length"></span></span>
<span class="landoj">Landoj kaj popoloj: <span data-bind="text: landoj.length"></span></span>
<span class="malfacila">Ne en la listo: <span data-bind="text: malfacilaj.length"></span></span>
</p>

<div id="montrujo" data-bind="visible: alineoj.length &gt; 0, foreach: alineoj"><p data-bind="foreach: $data"><span data-bind="
text: tekstero, css: nivelo"></span></p></div>

Expand Down
249 changes: 249 additions & 0 deletions landoj.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
// En la listo enestas du tipoj de vortoj:
//
// - Vortoj finiĝantaj per streketo bezonas vortoklasan finaĵon (-o, -a, -i, -e)
// - Vortoj sen streketoj estas uzeblaj sen finaĵo
//
// La listo de landoj estis unue prenita de la oficiala listo de landnomoj de la
// Akademio de Esperanto (konsltebla sube).
// https://www.akademio-de-esperanto.org/decidoj/landnomoj/listo_de_rekomendataj_landnomoj/
//
// Poste, ĝi estis kontrolita kaj plilanĝigita per klare mankataj vortoj.
// Ekzemple, troviĝis en ĝi la vorto finnlad-, sed ne finn-; estis filipinoj,
// sed ne filipin-; nord-koreio kaj sud-koreio, sed ne kore- kaj korei-.
//
// Popoldevenaj land-nomoj finiĝantaj per "-lando" (ekz. finnland-, skotland-)
// estis forigitaj, ĉar "lando" estas vorto en la kategorio "tre facila" do la
// popolnomo (finn-, skot-) jam sufiĉas por identigi la vorton. Same estis
// farita al "filipinoj", "bahamoj", ktp.
//
// Pro simila rezonado, la popolnomo jam sufiĉas por la identigo de land-nomoj
// finiĝantaj per "-io". Tamen, ĉar estas propono malpermesi la uzon de "-i-"
// vortomeze, ili estis nur komentitaj. Se iam vere okazos la malpermeson de
// "-i-" vortomeze, la landnomoj estos facile realdoneblaj.
//
// Plurvortaj landnomoj (kun aŭ sen streko) estis komentitaj dum la sistemo ne
// kapablas rekoni ilin.
var landojKajPopoloj = [
"afgan-", //"afgani-",
"alban-", //"albani-",
"alĝeri-",
"andor-",
"angl-", //"angli-",
"angol-",
//"antigvo kaj barbudo",
"arab-",
"argentin-",
"armen-", //"armeni-",
"aŭstrali-",
"aŭstr-", //"aŭstri-",
"azerbajĝan-",
"baham-",
"bangladeŝ-",
"barat-",
"barbad-",
"barejn-",
"belg-", //"belgi-",
"beliz-",
"belorus-", //"belorusi-",
"benin-",
"birm-",
"bocvan-",
"bolivi-",
"bosn-",
//"bosnio kaj hercegovino",
"brazil-",
"brit-", //"briti-",
"brunej-",
"bulgar-", //"bulgari-",
"burkin-",
"burund-",
"butan-",
//"centr-afrik-",
"ĉad-",
"ĉeĥ-", //"ĉeĥi-",
"ĉeĥoslovak-", //"ĉeĥoslovaki-",
"ĉili-",
"ĉin-", //"ĉini-",
"dan-", //"dani-",
//"demokratia respubliko kongo",
//"dominika respubliko,
"dominik-",
//"ebur-bord-",
"egipt-", //"egipti-",
"ekvador-",
//"ekvatora gvineo",
"eritre-",
"eston-", //"estoni-",
"etiop-", //"etiopi-",
"fiĝi-",
"filipin-",
"finn-",
"franc-", //"franci-",
"gabon-",
"gambi-",
"gana-",
"german-", //"germani-",
"grek-", //"greki-",
"grenad-",
"gronland-",
"gujan-",
"gvatemal-",
"gvine-",
//"gvineo-bisaŭo",
"ĝibuti-",
"haiti-",
"hind-", //"hindi-",
"hispan-", //"hispani-",
"hondur-",
"hungar-", //"hungari-",
"indonezi-",
"irak-",
"iran-",
"irland-",
"island-",
"israel-",
"ital-", //"itali-",
"jamajk-",
"japan-", //"japani-",
"jemen-",
"jordani-",
"jugoslav-", //"jugoslavi-",
"kaboverd-",
"kamboĝ-",
"kamerun-",
"kanad-",
"kartvel-", //"kartveli-",
"katar-",
"kazaĥ-", //"kazaĥi-",
"kenj-",
"kipr-",
"kirgiz-", //"kirgizi-",
"kiribat-",
"kolombi-",
"komor-",
"kong-",
//"kongo brazavila ",
//"kongo kinŝasa",
"kore-", //"korei-",
"kosov-",
"kostarik-",
"kroat-", //"kroati-",
"kub-",
"kuvajt-",
"laos-",
"latv-", //"latvi-",
"lesot-",
"liban-",
"liberi-",
"libi-",
"liĥtenŝtejn-",
"litov-", //"litovi-",
"luksemburg-",
"madagaskar-",
"makedon-", //"makedoni-",
"malajzi-",
"malavi-",
"maldiv-",
"mali-",
"malt-",
"marok-",
"marŝal-",
"maŭrici-",
"maŭritani-",
"meksik-",
"mikronezi-",
"moldav-", //"moldavi-",
"monak-",
"mongol-", //"mongoli-",
"montenegr-",
"mozambik-",
"namibi-",
"naur-",
"nederland-",
"nepal-",
"niĝeri-",
"niĝer-",
"nikaragv-",
//"nord-koreo",
//"nord-koreio",
"norveg-", //"norvegi-",
//"nov-zelando",
"oman-",
//"orienta timoro",
"pakistan-",
"palaŭ-",
"panam-",
//"papuo-nov-gvineo",
"paragvaj-",
"peru-",
"pol-",
"portugal-", //"portugali-",
//"respubliko kongo",
"ruand-",
"ruman-", //"rumani-",
"rus-", //"rusi-",
"salomon-",
"salvador-",
"samo-",
//"sankta kristoforo kaj neviso",
//"sankta lucio",
//"sankta vincento kaj grenadinoj",
"sanmarin-",
//"santomeo kaj principeo",
//"sauda arabujo",
//"sauda arabio",
"sejŝel-",
"senegal-",
"serb-", //"serbi-",
"siberi-",
"sieraleon-",
"singapur-",
"siri-",
"skot-",
"slovak-", //"slovaki-",
"sloven-", //"sloveni-",
"somal-", //"somali-",
"soveti-",
//"sovet-unio",
"srilank-",
//"sud-afriko",
//"sud-koreujo",
//"sud-koreio",
"sudan-",
"surinam-",
"svazi-",
"sved-", //"svedi-",
"svis-",
"taĝik-", //"taĝiki-",
"taj-",
"tajvan-",
"tanzani-",
"togoland-",
"tong-",
//"trinidado kaj tobago",
"tunizi-",
"turkmen-", //"turkmeni-",
"turk-", //"turki-",
"tuval-",
"ugand-",
"ukrain-", //"ukraini-",
//"unuiĝintaj arabaj emirlandoj",
"urugvaj-",
"uson-",
"uzbek-", //"uzbeki-",
"vanuatu-",
"vatikan-",
"venezuel-",
"vjetnam-", //"vjetnami-",
"zambi-",
"zimbabv-",
]

var mondopartoj = [
"afrik-",
"amerik-",
"antarkt-",
"azi-",
"eŭrop-",
"oceani-"
]