Public bug reported: sprintf function, used by smarty has problems with pluralrule which contains percent (%) sign.
I've used quite some time to find out that I need to use double percent sign to make this work. If pluralrule string is translated via launchpad Mahara Translations, than there should be note, warning people of that, but if it is created programmatically than single percent signs in pluralrule string should be replaced with dobule percent signs. This musn't be confused with the string that appears in plural function though!!! 'Original' string (for Slovenian) as it appears in Launchpad Slovenian Language Details page (https://translations.launchpad.net/mahara-lang/trunk/+pots/mahara/sl/+details) $string['pluralrule'] = '(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0)'; 'Corrected' string (single % replaced with double %% - which sprintf can "digest") $string['pluralrule'] = '(n%%100==1 ? 1 : n%%100==2 ? 2 : n%%100==3 || n%%100==4 ? 3 : 0)'; AFAIK the affected languages could be: - Arabic - Croatian - Romanian - Russian - Slovenian ** Affects: mahara Importance: Undecided Status: New -- You received this bug notification because you are a member of Mahara Contributors, which is subscribed to Mahara. https://bugs.launchpad.net/bugs/996987 Title: sprintf function problems with pluralrule Status in Mahara ePortfolio: New Bug description: sprintf function, used by smarty has problems with pluralrule which contains percent (%) sign. I've used quite some time to find out that I need to use double percent sign to make this work. If pluralrule string is translated via launchpad Mahara Translations, than there should be note, warning people of that, but if it is created programmatically than single percent signs in pluralrule string should be replaced with dobule percent signs. This musn't be confused with the string that appears in plural function though!!! 'Original' string (for Slovenian) as it appears in Launchpad Slovenian Language Details page (https://translations.launchpad.net/mahara-lang/trunk/+pots/mahara/sl/+details) $string['pluralrule'] = '(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0)'; 'Corrected' string (single % replaced with double %% - which sprintf can "digest") $string['pluralrule'] = '(n%%100==1 ? 1 : n%%100==2 ? 2 : n%%100==3 || n%%100==4 ? 3 : 0)'; AFAIK the affected languages could be: - Arabic - Croatian - Romanian - Russian - Slovenian To manage notifications about this bug go to: https://bugs.launchpad.net/mahara/+bug/996987/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~mahara-contributors Post to : mahara-contributors@lists.launchpad.net Unsubscribe : https://launchpad.net/~mahara-contributors More help : https://help.launchpad.net/ListHelp