Page MenuHomePhabricator

Rewrite revision delete related messages to allow better localisation
Closed, ResolvedPublic

Description

Author: xarak

Description:
I have a problem with messages:

  • MediaWiki:revdelete-hid/pl
  • MediaWiki:revdelete-unhid/pl
  • MediaWiki:revdelete-uname/pl
  • MediaWiki:revdelete-summary/pl
  • MediaWiki:revdelete-content/pl

please change this to:

  • MediaWiki:revdelete-hid-uname/pl = MediaWiki:revdelete-hid/pl + MediaWiki:revdelete-uname/pl
  • MediaWiki:revdelete-hid-summary/pl = MediaWiki:revdelete-hid/pl + MediaWiki:revdelete-summary/pl
  • MediaWiki:revdelete-hid-content/pl = MediaWiki:revdelete-hid/pl + MediaWiki:revdelete-content/pl
  • MediaWiki:revdelete-unhid-uname/pl = MediaWiki:revdelete-unhid/pl + MediaWiki:revdelete-uname/pl
  • MediaWiki:revdelete-unhid-summary/pl = MediaWiki:revdelete-unhid/pl + MediaWiki:revdelete-content/pl
  • MediaWiki:revdelete-unhid-content/pl = MediaWiki:revdelete-unhid/pl + MediaWiki:revdelete-summary/pl

The message MediaWiki:revdelete-uname/pl while needed is added in software to the messages MediaWiki:revdelete-hid/pl and MediaWiki:revdelete-unhid/pl. In Polish it is:

  • MediaWiki:revdelete-hid/pl + MediaWiki:revdelete-uname/pl = ukryj + nazwę użytkownika
  • MediaWiki:revdelete-unhid/pl + MediaWiki:revdelete-uname/pl = nie ukrywaj + nazwy użytkownika

(sign "+" was used only as separator)

It is impossible to correctly translate this messages now.


Version: unspecified
Severity: normal

Details

Reference
bz18578

Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 10:30 PM
bzimport set Reference to bz18578.

happy.melon.wiki wrote:

I believe that the issue is that RevDelete log entries are constructed as "<action> <target>", where <action> is either [[MediaWiki:revdelete-hid]] or [[MediaWiki:revdelete-unhid]], and <target> is selected from [[MediaWiki:revdelete-content]], [[MediaWiki:revdelete-uname]] or [[MediaWiki:revdelete-summary]].

Why is it therefore impossible to translate? It seems from your post (although I don't speak a word of Polish) that the phrase for "hid username" needs to be "ukryj nazwę użytkownika", while "unhid username" would be "nie ukrywaj nazwy użytkownika"; the last letter of the second word is different - is this the distinction? Is it grammatical - a different case or conjugation?

(In reply to comment #1)

Why is it therefore impossible to translate? It seems from your post (although
I don't speak a word of Polish) that the phrase for "hid username" needs to be
"ukryj nazwę użytkownika", while "unhid username" would be "nie ukrywaj nazwy
użytkownika"; the last letter of the second word is different - is this the
distinction? Is it grammatical - a different case or conjugation?

Doesn't really matter. Inflection for nouns and verbs is so common that this is a bug and should be fixed.

xarak wrote:

In slavic language we have infection. It means in messages constructed with "<action> <target>" we must inflect target. Following table maybe help you.

  • current value

action:

  • MediaWiki:revdelete-hid/pl = "ukryj $1" target must be in dative singular
  • MediaWiki:revdelete-unhid/pl = "nie ukrywaj $1" target must be in genitive singular

target:

  • MediaWiki:revdelete-uname/pl = "nazwę użytkownika"
  • MediaWiki:revdelete-summary/pl = "opis zmian"
  • MediaWiki:revdelete-content/pl = "zawartość"
  • msg + msg = now is -> must be

ok:

  • MediaWiki:revdelete-hid/pl+MediaWiki:revdelete-uname/pl = "ukryj nazwę użytkownika" -> "ukryj nazwę użytkownika"
  • MediaWiki:revdelete-hid/pl+MediaWiki:revdelete-summary/pl = "ukryj opis zmian" -> "ukryj opis zmian"
  • MediaWiki:revdelete-hid/pl+MediaWiki:revdelete-content/pl = "ukryj zawartość" -> "ukryj zawartość"

infection error:

  • MediaWiki:revdelete-unhid/pl+MediaWiki:revdelete-uname/pl = "nie ukrywaj nazwę użytkownika" -> "nie ukrywaj nazwy użytkownika"
  • MediaWiki:revdelete-unhid/pl+MediaWiki:revdelete-summary/pl = "nie ukrywaj opis zmian" -> "nie ukrywaj opisu zmian"
  • MediaWiki:revdelete-unhid/pl+MediaWiki:revdelete-content/pl = "nie ukrywaj zawartość" -> "nie ukrywaj zawartości"

This turned out to be a bit harder than I excpected, because the $1 can actually be a list of items:

$s .= wfMsgForContent( 'revdelete-hid', implode( ', ', $changes[0] ) ); (should use $wgLang->commaList() btw)

Would it be enough to keep the revdelete-(un)hid and make variants of revdelete-{uname,summary,content} for the unhid message?

Paweł, with the new log messages implementation that Niklas did for bug 24156, there is a need to rewrite these messages anyway. Please be prepared to discuss some feedback requests Niklas may make in this issue.