sMobile ? "width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0" : "width=1100"' name='viewport'/> android xda: translation
Showing posts with label translation. Show all posts
Showing posts with label translation. Show all posts

Friday, 15 August 2008

man2po2tmx2po2man \n bug


Tento zápisek slouží pouze jako podklad pro bugreport. Navíc je anglicky.

This entry is just an attachment to a bugreport. Nothing interesting here.




My goal is to move the current Linux manual pages translation framework (translating to czech) to OmegaT. As OmegaT handles .properties and .po files only, I'm using po4a to transform the man pages to po files and back. To ease the transition I'm creating translation memories from existing translations using po2tmx.



The original en/intro.1 looks like this:

...
.BI "knuth login: " aeb
.BI "Password: " ********
.BI "% " date
Tue Aug 6 23:50:44 CEST 2002
.BI "% " cal
August 2002
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
.BI "% " ls
...

Its czech translation cs/intro.1 looks like this:
...
.BI "knuth login: " aeb
.BI "Password: " ********
.BI "% " date
Út Srp 6 23:50:44 CEST 2002
.BI "% " cal
Srpen 2002
Ne Po Út St Čt Pá So
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
.BI "% " ls
...


This is how it looks when viewed using man en/intro.1 or man cs/intro.1:





To create a po file from the man pages I use the following command:

$ po4a-gettextize -f man -m en/intro.1 -l cs/intro.1 -L utf8 -p intro.1.po

The relevant part of the created intro.1.po file looks like this:
...
# type: Plain text
#: en/intro.1:106
#, fuzzy, no-wrap
msgid ""
"B<knuth login: >I<aeb>\n"
"B<Password: >I<********>\n"
"B<% >I<date>\n"
"Tue Aug 6 23:50:44 CEST 2002\n"
"B<% >I<cal>\n"
" August 2002\n"
"Su Mo Tu We Th Fr Sa\n"
" 1 2 3\n"
" 4 5 6 7 8 9 10\n"
"11 12 13 14 15 16 17\n"
"18 19 20 21 22 23 24\n"
"25 26 27 28 29 30 31\n"
msgstr ""
"B<knuth login: >I<aeb>\n"
"B<Password: >I<********>\n"
"B<% >I<date>\n"
"Út Srp 6 23:50:44 CEST 2002\n"
"B<% >I<cal>\n"
" Srpen 2002\n"
"Ne Po Út St Čt Pá So\n"
" 1 2 3\n"
" 4 5 6 7 8 9 10\n"
"11 12 13 14 15 16 17\n"
"18 19 20 21 22 23 24\n"
"25 26 27 28 29 30 31\n"
...

I have to remove the ', fuzzy' indications that were automatically inserted by po4a, otherwise po2tmx would ignore all the messages:
$ sed -i 's/, fuzzy//' intro.1.po

Because of bug 2021007 in OmegaT, I also have to remove the strings ', no-wrap' from the po file:
$ sed -i 's/, no-wrap//' intro.1.po

Then I create a tmx file from the po file:
$ po2tmx -l cs -i intro.1.po -o intro.1.tmx

The relevant part of the intro.1.tmx file looks like this:
...
<tu>
<tuv xml:lang="en">
<seg>B&lt;knuth login: &gt;I&lt;aeb&gt;
B&lt;Password: &gt;I&lt;********&gt;
B&lt;% &gt;I&lt;date&gt;
Tue Aug 6 23:50:44 CEST 2002
B&lt;% &gt;I&lt;cal&gt;
August 2002
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
</seg>
</tuv>
<tuv xml:lang="cs">
<seg>B&lt;knuth login: &gt;I&lt;aeb&gt;
B&lt;Password: &gt;I&lt;********&gt;
B&lt;% &gt;I&lt;date&gt;
Út Srp 6 23:50:44 CEST 2002
B&lt;% &gt;I&lt;cal&gt;
Srpen 2002
Ne Po Út St Čt Pá So
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
</seg>
</tuv>
</tu>
...

Then I launch OmegaT, select 'Project'->'New' and give 'manpagestest' as the new project's name. The Source files language is en-us, target language is cs. Sentence-level segmenting is disabled. I quit the project.

Then I copy the tmx to the project:
$ cp intro.1.tmx manpagestest/tm/

Then I create an english po file from the original man page and place it to the source directory of the project:
$ po4a-gettextize -f man -m en/intro.1 -p manpagestest/source/intro.1.po


Then I launch OmegaT, open the manpagestest project and click on the intro.1.po file to edit it. When I change to the message containing the calendar, I can see that the suggested translation (based on the tmx) is not 100% as with other strings, it's only 67 % :



Still hoping it will turn out ok I put the fuzzy match as new translation:



save the project and click 'Project'->'Create translated documents'. I close OmegaT now.


The relevant part of the translated manpagestest/target/intro.1.po file now looks like this:

...
# type: Plain text
#: en/intro.1:106
#, no-wrap
msgid ""
"B<knuth login: >I<aeb>\n"
"B<Password: >I<********>\n"
"B<% >I<date>\n"
"Tue Aug 6 23:50:44 CEST 2002\n"
"B<% >I<cal>\n"
" August 2002\n"
"Su Mo Tu We Th Fr Sa\n"
" 1 2 3\n"
" 4 5 6 7 8 9 10\n"
"11 12 13 14 15 16 17\n"
"18 19 20 21 22 23 24\n"
"25 26 27 28 29 30 31\n"
msgstr B<knuth login: >I<aeb>
B<Password: >I<********>
B<% >I<date>
Út Srp 6 23:50:44 CEST 2002
B<% >I<cal>
Srpen 2002
Ne Po Út St Čt Pá So
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
...

Obviously this is already wrong but for the sake of the experiment, I'm going on:
$ po4a-translate -f man -m en/intro.1 -p manpagestest/target/intro.1.po -l intro.cs.1
...
manpagestest/target/intro.1.po:134: (po4a::po)
Strange line: --><--
manpagestest/target/intro.1.po:165: (po4a::po)
Strange line: -->msgstr B<knuth login: >I<aeb><--
manpagestest/target/intro.1.po:166: (po4a::po)
Strange line: -->B<Password: >I<********><--
manpagestest/target/intro.1.po:167: (po4a::po)
Strange line: -->B<% >I<date><--
manpagestest/target/intro.1.po:168: (po4a::po)
Strange line: -->Út Srp 6 23:50:44 CEST 2002<--
manpagestest/target/intro.1.po:169: (po4a::po)
Strange line: -->B<% >I<cal><--
manpagestest/target/intro.1.po:170: (po4a::po)
Strange line: --> Srpen 2002<--
manpagestest/target/intro.1.po:171: (po4a::po)
Strange line: -->Ne Po Út St Čt Pá So<--
manpagestest/target/intro.1.po:172: (po4a::po)
Strange line: --> 1 2 3<--
manpagestest/target/intro.1.po:173: (po4a::po)
Strange line: --> 4 5 6 7 8 9 10<--
manpagestest/target/intro.1.po:174: (po4a::po)
Strange line: -->11 12 13 14 15 16 17<--
manpagestest/target/intro.1.po:175: (po4a::po)
Strange line: -->18 19 20 21 22 23 24<--
manpagestest/target/intro.1.po:176: (po4a::po)
Strange line: -->25 26 27 28 29 30 31<--
manpagestest/target/intro.1.po:236: (po4a::po)
Strange line: --><--
manpagestest/target/intro.1.po:309: (po4a::po)
Strange line: --><--
...

as you can see, po4a complains about some extra blank lines in the file and also does not like at all the translated part. This is because po4a expects the message to have opening and closing doublequotes, and to have them on each line (a bug in OmegaT?). I fix that manually:
$ cp manpagestest/target/intro.1.po manpagestest/target/intro.1.fixed.po
$ vi manpagestest/target/intro.1.fixed.po
$ cat manpagestest/target/intro.1.fixed.po
...
# type: Plain text
#: en/intro.1:106
#, no-wrap
msgid ""
"B<knuth login: >I<aeb>\n"
"B<Password: >I<********>\n"
"B<% >I<date>\n"
"Tue Aug 6 23:50:44 CEST 2002\n"
"B<% >I<cal>\n"
" August 2002\n"
"Su Mo Tu We Th Fr Sa\n"
" 1 2 3\n"
" 4 5 6 7 8 9 10\n"
"11 12 13 14 15 16 17\n"
"18 19 20 21 22 23 24\n"
"25 26 27 28 29 30 31\n"
msgstr "B<knuth login: >I<aeb>"
"B<Password: >I<********>"
"B<% >I<date>"
"Út Srp 6 23:50:44 CEST 2002"
"B<% >I<cal>"
" Srpen 2002"
"Ne Po Út St Čt Pá So"
" 1 2 3"
" 4 5 6 7 8 9 10"
"11 12 13 14 15 16 17"
"18 19 20 21 22 23 24"
"25 26 27 28 29 30 31"
...

and retry:
$ po4a-translate -f man -m en/intro.1 -p manpagestest/target/intro.1.fixed.po -l intro.cs.1

The important part of the created intro.cs.1 looks like this:
...
\fBknuth login: \fP\fIaeb\fP\fBPassword: \fP\fI********\fP\fB% \fP\fIdate\fPÚt Srp 6 23:50:44 CEST 2002\fB% \fP\fIcal\fP Srpen 2002Ne Po Út St Čt Pá So 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 1718 19 20 21 22 23 2425 26 27 28 29 30 31
...


and this is how it looks when viewed with man ./intro.cs.1, i.e. badly:




All the mentioned files are attached.


Sunday, 13 January 2008

man-pages-cs 0.17.20080113


Chvilku jsem přemýšlel, jestli to dát jako zprávičku, ale jsem spíš zastánce linie "necpat do zpráviček každou betu", takže zaplácnu blog :-)



Vydal jsem novou verzi man-pages-cs-0.17.20080113.
Přišlo mi pár oprav a zlepšení, ať už přímo pro manuály nebo pro doprovodné skripty, díky za ně. Víceméně se ale jedná "jen" o aktualizaci k současné verzi originálních man-pages, na manuály z ostatních balíků jsem neměl čas :-(



Vypadá to ale, že oživení se podařilo.
Balík se dostal do hlavních distribucí - je v Mandrivě, Source Mage, openSUSE a teď už i v Debianu (takže i v Ubuntu?). Existuje ebuild pro Gentoo.
Od jednoho nadšence tu mám aktualizované a dopřeložené všechny manuály z coreutils, ale ještě potřebují revizi. Jen houšť a větší kapky!



Thursday, 7 September 2006

man-pages-cs-0.17.20060906

Takže jsou tu man-pages-cs-0.17.20060906. Novinkou je brutální aktualizace manuálu pro wget a mírná aktualizace téhož pro traceroute. Vše opět zde.

Další na řadě budou scp a ssh a top a w.

Sunday, 3 September 2006

manuál pro wget

Dokončil aktualizaci překladu manuálu k programu wget z roku 2001 (tj. kompletní přepsání) na verzi 1.10.2. Až teď jsem si uvědomil, jaký je to skvělý program a co všechno dovede :-). Než překlad přibalím k man-pages-cs, bylo by fajn, kdyby se na něj podíval i někdo jinej než já a eventuálně mi nahlásil chyby nebo lepší formulace. Zůstalo mi tam spousta anglicismů a jinejch příšerností, občas jsem nechal původní anglický výraz.

Takže jestli máte chuť a čas, tady je originál a tady překlad.
Dá se to i editovat online, ale není jistý jestli a jak ten server pojede.


Saturday, 19 August 2006

man-pages-cs-0.17.20060819

Novinky z překladu linuxových manuálových stránek.


Podařilo se mi dosynchronizovat překlady stránek z balíku man-pages do aktuální verze (2.39) a zaktualizovat několik dalších.
Taky jsem vyrobil rpm pro Mandrivu, který mi funguje dobře, ale bylo by fajn, kdyby to zkusil i někdo další.
Takže tu jsou linky:

web:
http://sweb.cz/tropikhajma/man-pages-cs/index.html

source tarball:
http://sweb.cz/tropikhajma/man-pages-cs/man-pages-cs-0.17.20060819.tar.bz2

Mandriva RPM:
http://sweb.cz/tropikhajma/man-pages-cs/man-pages-cs-0.17.20060819-1mdv2007.0.noarch.rpm

Mandriva SRPM:
http://sweb.cz/tropikhajma/man-pages-cs/man-pages-cs-0.17.20060819-1mdv2007.0.src.rpm


(Když se při rebuildu srpm nastaví MANLANG na UTF-8, tak budou stránky v UTF-8.)


Thursday, 15 June 2006

man-pages-cs-0.17.20060616

Tak se mi snad podařilo napsat funkční Makefile, i když mou oblíbenou metodou, kterou programuju v pythonu - volám shell skripty. Spuštění make v adresáři rozbaleného balíčku by teda mělo vybrat nejposlednější verze překladů jednotl. stránek, nacpat je do adresáře latest, překódovat a zagzipovat. Díky tomu jsem mohl adresář latest z balíčku vyhodit a velikost se smrskla na polovinu.
Vyhodil jsem stránky z balíčků shadow a man, mají svoje vlastní překlady a zatím se nechci otravovat s řešením duplicit.
Díky Petrovi Sýkorovi byly aktualizovány manuály z balíčku bzip2 - díky.

man-pages-cs-0.17.20060616


Tuesday, 9 May 2006

man-pages-cs znovu zasahuje

Jak už jsem tady párkrát psal, zabejvám se oživením balíku man-pages-cs alias překladu manuálových stránek do češtiny, který zamrzl někdy kolem roku 2001.

Spojením pochybných kvalit free vserveru of pipni.cz a pochybných kvalit mne jako programátora vznikl systém pro relativně rozumnou práci s překlady, (i když teď už bych to dělal trochu jinak) založený na wiki.

Překlady jsou snad funkční a teď zbývá jen dostat je k uživatelům/do distribucí.



Výchozí stránka je nicméně pro jistotu na http://sweb.cz/tropikhajma/man-pages-cs/index.html,
co kdyby se to stěhovalo jinam, žejo, ono třeba celodenní výpadek není nic moc.


Takže stahujte, testujte, hlašte bugy, překládejte a nehákujte ten server.

Bylo by třeba fajn, kdyby někdo dokázal vytvořit funkční Makefile nebo aspoň ověřit, jestli to stávající nějak funguje; já se v tom vůbec nevyznám :-)

Ocenil bych taky, kdyby za každou distribuci mi sem někdo vložil nebo poslal na mail kontakt na packagera balíku man-pages-cs (alias manpages-cs).

Díky!

Wednesday, 2 November 2005

man-pages-cs release

Release neoficiálních českých manuálových stránek


Jak už jsem tady kdysi dávno avizoval, když mám čas (tj. dost zřídka), aktualizuju české manuálové stránky. Maintainerovi (Milan Keršláger) jsem poslal první updaty někdy v červnu. To mi vůbec neodpověděl. Další várku jsem mu poslal asi před měsícem, odpověděl hned, že se na to podívá, jak bude mít čas. Ale zatím se nic neděje...



Nechci, aby mi to hnilo na disku, tak to házím na web (fork? :-):


http://sweb.cz/tropikhajma/man-pages-cs/index.html
[hajma@localhost man-pages-cs-unofficial-0.20]$ cat NEWS

man-pages-cs-0.16 -> man-pages-cs-0.20



License text was added to the updated manual pages/Do updatovaných manuálových stránek byl doplněn text licence



added/doplněno:

pár linků (vdir.1 -> ls.1, ...)



updated/aktualizováno:

basename.1, cp.1, dd.1, df.1, dircolors.1, dirname.1, du.1, false.1, ghostscript.1, gsbj.1, gsdj.1, gsdj500.1, gslj.1, chgrp.1, chmod.1, chown.1, chroot.1, install.1, intro.1, ln.1, ls.1, mkdir.1, mkfifo.1, mknod.1, mv.1, printenv.1, ps2pdf12.1, ps2pdf13.1, pwd.1, rmdir.1, rm.1, touch.1, true.1, whoami.1, write.1, yes.1

mem.4, ram.4, tty.4, vcs.4, console.4, mouse.4, null.4, intro.4, ttyS.4

shells.5, fs.5, ipc.5, procmailrc.5, exports.5, nologin.5, charmap.5, passwd.5, fstab.5, motd.5, services.5, group.5, protocols.5, intro.5, securetty.5, shadow.5, issue.5, environ.5



removed (contained in another package)/odstraněno (vyskytuje se v jiném balíčku):

man.1



removed (does not exist anymore)/odstraněno (již neexistuje):

make-ssh-known-hosts.1





[hajma@localhost man-pages-cs-unofficial-0.20]$ cat TODO
1. Dokončit update sekce 1
2. sekce 7 a 8
3. Zjistit, jak jsou na tom 2+3 s aktuálností - ev. vypustit?
4. Shadow má, zdá se svoje překlady. Zesynchronizovat. Zejména zjistit, jak je to s passwd.5
následující manuálové stránky (1) nepocházejí z man-pages a nejsou ještě zaktualizovány:
priorita (0-3, tj. min-max)
ar.1 binutils http://ftp.gnu.org/gnu/binutils/binutils-2.16.tar.gz 1
bzip2.1 bzip2 http://www.bzip.org/1.0.3/bzip2-1.0.3.tar.gz 3
cdp.1 cdp http://www.ibiblio.org/pub/linux/apps/sound/cdrom/curses/cdp-0.33.tgz 0
date.1 coreutils 3
dvipdf.1 ghostscript 1
echo.1 coreutils 1
env.1 coreutils 2
eps2eps.1 ghostscript 1
expr.1 coreutils 2
finger.1 finger ?? http://ftp.gnu.org/pub/gnu/finger/finger-1.37.tar.gz 1
font2c.1 ghostscript 1
ghostscript.1 = gs.1
grep.1 grep ftp://ftp.fi.muni.cz/pub/gnu/gnu/grep/grep-2.5.1a.tar.bz2 3
groups.1 coreutils 3
gsbj.1 = gslp.1
gsdj.1 = gslp.1
gsdj500.1 = gslp.1
gslj.1 = gslp.1
gslp.1 ghostscript 1
gsnd.1 ghostscript 1
gs.1 ghostscript 1
id.1 coreutils 2
logname.1 coreutils 2
lynx.1 lynx http://lynx.isc.org/current/lynx2.8.5rel.1.tar.bz2 1
nice.1 coreutils 2
nohup.1 coreutils 2
pathchk.1 coreutils 1
pdf2dsc.1 ghostscript 1
pdf2ps.1 ghostscript 1
pfbtopfa.1 ghostscript 1
pf2afm.1 ghostscript 1
printafm.1 ghostscript 1
printf.1 coreutils 2
ps2ascii.1 ghostscript 1
ps2epsi.1 ghostscript 1
ps2pdfwr.1 ghostscript 1
ps2pdf.1 ghostscript 1
ps2pdf12.1@ ghostscript 1
ps2pdf13.1@ ghostscript 1
ps2ps.1 ghostscript 1
saned.1 saned přesunut do sekce 8
ftp://ftp.sane-project.org/pub/sane/sane-backends-1.0.15/sane-backends-1.0.15.tar.gz
ftp://ftp.sane-project.org/pub/sane/sane-frontends-1.0.13/sane-frontends-1.0.13.tar.gz
scp.1 openssh ftp://ftp.openbsd.cz/pub/OpenBSD/OpenSSH/portable/openssh-4.0p1.tar.gz 2
sleep.1 coreutils 3
ssh-add.1 openssh ftp://ftp.openbsd.cz/pub/OpenBSD/OpenSSH/portable/openssh-4.0p1.tar.gz 2
ssh-agent.1 openssh ftp://ftp.openbsd.cz/pub/OpenBSD/OpenSSH/portable/openssh-4.0p1.tar.gz 2
ssh-keygen.1 openssh ftp://ftp.openbsd.cz/pub/OpenBSD/OpenSSH/portable/openssh-4.0p1.tar.gz 2
ssh.1 openssh ftp://ftp.openbsd.cz/pub/OpenBSD/OpenSSH/portable/openssh-4.0p1.tar.gz 2
stty.1 coreutils 2
su.1 coreutils 3
talk.1 talk ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-ntalk-0.17.tar.gz 2
tee.1 coreutils 3
test.1 coreutils 2
top.1 procps http://procps.sourceforge.net/procps-3.2.5.tar.gz 3
true.1 coreutils 2
tty.1 coreutils 2
uname.1 coreutils 2
users.1 coreutils 2
vdir.1 = ls
wftopfa.1 ghostscript 1
wget.1 wget http://ftp.gnu.org/pub/gnu/wget/wget-1.9.1.tar.gz 3
who.1 coreutils 3
w.1 procps http://procps.sourceforge.net/procps-3.2.5.tar.gz 3

Saturday, 21 May 2005

zase man-pages-cs

Tak po delší pauze jsem obětoval sobotu a vrhnul se na update sekce 1. Jeden by nevěřil, kolik fičur se v programech během 5 let může objevit :-)


V sekci 1 je toho nechutně moc, takže jsem začal stránkama, který se vyskytujou v balíčku man-pages-2.0.1. Zatím jsem tak ve 3/4. Ten zbytek bude asi brutální ...

Takže tu teď mám:




cp.1

dd.1

df.1

dircolors.1

du.1

chgrp.1

chmod.1

chown.1

install.1

ln.1

ls.1

mkdir.1

mkfifo.1



Celý je to
tady.

Celý to má zpizděný kódování, protože netuším jak donutit man2html k vytvoření UTF-8 html a sweb.cz je IMHO mizernej krám.

Thursday, 5 May 2005

man-pages-cs: update in progress

RTFM je sice hezký, ale dost lidí, co mají s něčím problém, angličtinu moc nee, takže si nainstalujou český manuálový stránky. (anebo s A problém nemají, akorát ty man-pages-cs mají holt nainstalovaný a lokální verzi man upřednostňuje)




Problém je v tom, že ty český man-pages jsou starý minimálně pět let...

Takže jsem se rozhodl zkusit je zaktualizovat. Zatím mám hotovou sekci 4 a 5 (správně, protože tam je jich míň :-).



Monday, 3 January 2005

Wireless Tools - překlad man pages

Začal jsem překládat manuálový stránky k Wireless Tools.

Hotovo je tak 95 %, i když u některejch termínů ještě nevím.

Překlady jsou umístěný spolu s originálama na

http://sweb.cz/tropikhajma/index.html




Jakýkoliv připomínky apod. vítám v diskuzi zde