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: 2014-05-26 17:49+0200\n" bg.po:"POT-Creation-Date: 2014-04-18 20:44+0200\n" br.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" ca.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" cs.po:"POT-Creation-Date: 2015-01-17 16:03+0100\n" da.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" de.po:"POT-Creation-Date: 2015-02-16 13:29+0100\n" el.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" en_GB.po:"POT-Creation-Date: 2014-04-18 20:44+0200\n" eo.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" es.po:"POT-Creation-Date: 2014-04-18 20:44+0200\n" fi.po:"POT-Creation-Date: 2015-01-17 16:03+0100\n" fr.po:"POT-Creation-Date: 2014-10-20 10:24+0200\n" ga.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" gramps.pot:"POT-Creation-Date: 2015-02-18 10:48+0100\n" he.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" hr.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" hu.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" is.po:"POT-Creation-Date: 2015-01-17 16:03+0100\n" it.po:"POT-Creation-Date: 2014-09-11 17:24+0200\n" ja.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" lt.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" mk.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" nb.po:"POT-Creation-Date: 2014-12-11 19:43-0800\n" nl.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" nn.po:"POT-Creation-Date: 2014-04-18 20:44+0200\n" pl.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" pt_BR.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" pt_PT.po:"POT-Creation-Date: 2014-04-18 20:44+0200\n" ro.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" ru.po:"POT-Creation-Date: 2014-03-07 14:57+0100\n" sk.po:"POT-Creation-Date: 2014-12-11 19:43-0800\n" sl.po:"POT-Creation-Date: 2014-04-18 20:44+0200\n" sq.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" sr.po:"POT-Creation-Date: 2014-09-11 17:24+0200\n" sr_Latn.po:"POT-Creation-Date: 2014-04-18 20:44+0200\n" sv.po:"POT-Creation-Date: 2014-04-18 20:44+0200\n" tr.po:"POT-Creation-Date: 2014-10-25 16:43+0200\n" uk.po:"POT-Creation-Date: 2014-12-11 19:43-0800\n" vi.po:"POT-Creation-Date: 2014-04-17 16:43+0200\n" zh_CN.po:"POT-Creation-Date: 2014-04-18 20:44+0200\n" zh_TW.po:"POT-Creation-Date: 2012-01-27 16:40+0100\n"
- Translation revisions:
ar.po:"PO-Revision-Date: 2014-06-29 15:50+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: 2015-02-06 14:22+0100\n" da.po:"PO-Revision-Date: 2013-05-16 14:50+0200\n" de.po:"PO-Revision-Date: 2015-02-17 02:41+0100\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: 2014-10-20 20:13+0200\n" es.po:"PO-Revision-Date: 2014-04-20 11:10+0100\n" fi.po:"PO-Revision-Date: 2015-01-22 20:50+0200\n" fr.po:"PO-Revision-Date: 2014-06-16 17:20+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" is.po:"PO-Revision-Date: 2015-02-16 08:42+0000\n" it.po:"PO-Revision-Date: 2014-09-28 02:52+0200\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: 2015-01-08 21:23+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-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: 2014-05-23 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: 2014-10-21 23:12+0200\n" sr_Latn.po:"PO-Revision-Date: 2008-09-08 20:44+0200\n" sv.po:"PO-Revision-Date: 2014-05-21 18:53+0200\n" tr.po:"PO-Revision-Date: 2014-10-26 21:58+0200\n" uk.po:"PO-Revision-Date: 2014-12-21 15:24+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" zh_TW.po:"PO-Revision-Date: 2011-09-05 15:03+0800\n"
Current status on gramps41
- Translation revisions:
ar.po:"PO-Revision-Date: 2014-06-29 15:50+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: 2015-02-06 14:24+0100\n" da.po:"PO-Revision-Date: 2013-05-16 14:50+0200\n" de.po:"PO-Revision-Date: 2015-02-16 02:23+0100\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: 2014-11-08 13:21+0100\n" es.po:"PO-Revision-Date: 2014-04-20 11:10+0100\n" fi.po:"PO-Revision-Date: 2014-12-13 12:47+0200\n" fr.po:"PO-Revision-Date: 2015-02-18 14:06+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: 2014-11-23 16:59+0100\n" hu.po:"PO-Revision-Date: 2014-05-22 14:46+0200\n" it.po:"PO-Revision-Date: 2014-09-28 02:52+0200\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: 2015-01-08 21:23+0100\n" nl.po:"PO-Revision-Date: 2013-10-20 12:42+0100\n" nn.po:"PO-Revision-Date: 2014-12-22 21:26+0100\n" pl.po:"PO-Revision-Date: 2014-06-04 01:28+0100\n" pt_BR.po:"PO-Revision-Date: 2014-03-23 11:36-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: 2014-05-23 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: 2014-10-21 23:12+0200\n" sr_Latn.po:"PO-Revision-Date: 2008-09-08 20:44+0200\n" sv.po:"PO-Revision-Date: 2015-01-06 18:29+0100\n" tr.po:"PO-Revision-Date: 2014-10-26 21:58+0200\n" uk.po:"PO-Revision-Date: 2014-12-21 15:24+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 - gramps40 (last revision) fi: gramps40 fr: trunk ga: gramps40 he: gramps40 hr: gramps40 hu: gramps40 it: trunk - gramps40 (last revision) 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 - gramps40 (last revision) 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 - 1416 ca - 166 da - 19 el - 56 fi - 708 lt - 577 nb - 116 nl - 25 pl - 99 pt_BR - 120 sk - 195
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
Changes done
- After revision 0194c4... , untranslated messages:
ar: 1745 br: 3459 ca: 173 da: 217 el: 203 eo: 1799 fi: 127 ga: 5922 he: 2395 hr: 320 hu: 189 ja: 2242 lt: 129 mk: 1388 nb: 155 nl: 142 pl: 138 pt_BR: 125 ro: 2243 sk: 176 sq: 1067 tr: 3047 vi: 359
- After revision 774e25... , untranslated messages:
bg: 633 en_GB: 303 es: 147 it: 321 nn: 276 pt_PT: 195 sl: 374 sr: 5817 sv: 187 uk: 154 zh_CN: 476
- After revision 860f88... , untranslated messages:
es: 144 it: 298 uk: 131