Because of the schema the strings are built for charts captions, it is nearly impossible to find a way to translate the string in a correct way in fr-FR what makes me think it is the same for all "latin" languages.
The default: "All Points for Past 7 days" -> %1$s Points for Past %2$s
because of variables genders, plurals and orders will change from a variable to another in fr-FR.
Trying to be clear:
%1$s the Points ...
is ok for a fr-FR t9n for the All
variable but should be kind of: The Points %1$s ...
for other variables (code, test,...)%2$s
gender and place for the translation of Past will change.(I know, I'm not very clear on this one
I already tried to find a solution on the t9n value side, but nothing looks perfect.
I guess I will have to find a solution on the Key side.
On my ToDo.
Seems to be less a problem than I thought
for Key: %1$s Points for Past %2$s
en-GB | fr-FR | %1$s | %2$s |
---|---|---|---|
All Points for Past 7 Days | Tous les points sur les 7 derniers jours | All | 7 Days |
Tracker Points for Past 7 Days | Les points Tracker sur les 7 derniers jours | Tracker | 7 Days |
Test Points for Past 7 Days | Les points Test sur les 7 derniers jours | Test | 7 Days |
Code Points for Past 7 Days | Les points Code sur les 7 derniers jours | Code | 7 Days |
All Points for Past 30 Days | Tous les points sur les 30 derniers jours | All | 30 Days |
Tracker Points for Past 30 Days | Les points Tracker sur les 30 derniers jours | Tracker | 30 Days |
Test Points for Past 30 Days | Les points Test sur les 30 derniers jours | Test | 30 Days |
Code Points for Past 30 Days | Les points Code sur les 30 derniers jours | Code | 30 Days |
All Points for Past 90 Days | Tous les points sur les 90 derniers jours | All | 90 Days |
Tracker Points for Past 90 Days | Les points Tracker sur les 90 derniers jours | Tracker | 90 Days |
Test Points for Past 90 Days | Les points Test sur les 90 derniers jours | Test | 90 Days |
Code Points for Past 90 Days | Les points Code sur les 90 derniers jours | Code | 90 Days |
All Points for Past 12 months | Tous les points sur les 12 derniers mois | All | 12 months |
Tracker Points for Past 12 months | Les points Tracker sur les 12 derniers mois | Tracker | 12 months |
Test Points for Past 12 months | Les points Test sur les 12 derniers mois | Test | 12 months |
Code Points for Past 12 months | Les points Code sur les 12 derniers mois | Code | 12 months |
I will ask for other latin & slavic languages to check and report
I noticed the same gender issue for this page for example: https://issues.joomla.org/activity/project/joomla-cms?lang=en-GB
For the word "Last", in French, we have a gender issue. Its translation if associated to Months/Quarters ("derniers") is different from its translation if associated with Weeks (dernières).
And I confirm, as MAT said, we will have the same gender issue in Italian, Spanish.
I knew I was not crazy and there was also a gender issue
I guess we need 3 variables anyway to let translators deal with the order then find a fix for the gender issue.
How's it work with the %1$s Points From %2$s Through %3$s
string? (1 is the type, 2 is the from date, 3 is the to date)?
Is it solved?
Sorry to bark in here so lately but... In German we would use compound nouns...
All ponits => Alle Punkte
Tracker points => Trackerpunkte
It would be possible to translate the sentence so it's "understandable" but it would look quite ugly
I guess the only "real" solution here would be using an indexed array holding all possible combinations instead of sprintfing the string.
As a non dev... I'm only ready to test every solution if needed.
Sorry but my contribution will stop at this level for this kind of stuff and believe me.... it's better for your code
Labels |
Added:
language
|
I don't think so as for example in: https://github.com/joomla/jissues/blob/0a9abdb6372d54e643b98c4600b1e928e56f0dd2/src/App/Activity/Controller/Ajax/UserActivity.php#L114 and if I understand well:
// TRANSLATORS - The merged segment is the "period text" translated separately (i.e. "7 Days" or "12 Months")
sprintf(g11n3t('All Points for Past %s'), $periodText),
will be for example: All Points for Past 7 days
but in All Points for 7 Past days
-> Tous les points pour les 7 derniers jours
I will have to check also for the gender issue
we have a gender issue as the word "past" must be translated a different way if we refer for example to week (feminine gender) or quarter (masculine gender) that are variables.
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2020-03-12 14:22:57 |
Closed_By | ⇒ | mbabker |
See
https://github.com/joomla/jissues/blob/master/src/App/Activity/Controller/Ajax/UserActivity.php
for the code for the user activity chart.
It's a little tricky here because of all the possible combinations. One
option is an internal array that has all the combos explicitly spelled out
with no sprintf handling, another would be to do the strings in a way that
only the date reference or only the point type reference is merged in.
Ultimately though, for the "best" translations, we need feedback on these
types of issues from all translators to make informed code decisions.
On Saturday, July 9, 2016, Marc-Antoine Thevenet notifications@github.com
wrote: