Translation migration
This is an experimental page by looking at a simple way for a proper migration on translation strings.
Contents
Current status on trunk
- Translations are based on old templates:
ar.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" bg.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" br.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" ca.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" cs.po:"POT-Creation-Date: 2014-04-12 18:22+0200\n" da.po:"POT-Creation-Date: 2013-01-21 16:50+0100\n" de.po:"POT-Creation-Date: 2014-03-18 22:46+0100\n" el.po:"POT-Creation-Date: 2012-07-15 17:49+0200\n" en_GB.po:"POT-Creation-Date: 2012-05-10 19:31+0100\n" eo.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" es.po:"POT-Creation-Date: 2013-05-09 12:49+0200\n" fi.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" fr.po:"POT-Creation-Date: 2014-04-17 14:54+0200\n" ga.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" he.po:"POT-Creation-Date: 2014-03-07 14:57+0100\n" hr.po:"POT-Creation-Date: 2013-09-19 23:56+0300\n" hu.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" it.po:"POT-Creation-Date: 2013-02-04 18:35+0100\n" ja.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" lt.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" mk.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" nb.po:"POT-Creation-Date: 2012-10-16 20:41+0200\n" nl.po:"POT-Creation-Date: 2013-02-04 18:35+0100\n" nn.po:"POT-Creation-Date: 2012-10-16 20:41+0200\n" pl.po:"POT-Creation-Date: 2012-05-10 21:46+0100\n" pt_BR.po:"POT-Creation-Date: 2012-05-10 21:46+0100\n" pt_PT.po:"POT-Creation-Date: 2013-03-01 17:56+0000\n" ro.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" ru.po:"POT-Creation-Date: 2014-03-07 14:57+0100\n" sk.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" sl.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" sq.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" sr.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" sv.po:"POT-Creation-Date: 2013-05-09 12:49+0200\n" tr.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" uk.po:"POT-Creation-Date: 2013-05-09 12:49+0200\n" vi.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n" zh_CN.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n"
- Translation revisions:
ar.po:"PO-Revision-Date: 2007-03-20 20:41+0300\n" bg.po:"PO-Revision-Date: 2010-03-23 22:00+0200\n" br.po:"PO-Revision-Date: 2009-05-08 15:56+0000\n" ca.po:"PO-Revision-Date: 2012-01-21 21:09+0100\n" cs.po:"PO-Revision-Date: 2014-04-14 11:36+0100\n" da.po:"PO-Revision-Date: 2013-01-29 20:29+0100\n" de.po:"PO-Revision-Date: 2014-03-18 23:19+0100\n" el.po:"PO-Revision-Date: 2012-10-08 19:17+0200\n" en_GB.po:"PO-Revision-Date: 2012-05-10 21:26+0100\n" eo.po:"PO-Revision-Date: 2003-12-03 20:12+0100\n" es.po:"PO-Revision-Date: 2013-05-16 15:39+0200\n" fi.po:"PO-Revision-Date: 2009-11-24 00:06+0200\n" fr.po:"PO-Revision-Date: 2014-04-17 15:29+0100\n" ga.po:"PO-Revision-Date: 2011-01-08 13:36+0000\n" he.po:"PO-Revision-Date: 2011-04-03 20:15+0300\n" hr.po:"PO-Revision-Date: 2013-10-13 16:32+0100\n" hu.po:"PO-Revision-Date: 2012-02-18 14:43+0100\n" it.po:"PO-Revision-Date: 2013-04-07 23:31+0200\n" ja.po:"PO-Revision-Date: 2011-08-13 23:35+0900\n" lt.po:"PO-Revision-Date: 2010-03-07 23:17+0300\n" mk.po:"PO-Revision-Date: 2008-11-29 14:24+0100\n" nb.po:"PO-Revision-Date: 2012-08-26 17:25+0200\n" nl.po:"PO-Revision-Date: 2013-02-27 11:55+0100\n" nn.po:"PO-Revision-Date: 2012-12-07 18:28+0100\n" pl.po:"PO-Revision-Date: 2012-09-22 22:42+0100\n" pt_BR.po:"PO-Revision-Date: 2012-09-22 22:51-0300\n" pt_PT.po:"PO-Revision-Date: 2013-03-03 10:02+0100\n" ro.po:"PO-Revision-Date: 2003-03-03 09:54+0100\n" ru.po:"PO-Revision-Date: 2014-03-19 15:31+0200\n" sk.po:"PO-Revision-Date: 2011-09-29 13:32+0200\n" sl.po:"PO-Revision-Date: 2011-09-07 00:25+0200\n" sq.po:"PO-Revision-Date: 2008-11-13 21:00+0100\n" sr.po:"PO-Revision-Date: 2008-09-08 20:44+0200\n" sv.po:"PO-Revision-Date: 2013-08-09 14:54+0200\n" tr.po:"PO-Revision-Date: 2006-11-02 22:58+0800\n" uk.po:"PO-Revision-Date: 2013-06-12 22:56-0800\n" vi.po:"PO-Revision-Date: 2011-09-26 20:25+0700\n" zh_CN.po:"PO-Revision-Date: 2011-09-05 15:03+0800\n"
Current status on gramps40
- Translation revisions:
ar.po:"PO-Revision-Date: 2014-03-22 20:38+0300\n" bg.po:"PO-Revision-Date: 2010-03-23 22:00+0200\n" br.po:"PO-Revision-Date: 2013-10-25 11:25+0100\n" ca.po:"PO-Revision-Date: 2013-11-24 18:11+0100\n" cs.po:"PO-Revision-Date: 2014-04-10 10:21+0100\n" da.po:"PO-Revision-Date: 2013-05-16 14:50+0200\n" de.po:"PO-Revision-Date: 2014-04-16 21:09+0200\n" el.po:"PO-Revision-Date: 2013-05-15 12:30+0200\n" en_GB.po:"PO-Revision-Date: 2012-05-10 21:26+0100\n" eo.po:"PO-Revision-Date: 2003-12-03 20:12+0100\n" es.po:"PO-Revision-Date: 2013-06-23 09:14+0200\n" fi.po:"PO-Revision-Date: 2014-03-19 16:22+0200\n" fr.po:"PO-Revision-Date: 2014-04-04 12:42+0100\n" ga.po:"PO-Revision-Date: 2011-01-08 13:36+0000\n" he.po:"PO-Revision-Date: 2014-03-24 20:15+0300\n" hr.po:"PO-Revision-Date: 2013-05-17 17:58+0100\n" hu.po:"PO-Revision-Date: 2013-06-14 18:46+0200\n" it.po:"PO-Revision-Date: 2014-03-23 02:42+0100\n" ja.po:"PO-Revision-Date: 2011-08-13 23:35+0900\n" lt.po:"PO-Revision-Date: 2014-02-06 01:50+0300\n" mk.po:"PO-Revision-Date: 2008-11-29 14:24+0100\n" nb.po:"PO-Revision-Date: 2014-03-08 21:29+0100\n" nl.po:"PO-Revision-Date: 2013-10-20 12:42+0100\n" nn.po:"PO-Revision-Date: 2012-12-07 18:28+0100\n" pl.po:"PO-Revision-Date: 2014-01-30 10:26+0100\n" pt_BR.po:"PO-Revision-Date: 2014-03-23 11:36-0300\n" pt_PT.po:"PO-Revision-Date: 2013-03-08 10:57+0000\n" ro.po:"PO-Revision-Date: 2003-03-03 09:54+0100\n" ru.po:"PO-Revision-Date: 2014-03-19 15:37+0200\n" sk.po:"PO-Revision-Date: 2013-05-17 15:34+0100\n" sl.po:"PO-Revision-Date: 2011-09-07 00:25+0200\n" sq.po:"PO-Revision-Date: 2008-11-13 21:00+0100\n" sr.po:"PO-Revision-Date: 2008-09-08 20:44+0200\n" sv.po:"PO-Revision-Date: 2014-03-22 15:55+0100\n" tr.po:"PO-Revision-Date: 2006-11-02 22:58+0800\n" uk.po:"PO-Revision-Date: 2014-03-18 19:51+0300\n" vi.po:"PO-Revision-Date: 2012-02-29 23:03+0700\n" zh_CN.po:"PO-Revision-Date: 2011-09-05 15:03+0800\n"
Next step?
- merge translations with the last template should not be too intrusive. We re-use strings with the last model.
- merge strings between two branches means to know what should be the main branch for this translation file.
- diff works fine once you "order by msgid" and ignore comments
eg, like:
msgfmt en_GB.po -o order.mo msgunfmt order.mo -o en_GB_order.po
Having such {dict} will make actions on translation files more simplier.
Where there is less untranslated strings? (after merge with last template)
code: trunk | gramps40 ar: 3205 | 1786 bg: 633 | 707 br: 4349 | 3459 ca: 375 | 209 cs: 11 | 151 da: 265 | 246 de: 30 | 149 el: 288 | 232 en_GB: 303 | 5858 eo: 1813 | 1799 es: 147 | 189 fi: 861 | 153 fr: 106 | 152 ga: 5939 | 5922 he: 2421 | 2395 hr: 431 | 386 hu: 367 | 189 it: 321 | 348 ja: 2253 | 2242 lt: 735 | 158 mk: 1398 | 1388 nb: 300 | 184 nl: 196 | 171 nn: 276 | 303 pl: 263 | 164 pt_BR: 274 | 154 pt_PT: 195 | 222 ro: 2256 | 2243 ru: 347 | 317 sk: 400 | 205 sl: 374 | 399 sq: 1075 | 1067 sr: 5821 | 5849 sv: 187 | 187 tr: 3069 | 3047 uk: 154 | 221 vi: 439 | 359 zh_CN: 476 | 495
Proposal
What translation file might be used on trunk?
ar: gramps40 bg: trunk br: gramps40 ca: gramps40 cs: trunk da: gramps40 de: trunk el: gramps40 en_GB: trunk eo: gramps40 es: trunk fi: gramps40 fr: trunk ga: gramps40 he: gramps40 hr: gramps40 hu: gramps40 it: trunk ja: gramps40 lt: gramps40 mk: gramps40 nb: gramps40 nl: gramps40 nn: trunk pl: gramps40 pt_BR: gramps40 pt_PT: trunk ro: gramps40 ru: gramps40 sk: gramps40 sl: trunk sq: gramps40 sr: trunk sv: - tr: gramps40 uk: trunk vi: gramps40 zh_CN: trunk
Date handler status
See 6926: inflecting month names.
On trunk, revision 918785:
changed po/ar.po changed po/bg.po changed po/ca.po changed po/cs.po changed po/da.po changed po/de.po changed po/el.po changed po/es.po changed po/fi.po changed po/it.po changed po/lt.po changed po/nb.po changed po/nl.po changed po/nn.po changed po/pl.po changed po/pt_BR.po changed po/pt_PT.po changed po/sk.po changed po/sl.po changed po/sr.po changed po/sv.po changed po/uk.po changed po/zh_CN.po
Advanced merging (unique, etc ...)
ar ca da el fi lt nb nl pl pt_BR sk
Need to think on merging from gramps40
br + 890 eo + 14 ga + 17 he + 26 hr + 45 hu + 181 ja + 11 mk + 10 ro + 13 ru + 30 sq + 8 tr + 22 vi + 80