Page MenuHomePhabricator

New translation strings for CTA’s in Suggested edits
Closed, ResolvedPublic1 Story Points


Why are we doing this

In the course of reviewing image captions and thanks to @Dbrant, we identified that the following strings in “Suggested edits“ are hard to translate to other languages, namely these two:

  • Add %language translation
  • %language caption published!

Affected screens


Change strings to:

  • Add image caption (%language)
  • Add article description (%language)
  • Image caption published! (%language)
  • Article description published! (%language)

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMay 29 2019, 2:36 PM

The suggested solution (in the task’s description) should work in German:

  • Übersetzung hinzufügen (%language)
  • Bildunterschrift hinzugefügt! (%language)

... and French:

  • Ajouter une traduction (%language)
  • Légende publiée! (%language)

@Dbrant, as per our conversation, these work in Russian too, right?

@Sharvaniharan @cooltey, do the strings work in your languages as well?

@Amire80, would be great to get your feedback as well if you find time!

CC: @Charlotte

From a UX perspective, I think it’s best to stick with the terms “add” (plus iconography) and “translation”, as they indicate precisely what’s going to happen when you tap the CTA’s.

Feel free to propose other solutions, that’s what this task is for – thanks all! 🇷🇺🇹🇼🇮🇳🏴󠁧󠁢󠁥󠁮󠁧󠁿🇫🇷🇨🇭

Charlotte triaged this task as High priority.May 29 2019, 4:30 PM

Yes, the strings work in my language!

Hey @Nikerabbit 👋, @Pginer-WMF suggested to get in touch with you and profit from your expertise / ask for advice.

To make it short; these strings are hard to translate to certain languages:

  • Add %language translation
  • %language caption published!

I suggest to change them to:

  • Add translation (%language)
  • Caption published! (%language)

Do you think that could work or do you have a better idea? I’m not quite sure about the parentheses. Here’s a a visual to get a sense of where it’s used:


The feedback about them being hard to translate is correct.

The main problem here is that in a sentence context the language names require inflection [1] in many languages. Inflecting words is a complicated matter, and almost always possible in strings which contain input variables of arbitrary content. With language names there is the additional problem that translated language names are not available in many languages. So instead of getting the language name in the target language (which could be inflected) the language name may be in English or in the language of the target language (which usually cannot even be inflected).

[1] Or a similar process. The language names are provided as nouns, but they are used as adjectives here. In English, conveniently, they both look the same. In Finnish you would first need to form an adjective from the noun through derivation. Or one could use a different grammatical structure that only requires inflecting the noun.

From my experience in translating to Finnish, it usually helps to add a word describing the term passed as variable. User $1 thanked user $2 is better and clearer than $1 thanked $2. For illustration purposes, in this case it would be something like:

  • Add %language language translation
  • %language language caption published!

Let's say %language is Finnish (suomi), then I could translate these to

  • Lisää käännös kielellä %language
  • Kuvaus kielellä %language on julkaistu.

Compare with the natural reading:

  • Lisää suomenkielinen käännös
  • Suomenkielinen kuvaus julkaistiin! OR Kuvaus suomeksi julkaistiin!

Basically I'm inflecting the word language (kieli) instead of the actual language name. Many languages (but maybe not all) have similar strategies to handle these situations.

You could make it slightly simpler by avoiding the use of adjectives, but per above, this doesn't solve all the problems unless it comes with a good message documentation for translators that encourages them to create a translation that works best in their language, given the restrictions:

  • Add translation in %language
  • Caption in %language published!

TL:DR; I think the suggested solution in the task description is fine (and definitely easier for translators) and also keeps the strings short, but I also think that giving translators good instructions would also be a good solution.

Wow, thanks much @Nikerabbit for your thorough answer. It really helped to understand the problematic nature of the current strings.

The simplified variants without adjectives do feel more natural. Also, using parentheses in a CTA, as I initially had in mind, feels like a contradiction. The concept you suggested:

  • Add translation in %language
  • Caption in %language published! in German:

  • Übersetzung in Deutsch hinzufügen
  • Bildunterschrift in Deutsch hinzugefügt!

... and French (to the best of my knowledge):

  • Ajouter une traduction en français
  • Légende en français ajoutée!

@Charlotte @Dbrant @cooltey @Sharvaniharan any objections in going with these strings?

@schoenbaechler - No objection to the strings, as long as they work in most languages. (They work in Latin, which is of course the most important.)

As a pet project, I've been trying to build a smarter way to write such strings in jquery.ime and core MediaWiki, so that they would be universally translatable, with completely correct grammar. I'm still far from achieving it, unfortunately.

We have the same problem in Content Translation, so we get a lot of not-so-nicely translations. At the moment we won't get much better than the current suggestions in the task description and in @Nikerabbit's comment.

But it's really nice that you care about it—perhaps I should revive that pet project of mine...

Dbrant added a comment.EditedJun 5 2019, 12:14 PM

TLDR: No, can we please stick with "Add translation (%language)"?

In Russian we would still have the same problem as previously mentioned. The strings can be written in a couple of different ways:

  • Добавить английское описание (adjective, gender neuter)
  • Добавить описание на английском (prepositional singular)

Both of the above examples feature a modified version of the language name (английский, which is itself singular male) that changes based on its usage in the sentence. The best thing to do is to divorce the language name as much as possible from the sentence structure, and have it stand on its own.

schoenbaechler added a comment.EditedJun 10 2019, 1:16 PM

After seeing @Dbrant’s comment, I guess we should go with Add image caption (%language) / Add article description (%language) and
Image caption published! (%language) for now. Or better to say, until @Amire80 found a smarter way to write such strings. Thanks for chiming in btw. and definitely very interested in seeing you reviving your pet project!

Ok, so I’ll move this to ready for dev. The following screen from the previous release (Add/translate descriptions) is affected:

And in the upcoming release (Add/translate captions) the following:

(task is related to the changes in T225436)

Charlotte lowered the priority of this task from High to Normal.Jun 10 2019, 4:29 PM
Charlotte set the point value for this task to 1.

Thanks for proactively working @cooltey, I forgot to add Article description published! (%language) in the description but saw that you added it yourself! 👏 Moving it to QA signoff.

ABorbaWMF added a subscriber: ABorbaWMF.

Looks good to me on a couple of language on 2.7.50282-alpha-2019-06-18

Dbrant closed this task as Resolved.Jun 26 2019, 11:36 AM