abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 02:22 | Pozvánky

Fedora 31 Release Party, tj. oslava nedávného vydání Fedory 31, se uskuteční ve středu 20. listopadu v Brně. Program přednášek bude upřesněn.

Ladislav Hagara | Komentářů: 0
dnes 01:11 | Nová verze

Příspěvek na blogu webové aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) představuje novinky a ukazuje náhledy nové major verze 1.10.0 této v programovacím jazyce Go naprogramované aplikace. Nově jsou například vedle sebe zobrazovány původní a nové verze obrázků.

Ladislav Hagara | Komentářů: 0
včera 22:33 | IT novinky

Společnost Docker stojící za stejnojmennou kontejnerovou technologií čelila vážným finančním problémům. Stávající investoři do ní ale vložili dalších 35 milionů dolarů a společnost Mirantis odkoupila Docker Enterprise.

Ladislav Hagara | Komentářů: 0
včera 16:11 | IT novinky

Od 24. listopadu bude možné předobjednat přenosný počítač Pocket Popcorn Computer (Pocket P.C.) s 1.2 GHz Quad-Core ARM Cortex-A53 CPU, 2GB DDR3 RAM, 32GB eMMC Memory, 4.95" Full HD IPS LCD a 3200 mAh Removable Battery. Počítač by měl být odesílán v květnu 2020. Předinstalován by měl být Debian 10.

Ladislav Hagara | Komentářů: 23
včera 11:11 | Komunita

Canonical věnoval nadaci UBports další telefony a tablety pro podporu vývoje Ubuntu Touch, tj. Ubuntu pro telefony a tablety. Vybraní vývojáři Ubuntu Touch je mohou získat zdarma.

Ladislav Hagara | Komentářů: 7
včera 09:33 | Zajímavý projekt

Společnost GitHub v rámci svého GitHub Archive Programu vytvoří několik off-line záloh open source softwaru nacházejícího se na GitHubu pro budoucí generace. První taková záloha všech aktivních repozitářů proběhne 2. února 2020 ve spolupráci se společností Pigl na jejich piqlFilmy a uložena bude v Arktickém světovém archivu. Případné obnovení ze zálohy by mělo být možné i za 1 000 let.

Ladislav Hagara | Komentářů: 6
včera 05:55 | Nová verze

Dnes a zítra probíhá v Praze konference Internet a Technologie 19 pořádaná sdružením CZ.NIC. Sledovat ji lze online.

Ladislav Hagara | Komentářů: 1
13.11. 19:44 | Nová verze

Brendan Eich, mj. autor JavaScriptu a několikadenní CEO Mozilly, představil v lednu 2016 webový prohlížeč Brave (Wikipedie, GitHub). Dnes byla vydána verze 1.0 tohoto webového prohlížeče. K dispozici jsou také balíčky pro Linux.

Ladislav Hagara | Komentářů: 11
13.11. 17:11 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 170. brněnský sraz, který proběhne v pátek 15. listopadu od 18:00 v restauraci Vegalité (Slovákova 10).

Ladislav Hagara | Komentářů: 2
13.11. 11:55 | Nová verze

Po půl roce vývoje od vydání verze 5.2 byla vydána nová verze 5.3 svobodného open source redakčního systému WordPress. Kódové označení Kirk bylo vybráno na počest amerického jazzového multiinstrumentalisty Rahsaana Rolanda Kirka.

Ladislav Hagara | Komentářů: 9
Jaké hodinky nosíte (nejčastěji)?
 (24%)
 (7%)
 (14%)
 (55%)
Celkem 147 hlasů
 Komentářů: 10, poslední včera 16:20
Rozcestník

www.AutoDoc.Cz

Dotaz: Více instancí gettextu

31.7.2018 15:18 BoneFlute
Více instancí gettextu
Přečteno: 2055×
Zdravím.

Máme klasický gettext.

Existuje nějaký způsob, jak mět dvě instance pro dva různé jazyky? Tedy abych mohl v jednom obsahu vypsat anglicky i česky zároveň? Samozřejmě bych chtěl ty jazyky zvolit.

Odpovědi

1.8.2018 08:15 debian
Rozbalit Rozbalit vše Re: Více instancí gettextu
Pouzi funkciu/proceduru dcgettext().
2.11. 21:49 BoneFlute
Rozbalit Rozbalit vše Re: Více instancí gettextu
Možná to špatně chápu, ale to je hack, ne? To není možnost, jak zvolit jazyk toho překladu. Nebo mi něco uniká?
4.11. 01:18 debian+
Rozbalit Rozbalit vše Re: Více instancí gettextu
Co chces? Resp. aky riesis problem? V prvotnom dotaze si napisal ako to chces riesit, ale neopisal si aky mas problem a okolite prostredie.
Tedy abych mohl v jednom obsahu vypsat anglicky i česky zároveň?
Jeden obsah coho? programu? hlasky v programe (v label)? Alebo co.

gettex je robeny, ze program ma jeden jazyk (nastavuje sa to cez premennu LANG alebo cez C lokalizacnu funkciu.

Ak chces mat jeden program, ktory jedno okno bude mat v napr. anglctine a druhe v slovencine (tj. jeden C program moze vytvarat okient konko chce), tak mas ten prispevok. Citak v anglictine, je to tam vysvetlene.

Alebo spustaj 2 aplikacia, kde kazda bude v jednom okne (s jednym oknom), a Linuxove alebo GCC pridane varianty a la kill umoznuju aj preposlat data.
4.11. 13:08 BoneFlute
Rozbalit Rozbalit vše Re: Více instancí gettextu
Mám jedno okno, a v něm jsou dva labely. Jeden je v primárním jazyce a druhej v sekundárním. Přičemž chci programově ovlivňovat které jazyky tam jsou. Takže mám slovníky pro češtinu, slovenštinu, angličtinu, a rád bych programově nastavil primárnímu češtinu, a sekundárnímu slovenštinu.

setlocale() nastavuje jeden jazyk pro celou aplikaci, ne?

A ta funkce dcgettext() přidává k těm řetězcům jakože doménu, kontext. Což bych samozřejmě mohl znásilnit tak, že bych udělal jako doménu jazyk, ale to mi přijde ošklivé (budu mět v českém slovníku české, slovenské a anglické překlady).

A nebo jsem tu funkci nepochopil?

4.11. 15:26 debian+
Rozbalit Rozbalit vše Re: Více instancí gettextu
dcgettext() zle si pochopil. Domenove meno je jednoznacny identifikator jazyka, ktory pouziva kniznica. Zrejme asi napr. sk_SK. To ze mi sa na to divame, ze je to subor,, je nas pohlad. On si to musi z niekadial nacita. Nie je podstatne z kadial, hlavne ze tie data dostatne, zoznam co ma na co nahradzat a ich ma. dcgettext() sluzi na striktne urcenie, kt. jazyk ma nacitat (ignoruje globalne nastavenie, ze aky je jazyk).

setlocale aj nastavuje v tom okamihu pre celu aplikaciu (nastavanie cisiel, format datumu atd). Musel by si prepinat.

Alebo si to naprogramuj sam. Zo suboru nacitas definicie pre kazdy jazyk a v programe volas ktoru potrebujes. Nie je to tazke. Mozes tak urobit, pokial len pouzivas label/string preklad (nie napr. datum format, kalendar, atd.).
4.11. 17:12 BoneFlute
Rozbalit Rozbalit vše Re: Více instancí gettextu
OK, zkusím si s tím pohrát, díky.

Já vím, že si to můžu naprogramovat. Ale to já právě nechci. Už takhle trpím na NIH :-)
4.11. 19:17 debian+
Rozbalit Rozbalit vše Re: Více instancí gettextu
NIH?
4.11. 21:07 BoneFlute
Rozbalit Rozbalit vše Re: Více instancí gettextu
https://en.wikipedia.org/wiki/Not_invented_here
4.11. 13:10 BoneFlute
Rozbalit Rozbalit vše Re: Více instancí gettextu
Z té wikiny, citace:
C standard localization functions are criticized because ... As a result, it is very difficult to implement programs that use more than one locale.
To bude asi můj problém.
4.11. 18:38 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Více instancí gettextu
Pokud chceš víc než jen hledat v katalogu zpráv jako ve slovníku, například potřebuješ naformátovat hlášku s desetinným číslem, budeš stejně potřebovat měnit locale. POSIX v roce 2008 přidal uselocale(3) pro nastavení locale pro každé vlákno programu zvlášť. Ale jestli všechno máš v jednom vlákně, tak prostě volej setlocale(3).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.