-
Notifications
You must be signed in to change notification settings - Fork 8
Folderul de Strings și declinarea substantivelor
În directorul Strings se află colecții diverse de cuvinte (substantive, ajective, verbe, părți de cuvinte, etc).
În tagurile de script, substantivele adesea trebuie declinate la forma lor corectă. Un exemplu pentru substantivul "chitară":
chitară | Singular | Plural | ||
---|---|---|---|---|
Caz | Nearticulat | Articulat | Nearticulat | Articulat |
Nominativ-Acuzativ | chitară | chitara | chitare | chitarele |
Dativ-Genitiv | chitare | chitarei | chitare | chitarelor |
Acest procedeu e iregulat. Deși există reguli generale de declinare, există și excepții care trebuie luate în considerare.
În engleză schema este mult mai simplă:
guitar | Singular | Plural | ||
---|---|---|---|---|
Caz | Nearticulat | Articulat | Nearticulat | Articulat |
Nominativ-Acuzativ | guitar | the guitar | guitars | the guitars |
Dativ-Genitiv | guitar | of the guitar | guitars | of the guitars |
De observat că procesul este complet regulat, și tot ce trebuie făcut este de adăugat cuvinte înainte sau de sufixat cu un s
cuvântul. Textul în engleză profită de asta prin folosirea de construcții precum of the [instrument]
, the [instrument]s
. În română nu avem acest lux din cauza iregularităților.
Soluția găsită este spargerea fiecărui fișier de Strings tradus în o multitudine de sub-fișiere, fiecare cu o formă de declinare. Scriptul aferent este scripts/create_paradigm.py
. O paradigmă a unui substantiv e colecția tuturor formelor declinate ale ei. O rulare peste Animals.txt
va genera următoarele fișiere:
Animals.txt
Animals
├── Feminine_PluArtDat.txt
├── Feminine_PluArtNom.txt
├── Feminine_PluNatDat.txt
├── Feminine_PluNatNom.txt
├── Feminine_SglArtDat.txt
├── Feminine_SglArtNom.txt
├── Feminine_SglNatDat.txt
├── Feminine_SglNatNom.txt
├── Masculine_PluArtDat.txt
├── Masculine_PluArtNom.txt
├── Masculine_PluNatDat.txt
├── Masculine_PluNatNom.txt
├── Masculine_SglArtDat.txt
├── Masculine_SglArtNom.txt
├── Masculine_SglNatDat.txt
└── Masculine_SglNatNom.txt
Se vor genera și câteva reguli de "include" care trebuie inserate în RulePack_Global.xml
. După ce se generază această paradigmă, se pot accesa formele declinate prin următoarele sintagme. Folosesc exemplul pentru Animals.txt
:
Singular | Plural | |||
---|---|---|---|---|
Caz | Nearticulat | Articulat | Nearticulat | Articulat |
Nominativ-Acuzativ | [Animal] | [Animal_Art] | [Animal_Plu] | [Animal_PluArt] |
Dativ-Genitiv | [Animal_Dat] | [Animal_ArtDat] | [Animal_PluDat] | [Animal_PluArtDat] |
Dacă e important în context genul substantivului, se inserează înainte de _
fie Masculine
sau Feminine
. Omiterea va returna un substantiv de un gen oarecare:
-
[AnimalMasculine_ArtDat]
-> șacalului, boului, ariciului, ... -
[AnimalFeminine_PluArtDat]
-> vacilor, pumelor, maimuțelor, ... -
[Animal_ArtDat]
-> boului, maimuței, pumei, ...