Portál AbcLinuxu, 6. června 2024 00:53
.po
a jeden .pot
. Viz http://i18n.kde.org/stats/gui/trunk-kde4/team/cs/extragear-network/ (hned první dva soubory v tabulce). Přeložil jsem tedy choqok.po
a potom jsem (v programu Poedit) dal "Aktualizovat z POT souboru" (desktop_extragear-network_choqok.pot
). Dopřeložil jsem nové řetězce a ve výsledném choqok.po
jsou tedy snad všechny (a tím pádem by měly být i v choqok.mo
). (Zkoušel jsem i obyčejně nakopírovat zbývající řetězce z .pot do .po.)
Bohužel ve spuštěné aplikaci se některé přeložené řetězce stále zobrazují v originále. Jde o řetězce, které jsou, podle .po
souboru, v souborech *.desktop
. Jak zařídit, aby se ukazovaly přeložené? Přikládám .po
soubor k nahlédnutí.
package.pot
a se aktualizuje make foo.pot-update
, což dělá vývojář programu.
PO jsou vlastní překlady. Jmenují se normálně jazyk.po
, což identifikuje, pro který jazyk je to překlad. Správně jsi je uvedl do souladu s POT, pokud Poedit dělá, co si myslím (normálně to provde make cs.po
, například, což spustí msgmerge). Takže problém bude nejspíš jen s pojmenováním, choqok.mo
je překlad pro jazyk choqok, ne pro češtinu.
Takže problém bude nejspíš jen s pojmenováním, choqok.mo je překlad pro jazyk choqok, ne pro češtinu.V tom problém určitě není . Nevím, jak v jiných distrech, ale v Debianu, který používám, jsou tyto soubory uloženy v adresáři
/usr/share/locale/cs/LC_MESSAGES/
, který je plný souborů název_programu.mo
. Nehledě na to, že jsem v původním dotazu uvedl, že většina řetězců se v prostředí programu při testování překladu zobrazuje správně, tj. přeloženě - je tedy jisté, že se můj soubor .mo načítá.
Po nainstalování samozřejmě, ne ve zdrojácích...Já nemluvil o zdrojácích. Prostě: můžeš mi věřit, .mo soubor, který jsem vygeneroval z přeloženého .po, se načítá.
V tom případě je otázka, zda je POT soubor aktuální. Můžeš ho zkusit aktualizovat, jak jsem napsal, a pak znovu PO, zda se něco změní.Ještě jednou: V přeloženém souboru .po jsou _všechny řetězce_, žádný tam nechybí. A všechny přeložené. Ale v rozhraní programu se pak některé přeložené řetězce přesto ukazují v originálu.
msgunfmt zdrojovy_mo_soubor > cilovy_po_soubor
. Nevygeneruje se přesný původní .po soubor, nicméně všechny překlady, které aktuálně jsou v .mo, tam uvedeny budou.
Těžko ovšem říci, co Robert přesně dělá...Eh... to jsem to opravdu napsal tak nesrozumitelně? Ačkoliv oceňuji jakoukoliv snahu o pomoc, tak mi připadá, že jsi ten původní dotaz ani moc nečetl. Jde o tohle: Jak přinutit program, aby si z přeloženého .po souboru bral všechny řetězce? Některé bere, některé ne. Ty, které nebere, jsou asi všechny v souborech .desktop.
Co se týká .desktop souborů - tyto jsou vcelku obyčejné texťáky obsahující překlady přímo v čitelné podobě, tudíž jejich zpracování nutně musí být odlišné od klasického .pot--.po--.mo postupu.Jasně, ale vzhledem k tomu, že ty řetězce z .desktop souborů jsou zařazeny do .pot souboru, tak bych očekával, že je správné je překládat tam...
Ke zjištění, jestli nainstalovaný .mo soubor obsahuje příslušné překlady, se dá použít příkaz msgunfmtZapomněl jsem uvést, že jsem tohle kontroloval. Ty řetězce, které se v rámci aplikace při testování zobrazují špatně (anglicky) tam jsou (přeložené).
A third task is taking care of the .desktop and similar files. For those files, Scripty extracts the required information from the file, merges it with the existing translation files, and also copies the translation back into the original file.
msgmerge choqok.po choqok.pot -o vystup.poObcas se stava, ze progam ma nektere retezce sice vyexportovane v po, ale nenacita je. Pdrobnosti neznam, ale proste je to chyba v programu a je treba reportovat bug. Jakmile autor program opravi, jede vse jak ma.
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.