Translation migration
This is an experimental page by looking at a simple way for a proper migration on translation strings.
Current status on master
- Translations based on old templates:
all translation files were merged with at least the template generated on 2015-06-01
- 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: 2016-05-10 10:26+0100\n" da.po:"PO-Revision-Date: 2013-05-16 14:50+0200\n" de.po:"PO-Revision-Date: 2016-06-16 21:26+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: 2016-06-21 09:02+0300\n" fr.po:"PO-Revision-Date: 2016-06-21 10:54+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: 2016-06-05 17:24+0200\n" is.po:"PO-Revision-Date: 2016-02-19 09:20+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: 2015-06-30 09:09+0200\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: 2016-06-23 10:44+0300\n" sk.po:"PO-Revision-Date: 2014-05-23 15:34+0100\n" sl.po:"PO-Revision-Date: 2015-05-26 21:55+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-09-03 16:11+0200\n" tr.po:"PO-Revision-Date: 2014-10-26 21:58+0200\n" uk.po:"PO-Revision-Date: 2016-01-24 15:49+0300\n" vi.po:"PO-Revision-Date: 2012-02-29 23:03+0700\n" zh_CN.po:"PO-Revision-Date: 2015-03-18 17:31-0600\n" zh_HK.po:"PO-Revision-Date: 2015-03-18 17:31-0600\n" zh_TW.po:"PO-Revision-Date: 2015-03-18 17:31-0600\n"
Current status on gramps42
- 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: 2016-04-16 14:39+0100\n" da.po:"PO-Revision-Date: 2013-05-16 14:50+0200\n" de.po:"PO-Revision-Date: 2016-06-04 16:29+0100\n" el.po:"PO-Revision-Date: 2015-10-01 19:02+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: 2016-05-10 19:47+0200\n" fr.po:"PO-Revision-Date: 2016-03-28 09:37+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: 2015-07-13 23:42+0100\n" hu.po:"PO-Revision-Date: 2016-03-10 18:24+0100\n" is.po:"PO-Revision-Date: 2016-02-19 09:20+0000\n" it.po:"PO-Revision-Date: 2016-01-11 01:40+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: 2015-01-08 21:23+0100\n" nl.po:"PO-Revision-Date: 2016-01-03 08:48+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: 2016-06-22 09:54+0300\n" sk.po:"PO-Revision-Date: 2014-05-23 15:34+0100\n" sl.po:"PO-Revision-Date: 2016-02-27 23:28+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: 2016-01-22 11:16+0100\n" tr.po:"PO-Revision-Date: 2014-10-26 21:58+0200\n" uk.po:"PO-Revision-Date: 2016-01-24 15:15+0300\n" vi.po:"PO-Revision-Date: 2012-02-29 23:03+0700\n" zh_CN.po:"PO-Revision-Date: 2015-03-18 17:31-0600\n" zh_HK.po:"PO-Revision-Date: 2015-03-18 17:31-0600\n" zh_TW.po:"PO-Revision-Date: 2015-03-18 17:31-0600\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?
--- gramps42 2016-06-23 11:15:16.503133765 +0200 +++ master 2016-06-23 11:18:25.232069621 +0200 @@ -2,40 +2,40 @@ 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: 2016-04-16 14:39+0100\n" + cs.po:"PO-Revision-Date: 2016-05-10 10:26+0100\n" da.po:"PO-Revision-Date: 2013-05-16 14:50+0200\n" - de.po:"PO-Revision-Date: 2016-06-04 16:29+0100\n" - el.po:"PO-Revision-Date: 2015-10-01 19:02+0200\n" + de.po:"PO-Revision-Date: 2016-06-16 21:26+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: 2016-05-10 19:47+0200\n" - fr.po:"PO-Revision-Date: 2016-03-28 09:37+0100\n" + fi.po:"PO-Revision-Date: 2016-06-21 09:02+0300\n" + fr.po:"PO-Revision-Date: 2016-06-21 10:54+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: 2015-07-13 23:42+0100\n" - hu.po:"PO-Revision-Date: 2016-03-10 18:24+0100\n" + hr.po:"PO-Revision-Date: 2014-11-23 16:59+0100\n" + hu.po:"PO-Revision-Date: 2016-06-05 17:24+0200\n" is.po:"PO-Revision-Date: 2016-02-19 09:20+0000\n" - it.po:"PO-Revision-Date: 2016-01-11 01:40+0100\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: 2016-01-03 08:48+0100\n" + nl.po:"PO-Revision-Date: 2015-06-30 09:09+0200\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: 2016-06-22 09:54+0300\n" + ru.po:"PO-Revision-Date: 2016-06-23 10:44+0300\n" sk.po:"PO-Revision-Date: 2014-05-23 15:34+0100\n" - sl.po:"PO-Revision-Date: 2016-02-27 23:28+0200\n" + sl.po:"PO-Revision-Date: 2015-05-26 21:55+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: 2016-01-22 11:16+0100\n" + sv.po:"PO-Revision-Date: 2015-09-03 16:11+0200\n" tr.po:"PO-Revision-Date: 2014-10-26 21:58+0200\n" - uk.po:"PO-Revision-Date: 2016-01-24 15:15+0300\n" + uk.po:"PO-Revision-Date: 2016-01-24 15:49+0300\n" vi.po:"PO-Revision-Date: 2012-02-29 23:03+0700\n" zh_CN.po:"PO-Revision-Date: 2015-03-18 17:31-0600\n" zh_HK.po:"PO-Revision-Date: 2015-03-18 17:31-0600\n"
Gramps42
el, hr, it, nl, sl, sv