Forum » Programiranje » Večjezični program, API funkcije
Večjezični program, API funkcije
napsy ::
Sestavil sem nakaj C API funkcij za večjezičnost programov. Stvar pa deluje takole:
Najprej ustvarite .txt fajl, ki ima naslednji format:
-------------------------------
orig="Prvotno sporocilo"
i18n="Prevedeno sporocilo"
-------------------------------
Oznaka orig označuje sporočilo v prvotnem jeziku in i18n prevedeno sporočilo. Vsebina mora biti napisana znotraj narekovajev. Seveda so se dovoljeni enovrsticni komentarji s # znakom spredaj
Nato poženite posebni prevajalnik, ki je v ltxtc.c. Ta bo prevedel .txt datoteko v binarni zapis za hitrejše branje pozneje.
Sedaj pa v vašem programu vključite #include ltxt_trans.h. Binarno datoteko odprite s klicem open_file(). Da bi pa zdaj dobili prevedeno sporočilo pa pokličite funkcijo ltxt_get() z originalnim sporočilom(tistim, ki je pri oznaki orig v .txt). Funkcija vrne prevod, če je bil najden.
Seveda je treba opozoriti, da je stvar hudo v alphi in da je še nekaj memory leakov tk da koda še rabi malo tweaka. Stvar je pa pod BSD licenco. Feel free to test.
Download
Najprej ustvarite .txt fajl, ki ima naslednji format:
-------------------------------
orig="Prvotno sporocilo"
i18n="Prevedeno sporocilo"
-------------------------------
Oznaka orig označuje sporočilo v prvotnem jeziku in i18n prevedeno sporočilo. Vsebina mora biti napisana znotraj narekovajev. Seveda so se dovoljeni enovrsticni komentarji s # znakom spredaj
Nato poženite posebni prevajalnik, ki je v ltxtc.c. Ta bo prevedel .txt datoteko v binarni zapis za hitrejše branje pozneje.
Sedaj pa v vašem programu vključite #include ltxt_trans.h. Binarno datoteko odprite s klicem open_file(). Da bi pa zdaj dobili prevedeno sporočilo pa pokličite funkcijo ltxt_get() z originalnim sporočilom(tistim, ki je pri oznaki orig v .txt). Funkcija vrne prevod, če je bil najden.
Seveda je treba opozoriti, da je stvar hudo v alphi in da je še nekaj memory leakov tk da koda še rabi malo tweaka. Stvar je pa pod BSD licenco. Feel free to test.
Download
"If you die, you die. But when you live you live. There is no time to waste."
CCfly ::
Predvidevam da si že slišal za gettext. Zakaj izumljaš toplo vodo ?
"My goodness, we forgot generics!" -- Danny Kalev
napsy ::
Res, slišal sem za gettext. Ampak sem se želel malo poigrati :D
"If you die, you die. But when you live you live. There is no time to waste."
Zgodovina sprememb…
- spremenil: napsy ()
BigWhale ::
Clovek bi si zelel, da bi se ljudje poigravali s stvarmi, ki potrebujejo poigravanje. Gettext je ze ena taka zadeva. Ampak zacenjati from scratch je pa zamudno... ;)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | java net beans pomočOddelek: Programiranje | 1622 (1510) | i33a |
» | :. Ubuntu ::Oddelek: Operacijski sistemi | 2925 (1414) | poweroff |
» | [php] compile php-ja z gettext supportomOddelek: Programiranje | 1129 (1002) | jelly |
» | Linux File Manager - Konqueror (strani: 1 2 )Oddelek: Operacijski sistemi | 4000 (3216) | d0rK |
» | slo-tech slovenjenje (strani: 1 2 3 )Oddelek: Operacijski sistemi | 12601 (9446) | moj_nick |