GNU gettext Smazaní překladu

Karel.L

GNU gettext Smazaní překladu
« kdy: 27. 04. 2017, 14:15:59 »
Dobrý den,

Dělám na vlastním překladu pro jeden projekt,
Dostanu se pouze k souboru "name.po" ve kterém už je existující překlad.
Hledám příkaz který smaže překlad ze souboru a zanechá pouze původní text.

Našel jsem toto: https://mlocati.github.io/articles/gettext-iconv-windows.html

Bohužel to má ale šílenou dokumentaci a nemohu najít příkaz a přepínač který by to dokázal...

Žádám o pomoc děkuji.


ava

Re:GNU gettext Smazaní překladu
« Odpověď #1 kdy: 27. 04. 2017, 14:41:40 »
Dobrý den,

Dělám na vlastním překladu pro jeden projekt,
Dostanu se pouze k souboru "name.po" ve kterém už je existující překlad.
Hledám příkaz který smaže překlad ze souboru a zanechá pouze původní text.

Našel jsem toto: https://mlocati.github.io/articles/gettext-iconv-windows.html

Bohužel to má ale šílenou dokumentaci a nemohu najít příkaz a přepínač který by to dokázal...

Žádám o pomoc děkuji.

No a co ten soubor otevřít v textovém editoru a prostě upravit?

Karel.L

Re:GNU gettext Smazaní překladu
« Odpověď #2 kdy: 27. 04. 2017, 14:50:13 »
Já nemám problém s tím že bych soubor nemohl upravit na to používám Poedit.
Ale potřebuji smazat původní překlad kvůli aktualizačním a synchronizačním procesům.

ava

Re:GNU gettext Smazaní překladu
« Odpověď #3 kdy: 27. 04. 2017, 14:54:52 »
Omlouvám se, nechápu co chcete. .po soubor obsahuje dvojice překladový klíč - překlad. Co chcete udělat? Co myslíte tím "původní překlad" ?

Můžete nahradit překlad tím původním klíčem, jestli to myslíte takhle... nebo celý pár úplně smažte, jestli je SW správně implementovaný, použije původní klíč.

Smazání se dá provést v libovolném textovém editoru. Jen bokem, já na překládání používám Virtaal, moc se mi líbí.

Lol Phirae

Re:GNU gettext Smazaní překladu
« Odpověď #4 kdy: 27. 04. 2017, 14:55:22 »
Omlouvám se, nechápu co chcete.

To je nás víc...  ::) ;D


Karel.L

Re:GNU gettext Smazaní překladu
« Odpověď #5 kdy: 27. 04. 2017, 15:53:15 »
.po soubor obsahuje původní text a potom překlad (chci smazat ten překlad)
pomocí příkazu s použitím https://mlocati.github.io/articles/gettext-iconv-windows.html

Pak si na to udělám .bat soubor.

Lol Phirae

Re:GNU gettext Smazaní překladu
« Odpověď #6 kdy: 27. 04. 2017, 16:05:09 »
.po soubor obsahuje původní text a potom překlad (chci smazat ten překlad)

Tak ho smaž, no... co ti v tom furt brání?

https://www.gnu.org/software/gettext/manual/html_node/msgattrib-Invocation.html

Karel.L

Re:GNU gettext Smazaní překladu
« Odpověď #7 kdy: 27. 04. 2017, 16:20:24 »
Lol Phirae: Trochu korektnosti by ti neuškodilo

Jestli to chápu dobře mělo by to být takhle ale stále mi to nějak nejde.

"start msgattrib --untranslated -D C:\Users\Windows\Desktop\test\name.po"

Ucitel

Re:GNU gettext Smazaní překladu
« Odpověď #8 kdy: 27. 04. 2017, 16:28:01 »
To neni moc dobry napad smazat originalni preklad. Duvod je prosty. I vas preklad by mel mit podobnou delku stringu nez puvodni, jinak se vam muze stat, ze rozbijete design a neco nekde pretece nebo se nevejde. My prekladatelum proto stale davame i originalni verzi, tu zakomentuji a dopisou svuj preklad.

Lol Phirae

Re:GNU gettext Smazaní překladu
« Odpověď #9 kdy: 27. 04. 2017, 16:29:47 »
stále mi to nějak nejde

Nevim co do toho motáš nějakej start a hlavně co ti nejde. To je fakt popis jako stehno.

Karel.L

Re:GNU gettext Smazaní překladu
« Odpověď #10 kdy: 28. 04. 2017, 03:45:46 »
Takže už vím, určitě co hledám a potřebuji.

Potřebuji soubor "name.po" převést na "name.pot" což je verze souboru pro překlad a aktualizaci.
Mělo by se to dělat tímto příkazem:
"msgfilter.exe -i name.po -o new.pot true"

Problém je že mi to hodilo Error: https://ctrlv.cz/shots/2017/04/28/RVuY.png
A přiznám se, ne úplně chápu tento problém...

Místní znaková sada "CP1250" je ta co používá můj počítač "Windows"?
A vstupní souborová sada znaků "UTF-8" je ta co má soubor v sobě?
A aplikace msgfilter pracuje proto nesprávně?

Soubor "name.pot" má "EN" a "SK" překlad.
Když ho převedu na "name.pot", zůstane pouze "EN" původní text.
Jestli se nepletu to "UTF-8" je chybou toho "EN" původního textu a ne toho "SK" překladu.

".pot" soubor bych pak chtěl použít pro překlad do češtiny.

Jak mám tedy postupovat se změnou znakové sady?

BACHA

Re:GNU gettext Smazaní překladu
« Odpověď #11 kdy: 28. 04. 2017, 07:44:13 »
A je je Lol Phirae zase nekomu radi  ;D
Hold profik se pozna prodava to nejmodernejsi technologii.



Karle moc od nej necekej spise vubec nic :-D

ava

Re:GNU gettext Smazaní překladu
« Odpověď #12 kdy: 28. 04. 2017, 08:39:44 »
Takže už vím, určitě co hledám a potřebuji.

Potřebuji soubor "name.po" převést na "name.pot" což je verze souboru pro překlad a aktualizaci.
Mělo by se to dělat tímto příkazem:
"msgfilter.exe -i name.po -o new.pot true"

Problém je že mi to hodilo Error: https://ctrlv.cz/shots/2017/04/28/RVuY.png
A přiznám se, ne úplně chápu tento problém...

Místní znaková sada "CP1250" je ta co používá můj počítač "Windows"?
A vstupní souborová sada znaků "UTF-8" je ta co má soubor v sobě?
A aplikace msgfilter pracuje proto nesprávně?

Soubor "name.pot" má "EN" a "SK" překlad.
Když ho převedu na "name.pot", zůstane pouze "EN" původní text.
Jestli se nepletu to "UTF-8" je chybou toho "EN" původního textu a ne toho "SK" překladu.

".pot" soubor bych pak chtěl použít pro překlad do češtiny.

Jak mám tedy postupovat se změnou znakové sady?

Podle chybové hlášky to vypadá, že .po soubor je kódován UTF-8 (jak originál, tak SK překlad, ale v anglické verzi nejspíš budou jen ASCII znaky, pokud tam není třeba euro, řecká písmena nebo tak), což je dobrá volba.

Vaše prostředí běží v CP1250, nejspíš stará windows? což je dost bídná volba (od MS), ale co se dá dělat.

msgfilter zřejmě pro kódování výstupního souboru volí stejné kódování jako má systém, takže nadává, že se kódování vstupního souboru liší od výstupního.

Sám vám nabízí jak na to, když si přečtete chybovou hlášku. Cesty jsou dvě a jsou obě zjevné. Buď se změní systémoé kódování na UTF8 (na windows neumím, třeba na to nějak přijdete), nebo se soubor dočasně překóduje do CP1250 (pomocí msgconv), pak na to pustíte msgfilter, a pak si pomocí msgconv překonvertujete .pot zpět.

Druhou cestou se můžete dát jen když původní anglické hlášky neobsahují znaky mimo CP1250. https://en.wikipedia.org/wiki/Windows-1250

Karel.L

Re:GNU gettext Smazaní překladu
« Odpověď #13 kdy: 28. 04. 2017, 09:55:13 »
Mám Windows 7, a pochybuji že jde změnit nějak, systémově znakovou sadu na UTF8.
Možná se nějak znaková sada dá změnit jen pro ten program "msgfilter" ale nechápu jak by se to dalo udělat.

Možná budu muset udělat to druhé řešení ale dám si 5piv abych našel ty příkazy :-D

Jinak moc děkuji za pomoc, kdyby vás ještě něco napadlo napište :-)



Karel.L

Re:GNU gettext Smazaní překladu
« Odpověď #14 kdy: 28. 04. 2017, 09:58:13 »
Ještě se chci zeptat, kdybych použil tu druhou metodu existuje nějaká tabulka znaků, které se nepřevádí a které bych tak mohl ztratit při konvertování?