Event repetition dialog uses naive numbering and concatenation preventing quality translation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Maya |
Fix Released
|
High
|
Corentin Noël |
Bug Description
The event repetition dialog when creating new event uses hard-coded preset forms of number/noun combinations for singular and plural only. This prevents quality translation for languages which use more complex forms of pluralization.
Example: "Every... " field has only "1 week", "2+ weeks" form, where for example Slovenian and other slavic languages have to localize that to "1 teden", "2 tedna", "3 tedne", "4 tedne" ... etc. This is an issue for each of "Every ..." dialog fields. Using gettext pluralization utility when rendering the word would fix this issue.
The other issue is concatenating "Every <day>" strings when "Repeat monthly" is selected. Right now a string "Every" and day name is concatenated to form "Every Monday", "Every Tuesday", ... etc. However, in Slavic languages the form of word "Every" has to change depending on day name, e.g.: "Vsak ponedeljek", "Vsak torek", "Vsaka sreda", ... "Vsaka nedelja".
Converting concatenation into a single string from both words would make quality translation possible.
Related branches
- Corentin Noël: Approve
-
Diff: 14131 lines (+3858/-4030)199 files modifiedpo/aa.po (+13/-20)
po/ab.po (+13/-20)
po/ae.po (+13/-20)
po/af.po (+13/-21)
po/ak.po (+13/-20)
po/am.po (+13/-21)
po/an.po (+13/-20)
po/ar.po (+14/-23)
po/as.po (+13/-20)
po/ast.po (+14/-21)
po/av.po (+13/-20)
po/ay.po (+13/-20)
po/az.po (+13/-20)
po/ba.po (+13/-20)
po/be.po (+20/-23)
po/bg.po (+29/-21)
po/bh.po (+13/-20)
po/bi.po (+13/-20)
po/bm.po (+13/-20)
po/bn.po (+13/-21)
po/bo.po (+9/-20)
po/br.po (+13/-20)
po/bs.po (+35/-23)
po/ca.po (+13/-21)
po/ce.po (+13/-20)
po/ch.po (+13/-20)
po/ckb.po (+13/-20)
po/co.po (+13/-20)
po/cr.po (+13/-20)
po/cs.po (+33/-21)
po/cu.po (+679/-0)
po/cv.po (+9/-20)
po/cy.po (+21/-20)
po/da.po (+13/-21)
po/de.po (+29/-21)
po/dv.po (+9/-20)
po/dz.po (+9/-20)
po/ee.po (+13/-20)
po/el.po (+29/-21)
po/en_AU.po (+13/-21)
po/en_CA.po (+13/-21)
po/en_GB.po (+29/-21)
po/eo.po (+13/-21)
po/es.po (+29/-21)
po/et.po (+29/-21)
po/eu.po (+13/-21)
po/fa.po (+25/-21)
po/ff.po (+13/-20)
po/fi.po (+29/-21)
po/fj.po (+13/-20)
po/fo.po (+13/-20)
po/fr.po (+31/-25)
po/fr_CA.po (+13/-21)
po/fy.po (+13/-20)
po/ga.po (+17/-20)
po/gd.po (+21/-20)
po/gl.po (+29/-21)
po/gn.po (+13/-20)
po/gu.po (+13/-20)
po/gv.po (+17/-20)
po/ha.po (+13/-20)
po/he.po (+29/-21)
po/hi.po (+15/-23)
po/ho.po (+13/-20)
po/hr.po (+35/-23)
po/ht.po (+13/-20)
po/hu.po (+29/-21)
po/hy.po (+25/-21)
po/hz.po (+13/-20)
po/ia.po (+13/-20)
po/id.po (+25/-21)
po/ie.po (+13/-20)
po/ig.po (+13/-20)
po/ii.po (+13/-20)
po/ik.po (+13/-20)
po/io.po (+13/-20)
po/is.po (+13/-20)
po/it.po (+29/-21)
po/iu.po (+17/-20)
po/ja.po (+9/-21)
po/jv.po (+13/-20)
po/ka.po (+22/-20)
po/kg.po (+13/-20)
po/ki.po (+13/-20)
po/kj.po (+13/-20)
po/kk.po (+9/-20)
po/kl.po (+13/-20)
po/km.po (+9/-20)
po/kn.po (+13/-20)
po/ko.po (+27/-22)
po/kr.po (+9/-20)
po/ks.po (+13/-20)
po/ku.po (+13/-20)
po/kv.po (+13/-20)
po/kw.po (+21/-20)
po/ky.po (+9/-20)
po/la.po (+13/-20)
po/lb.po (+29/-20)
po/lg.po (+13/-20)
po/li.po (+13/-20)
po/ln.po (+13/-20)
po/lo.po (+9/-21)
po/lt.po (+19/-23)
po/lu.po (+13/-20)
po/lv.po (+17/-21)
po/maya-calendar.pot (+12/-20)
po/mg.po (+9/-20)
po/mh.po (+13/-20)
po/mi.po (+13/-20)
po/mk.po (+29/-20)
po/ml.po (+14/-24)
po/mn.po (+9/-20)
po/mo.po (+13/-20)
po/mr.po (+13/-21)
po/ms.po (+29/-21)
po/mt.po (+21/-20)
po/my.po (+9/-20)
po/na.po (+13/-20)
po/nb.po (+29/-21)
po/nd.po (+13/-20)
po/ne.po (+13/-20)
po/ng.po (+13/-20)
po/nl.po (+30/-23)
po/nn.po (+13/-21)
po/no.po (+13/-20)
po/nr.po (+13/-20)
po/nv.po (+13/-20)
po/ny.po (+13/-20)
po/oc.po (+13/-20)
po/oj.po (+13/-20)
po/om.po (+13/-20)
po/or.po (+13/-20)
po/os.po (+13/-20)
po/pa.po (+13/-20)
po/pi.po (+13/-20)
po/pl.po (+33/-21)
po/ps.po (+13/-20)
po/pt.po (+29/-21)
po/pt_BR.po (+29/-21)
po/qu.po (+13/-20)
po/rm.po (+13/-20)
po/rn.po (+13/-20)
po/ro.po (+17/-21)
po/ru.po (+19/-23)
po/rue.po (+19/-23)
po/rw.po (+13/-20)
po/sa.po (+17/-20)
po/sc.po (+13/-20)
po/sd.po (+13/-20)
po/se.po (+13/-20)
po/sg.po (+13/-20)
po/si.po (+13/-20)
po/sk.po (+33/-21)
po/sl.po (+40/-25)
po/sm.po (+13/-20)
po/sma.po (+29/-20)
po/sn.po (+13/-20)
po/so.po (+13/-20)
po/sq.po (+30/-21)
po/sr.po (+19/-23)
po/ss.po (+13/-20)
po/st.po (+13/-20)
po/su.po (+13/-20)
po/sv.po (+29/-21)
po/sw.po (+13/-21)
po/ta.po (+17/-25)
po/te.po (+13/-20)
po/tg.po (+13/-20)
po/th.po (+10/-23)
po/ti.po (+13/-20)
po/tk.po (+9/-20)
po/tl.po (+13/-20)
po/tn.po (+13/-20)
po/to.po (+13/-20)
po/tr.po (+31/-22)
po/ts.po (+13/-20)
po/tt.po (+9/-20)
po/tw.po (+13/-20)
po/ty.po (+13/-20)
po/ug.po (+9/-20)
po/uk.po (+37/-25)
po/ur.po (+13/-20)
po/uz.po (+9/-20)
po/ve.po (+13/-20)
po/vi.po (+9/-21)
po/vo.po (+13/-20)
po/wa.po (+13/-20)
po/wo.po (+13/-20)
po/xh.po (+13/-20)
po/yi.po (+13/-20)
po/yo.po (+13/-20)
po/za.po (+13/-20)
po/zh.po (+9/-20)
po/zh_CN.po (+25/-21)
po/zh_HK.po (+9/-20)
po/zh_TW.po (+25/-21)
po/zu.po (+13/-20)
src/Application.vala (+2/-0)
src/EventEdition/RepeatPanel.vala (+5/-5)
Changed in maya: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Corentin Noël (tintou) |
Changed in maya: | |
status: | Confirmed → In Progress |
milestone: | none → loki-beta1 |
Changed in maya: | |
status: | In Progress → Fix Released |
Changed in maya: | |
milestone: | loki-beta1 → loki-alpha1 |
Oh my god, I wasn't aware that it was like this in Slavic languages. /www.gnu. org/software/ gettext/ manual/ html_node/ Plural- forms.html )
I just pushed a change for both issues.
Translation template has been refreshed in rev. 714 and I've put the right parameters in the slovenian translation file that were not set at all (and so fallbacks to english-style)
(parameter extracted from https:/