Page MenuHomePhabricator

Default system messages should be improved.
Closed, ResolvedPublic

Description

Author: ohtqbgjvxvzrqvnqbgb.yeuhc

Description:
The default system messages (in English) should be improved to increase
usability. Attached is a patch against the trunk version of Messages.php which
proposes to do this.

There are several sources for the improvements. A) reading through the messages
used on Wikipedia and deciding if they offer a valuable improvement B)
suggestions from people the IRC channels C) my own experience

  • update of messages with more explanations from Wikipedia
  • consistent use of namespace macros (only project is done as {{ns:project}}
  • consistent change of article to page.

Version: 1.8.x
Severity: enhancement

Details

Reference
bz6702

Event Timeline

bzimport raised the priority of this task from to High.Nov 21 2014, 9:21 PM
bzimport set Reference to bz6702.

ohtqbgjvxvzrqvnqbgb.yeuhc wrote:

patch of Messages.php

A patch of Messages.php (to be applied from inside languages subdirectory)

attachment Messages.php-2006-07-13-2.diff ignored as obsolete

ohtqbgjvxvzrqvnqbgb.yeuhc wrote:

patch of Messages.php

This version incorporates more comments from IRC discussions. Includes removal
of some Wikipedia specific parts of messages and generalisation of messages
which were too specific. A delta diff will follow for easier verification.

attachment Messages.php-2006-07-16-1.diff ignored as obsolete

ohtqbgjvxvzrqvnqbgb.yeuhc wrote:

diff containing changes made between first patch and second patch

diff between my first patch and second patch. For easy reviewing rather than
applying to Messages.php.

Attached:

ohtqbgjvxvzrqvnqbgb.yeuhc wrote:

updated patch which uses Project: instead of {{ns:project}}

TimStarling said that in all cases Project: should be used instead of
{{ns:project}}. This version of the patch changes over in that way.

attachment Messages.php-2006-07-20-1.diff ignored as obsolete

ayg wrote:

I'd be interested in committing this in whole or in part if a new version were provided that applied cleanly to trunk.

ohtqbgjvxvzrqvnqbgb.yeuhc wrote:

new version of the patch against latest SVN version of mediawiki

Quite a number of my suggested changes seem to have been accepted. I've gone through and selected only those which still seem to make sense and rewritten them against the latest version of the messages file. If anyone has comments soon, I'll try to be around for at leas a little while to fix up the patch and take them into account.

attachment Messages.php-2008-09-02.diff ignored as obsolete

ayg wrote:

-'nosuchactiontext' => 'The action specified by the URL is not recognized by the wiki',
+'nosuchactiontext' => '{{SITENAME}} does not recognize the action specified by the URL.',

I'm not sure this one is any better.

-'loginproblem' => '<b>There has been a problem with your login.</b><br />Try again!',
+'loginproblem' => '<strong>There has been a problem with your login.</strong><br />Try again!',

Do we want to blanket-replace <b> with <strong> here (where appropriate)? I'm pretty sure this has been discussed before.

'nosuchuser' => 'There is no user by the name "$1".
-Check your spelling, or create a new account.',
+Check your spelling, or create a new account using the link below.',

Wouldn't it be better to just turn "create a new account" into a link?

'acct_creation_throttle_hit' => 'Sorry, you have already created $1 accounts.
-You cannot make any more.',
+You cannot make any more. If this is in error, please try again later or contact us.',

That proviso could be added to practically any error message. Any reason why it was added here particularly?

-'whitelistedittext' => 'You have to $1 to edit pages.',
+'whitelistedittext' => 'You have to '''$1''' to edit pages.',

Is this message ever actually used anymore? I can't seem to get it, I only get 'permissionserrorstext-withaction' or something like that.

-'accmailtext' => 'The password for "$1" has been sent to $2.',
+'accmailtext' => 'The password for '$1' has been sent to $2.',

This is a syntax error, first of all. If you're just making changes to message files, try running the message files through php -l to ensure you didn't break them.

Second of all, double quotes are more usual, at least in America. Why the change?

-'usercsspreview' => "'''Remember that you are only previewing your user CSS, it has not yet been saved!'''",
+'usercsspreview' => "'''Remember that you are only previewing your user CSS; it has not yet been saved!'''",

A period would be even better here.

'searchdisabled' => '{{SITENAME}} search is disabled.
-You can search via Google in the meantime.
+You may be able to search via a search engine such as Google in the meantime.
Note that their indexes of {{SITENAME}} content may be out of date.',

This seems kind of inappropriate given that by default, only Google search is *offered*. If we want to make the wording vendor-agnostic, we should offer forms for other search engines . . .

-'rows' => 'Rows:',
+'rows' => 'Editbox dimensions (rows):',
'columns' => 'Columns:',

Shouldn't you be changing 'columns' so that it matches? With this change it would look like

Editbox dimensions (rows): ____ Columns: ____

"Rows" is parenthesized by "Columns" is not. On the other hand, the way enwiki has it is also not great:

Editbox dimensions: Rows: ____ Columns: ____

Two consecutive colons there seems wrong to me. Also I think the term "editbox" could be improved upon, at least broken into two words.

'uploadlogpagetext' => 'Below is a list of the most recent file uploads.
-See the [[Special:NewImages|gallery of new files]] for a more visual overview.',
+See the [[Special:NewImages|gallery of new files]] for a more visual overview.
+User filters must have the same capitalization as the userid.',

Except for the first letter. And the "userid" is a number, to be precise. Better wording here would be good.

'fileexists-forbidden' => 'A file with this name exists already;
-please go back and upload this file under a new name. [[Image:$1|thumb|center|$1]]',
+if you still want to upload, please go back use a new name. [[Image:$1|thumb|center|$1]]',
'fileexists-shared-forbidden' => 'A file with this name exists already in the shared file repository;
-please go back and upload this file under a new name. [[Image:$1|thumb|center|$1]]',
+if you still want to upload, please go back use a new name. [[Image:$1|thumb|center|$1]]',

You must mean "... please go back and use a new name" or similar. I'll also break that off into a new sentence, drop the semicolon.

-'imagelinks' => 'Links',
+'imagelinks' => 'File links',

Not sure if this is useful. It's a file, of course these are file links.

-'noimage' => 'No file by this name exists, you can $1.',
+'noimage' => 'No file by this name exists; you can $1.',

Again, new sentences are probably better than changing commas to semicolons. Or in this case, adding the word "but" sounds good.

-You can narrow down the view by selecting a log type, the user name, or the affected page.',
+You can narrow down the view by selecting a log type, the user name (case sensitve), or the affected page.',

"sensitive", not "sensitve". :)

-'watchlist-details' => '{{PLURAL:$1|$1 page|$1 pages}} watched not counting talk pages.',
+'watchlist-details' => '{{PLURAL:$1|$1 page|$1 pages}} on your watchlist not counting talk pages.',

Why this change?

I committed anything I didn't comment on, and some of the things I did, in r40508. I forgot to add "Based on a patch by Michael De La Rue" in the commit message, but I added you to CREDITS, so people should get the hint, I guess. I'll leave this open for further discussion on the parts I didn't commit, and anything else you might want to suggest.

ohtqbgjvxvzrqvnqbgb.yeuhc wrote:

This is long since I decided it's better to quote all the things you
asked.

-'nosuchactiontext' => 'The action specified by the URL is not recognized by the wiki',
+'nosuchactiontext' => '{{SITENAME}} does not recognize the action specified by the URL.',

I'm not sure this one is any better.

This is better because

  • the user doesn't always know what a wiki is.
  • it makes it clear which wiki isn't recognising the URL; there may be

several wikis involved

  • the site name is normally obvious on the every page so easily understood

Remember that these are the default messages so to be used mostly in
newer wikis and / or by people new to wikis.

-'loginproblem' => '<b>There has been a problem with your login.</b><br />Try again!',
+'loginproblem' => '<strong>There has been a problem with your login.</strong><br />Try again!',

Do we want to blanket-replace <b> with <strong> here (where appropriate)? I'm
pretty sure this has been discussed before.

<strong> is semantic markup meaning "this is important". <b> is
visual formating meaning "this should be displayed in bold font",
which mapps to several differnt meanings (emphasised text / important
text / variable names) and so should mostly be avoided. Using strong
makes it clear for a screen reader (for the visually impaired or
blind) what it should do wheras <b> doesn't so much.

'nosuchuser' => 'There is no user by the name "$1".
-Check your spelling, or create a new account.',
+Check your spelling, or create a new account using the link below.',

Wouldn't it be better to just turn "create a new account" into a link?

probably. the link is

	   http://en.wikipedia.org/w/index.php?title=Special:UserLogin&type=signup&returnto=Main_Page

but I'm not sure what would be the correct way to embed it?

Check your spelling, or [[Special:Userlogin&type=signup|create a new account]]

doesn't seem to work for example?

'acct_creation_throttle_hit' => 'Sorry, you have already created $1 accounts.
-You cannot make any more.',
+You cannot make any more. If this is in error, please try again later or contact us.',

That proviso could be added to practically any error message. Any reason why
it was added here particularly?

This message happens due to a specific time limit. If we were trying
to communiucate clearly then we would say "'Sorry, your IP address has
created $1 accounts within $2 minutes. You cannot make any more until
$3 minutes have passed'". I think the reason we don't say that is
that it gives the spamming user the hint to get some more IP addresses
and try again.

So, I wanted to give people who are unlucky in their timing and behind
a proxy with many others a hint to try again later, but without
breaking the obscurity (for "security") of the original message.

-'whitelistedittext' => 'You have to $1 to edit pages.',
+'whitelistedittext' => 'You have to '''$1''' to edit pages.',

Is this message ever actually used anymore? I can't seem to get it, I only get
'permissionserrorstext-withaction' or something like that.

I get this error when I have a wiki which doesn't allow editing except
for logged in users. for example

you have to login to edit pages

at least I think this is the string which generates it. This is using
the LDAP authentication module

http://www.mediawiki.org/wiki/Extension:LDAP_Authentication

-'accmailtext' => 'The password for "$1" has been sent to $2.',
+'accmailtext' => 'The password for '$1' has been sent to $2.',

This is a syntax error, first of all. If you're just making changes to message
files, try running the message files through php -l to ensure you didn't break
them.

Second of all, double quotes are more usual, at least in America. Why the
change?

The single quotes were meant to make emphasis rather than quotes.

-'usercsspreview' => "'''Remember that you are only previewing your user CSS, it has not yet been saved!'''",
+'usercsspreview' => "'''Remember that you are only previewing your user CSS; it has not yet been saved!'''",

A period would be even better here.

'searchdisabled' => '{{SITENAME}} search is disabled.
-You can search via Google in the meantime.
+You may be able to search via a search engine such as Google in the meantime.
Note that their indexes of {{SITENAME}} content may be out of date.',

This seems kind of inappropriate given that by default, only Google search is
*offered*. If we want to make the wording vendor-agnostic, we should offer
forms for other search engines . . .

Yes. The problem is that in an intranet setting Google probably
doesn't work and you have to use the company search engine.
Suggesting searching by google can be confusing. Probably an option
to change the search engine and the message has to be provided.

[row/column issue I'm not sure how to handle deleted for now]

'uploadlogpagetext' => 'Below is a list of the most recent file uploads.
-See the [[Special:NewImages|gallery of new files]] for a more visual overview.',
+See the [[Special:NewImages|gallery of new files]] for a more visual overview.
+User filters must have the same capitalization as the userid.',

Except for the first letter. And the "userid" is a number, to be precise.
Better wording here would be good.

well, it doesn't do any harm if they get the first letter right :-) I changed
to username

'fileexists-forbidden' => 'A file with this name exists already;
-please go back and upload this file under a new name. [[Image:$1|thumb|center|$1]]',
+if you still want to upload, please go back use a new name. [[Image:$1|thumb|center|$1]]',
'fileexists-shared-forbidden' => 'A file with this name exists already in the shared file repository;
-please go back and upload this file under a new name. [[Image:$1|thumb|center|$1]]',
+if you still want to upload, please go back use a new name. [[Image:$1|thumb|center|$1]]',

You must mean "... please go back and use a new name" or similar. I'll also
break that off into a new sentence, drop the semicolon.

agreed

-'imagelinks' => 'Links',
+'imagelinks' => 'File links',

Not sure if this is useful. It's a file, of course these are file links.

agree

-'noimage' => 'No file by this name exists, you can $1.',
+'noimage' => 'No file by this name exists; you can $1.',

Again, new sentences are probably better than changing commas to semicolons.
Or in this case, adding the word "but" sounds good.

seems to have already been implemented as you suggested.

-You can narrow down the view by selecting a log type, the user name, or the affected page.',
+You can narrow down the view by selecting a log type, the user name (case sensitve), or the affected page.',

"sensitive", not "sensitve". :)

-'watchlist-details' => '{{PLURAL:$1|$1 page|$1 pages}} watched not counting talk pages.',
+'watchlist-details' => '{{PLURAL:$1|$1 page|$1 pages}} on your watchlist not counting talk pages.',

Why this change?

I find it more clear. Watched seems a bit ambiguous. It doesn't seem
such an important change however.

I committed anything I didn't comment on, and some of the things I did, in
r40508. I forgot to add "Based on a patch by Michael De La Rue" in the commit
message, but I added you to CREDITS, so people should get the hint, I guess.
I'll leave this open for further discussion on the parts I didn't commit, and
anything else you might want to suggest.

No problem. Thanks for being willing to get this stuff committed
quickly. It makes it much easier to help.

ohtqbgjvxvzrqvnqbgb.yeuhc wrote:

Updated patch against today's mediawiki / revision 40616.

This patch has most of the unapplied patches; I dropped ones I decided were pointless.

I'm not sure how to handle the "create new account" link e.g. and I dropped that change for right now.

attachment MessagesEn.php.patch ignored as obsolete

ayg wrote:

(In reply to comment #8)

This is better because

  • the user doesn't always know what a wiki is.
  • it makes it clear which wiki isn't recognising the URL; there may be

several wikis involved

  • the site name is normally obvious on the every page so easily understood

Remember that these are the default messages so to be used mostly in
newer wikis and / or by people new to wikis.

The message is completely incomprehensible anyway, unless you're a MediaWiki expert. And nobody should ever be seeing it unless they manually type in a broken URL. Maybe something like:

"The action specified by the URL is invalid. You might have mistyped the URL, or followed an incorrect link. This might also indicate a bug."

<strong> is semantic markup meaning "this is important". <b> is
visual formating meaning "this should be displayed in bold font",
which mapps to several differnt meanings (emphasised text / important
text / variable names) and so should mostly be avoided. Using strong
makes it clear for a screen reader (for the visually impaired or
blind) what it should do wheras <b> doesn't so much.

Yes, I realize that this is nice in theory, but in practice the sysops who maintain system message customizations aren't HTML gurus and can't tell the difference. Using <strong> in articles instead of ''' is usually not encouraged, because it makes the wikitext harder to read, so should we do it in messages? I'd prefer broader discussion before changing these around en masse. Also, this would require changing all other languages too, if we're to do it properly. Let's keep this bug focused more on wording improvements specific to the English localization.

probably. the link is

http://en.wikipedia.org/w/index.php?title=Special:UserLogin&type=signup&returnto=Main_Page
but I'm not sure what would be the correct way to embed it?

Check your spelling, or [[Special:Userlogin&type=signup|create a new account]]

doesn't seem to work for example?

[[Special:Userlogin/signup]]

This message happens due to a specific time limit. If we were trying
to communiucate clearly then we would say "'Sorry, your IP address has
created $1 accounts within $2 minutes. You cannot make any more until
$3 minutes have passed'". I think the reason we don't say that is
that it gives the spamming user the hint to get some more IP addresses
and try again.

So, I wanted to give people who are unlucky in their timing and behind
a proxy with many others a hint to try again later, but without
breaking the obscurity (for "security") of the original message.

So the point is that here, it might not be the user's fault at all, because it might be a shared IP address. Then I think a better way to communicate that would be replacing "you" with "you (or someone using the same IP address)". I'm not too worried about encouraging people to switch IPs -- anyone who knows how to do that on a reasonably large scale is probably going to immediately realize that that's what the restriction is based on anyway. Security through obscurity and all that.

-'whitelistedittext' => 'You have to $1 to edit pages.',
+'whitelistedittext' => 'You have to '''$1''' to edit pages.',

Is this message ever actually used anymore? I can't seem to get it, I only get
'permissionserrorstext-withaction' or something like that.

I get this error when I have a wiki which doesn't allow editing except
for logged in users. for example

you have to login to edit pages

at least I think this is the string which generates it. This is using
the LDAP authentication module

http://www.mediawiki.org/wiki/Extension:LDAP_Authentication

Yeah, it does crop up, apparently. Okay, so now why do we want to boldface this?

The single quotes were meant to make emphasis rather than quotes.

Single quotes aren't used for emphasis in any dialect of standard English I'm familiar with.

Yes. The problem is that in an intranet setting Google probably
doesn't work and you have to use the company search engine.
Suggesting searching by google can be confusing. Probably an option
to change the search engine and the message has to be provided.

Sure, but no point trying to do one without the other.

-'clearyourcache' => "'''Note - After saving, you may have to bypass your browser's cache to see the changes.''' '''Mozilla / Firefox / Safari:''' hold ''Shift'' while clicking ''Reload,'' or press either ''Ctrl-F5'' or ''Ctrl-R'' (''Command-R'' on a Macintosh);'''Konqueror: '''click ''Reload'' or press ''F5;'' '''Opera:''' clear the cache in ''Tools → Preferences;'' '''Internet Explorer:''' hold ''Ctrl'' while clicking ''Refresh,'' or press ''Ctrl-F5.''",
+'clearyourcache' => "'''Note - After saving, you may have to bypass your browser's cache to see the changes.''' '''Mozilla / Firefox / Safari:''' hold ''Shift'' while clicking ''Reload,'' or press either ''Ctrl-F5'' or ''Ctrl-R'' (''Command-R'' on a Macintosh); '''Konqueror: '''click ''Reload'' or press ''F5;'' '''Opera:''' clear the cache in ''Tools → Preferences;'' '''Internet Explorer:''' hold ''Ctrl'' while clicking ''Refresh,'' or press ''Ctrl-F5.''",

Is this just adding the space after the semicolon? I can't tell reliably, the line is too long. If so, fixed that in r40760. Also broke it up into more lines, so that diffs actually make sense.

'uploadlogpagetext' => 'Below is a list of the most recent file uploads.
-See the [[Special:NewImages|gallery of new files]] for a more visual overview.',
+See the [[Special:NewImages|gallery of new files]] for a more visual overview.
+Filters need correct capitalization of the user name.',

This seems too jargon-ish too me. "Filters" isn't going to be a term that most of our users understand.

-'watchlist-details' => '{{PLURAL:$1|$1 page|$1 pages}} watched not counting talk pages.',
+'watchlist-details' => '{{PLURAL:$1|$1 page|$1 pages}} on your watchlist not counting talk pages.',

Okay, added this too.

ohtqbgjvxvzrqvnqbgb.yeuhc wrote:

This is the latest remaining unmerged changes. Only seven.

The message is completely incomprehensible anyway, unless you're a MediaWiki
expert.

Agreed. I tried a rewrite. See if you like it better now.

[[Special:Userlogin/signup]]

I changed this.

So the point is that here, it might not be the user's fault at all, because it
might be a shared IP address. Then I think a better way to communicate that
would be replacing "you" with "you (or someone using the same IP address)".
I'm not too worried about encouraging people to switch IPs -- anyone who knows
how to do that on a reasonably large scale is probably going to immediately
realize that that's what the restriction is based on anyway. Security through
obscurity and all that.

Okay, I made a clear and open version of the messge. That's actually
my preference too.

-'whitelistedittext' => 'You have to $1 to edit pages.',
+'whitelistedittext' => 'You have to '''$1''' to edit pages.',

[...]

Yeah, it does crop up, apparently. Okay, so now why do we want to boldface
this?

This actually turns up as a working link for logging in. Making it
bold brings it to the users attention and then they can simply click
it and solve their problem.

Single quotes aren't used for emphasis in any dialect of standard English I'm
familiar with.

changed to double single quotes cos that's what I meant.

Is this just adding the space after the semicolon?

Yes; thus irrelevant after your change

'uploadlogpagetext' => 'Below is a list of the most recent file uploads.
-See the [[Special:NewImages|gallery of new files]] for a more visual overview.',
+See the [[Special:NewImages|gallery of new files]] for a more visual overview.
+Filters need correct capitalization of the user name.',

This seems too jargon-ish too me. "Filters" isn't going to be a term that most
of our users understand.

Jargon eliminated.

Attached:

ohtqbgjvxvzrqvnqbgb.yeuhc wrote:

get rid of <strong> and <b> and use ''' instead - English messages only for now.

[...] Using <strong> in articles instead of ''' is usually not
encouraged, because it makes the wikitext harder to read, so should we do it in
messages? I'd prefer broader discussion before changing these around en masse.
Also, this would require changing all other languages too, if we're to do it
properly. Let's keep this bug focused more on wording improvements specific to
the English localization.

I totally agree about changing all the messages to match. I didn't
find an instance of <b> in the messages which didn't really mean
<strong> so there is no reason they shouldn't all be consistent. I also agree
that the proper wiki way is ''' rather than <strong>.

Here's a patch which converts the English messages to use '''. Have a
look if you like it. If so I'll think about doing a patch for all
languages at once.

That's a big change. Should I do a new bug for it?

Attached:

ayg wrote:

-'nosuchactiontext' => 'The action specified by the URL is not recognized by the wiki',
+'nosuchactiontext' => "''Broken Link''; you seem to have followed a broken link or mistyped a URL.
+It is also possible there is a bug in {{SITENAME}}. Please fix the link if you can.
+Please contact the administrator if you think this is an error in {{SITENAME}}.",

Hmm, I would prefer something more like my version from above, for a couple of reasons:

  • It includes the sentence "The action specified by the URL is invalid." This is meaningless to most users, but invaluable if it's reported to sufficiently tech-y people (who could look at the URL and notice the odd "action=").
  • It doesn't emphasize the terminology "broken link". I don't know if that will be the most likely case.
  • It's more concise.

I do think mentioning {{SITENAME}} at least once isn't a bad idea, though. So maybe something like:

'The action specified by the URL is invalid. You might have mistyped the URL, or followed an incorrect link. This might also indicate a bug in {{SITENAME}}.'

Do you like that?

'nosuchuser' => 'There is no user by the name "$1".
-Check your spelling, or create a new account.',
+Check your spelling, or [[Special:Userlogin&type=signup|create a new account]].',

You used the wrong page name here. I commited the correct one in r40829.

-'acct_creation_throttle_hit' => 'Sorry, you have already created {{PLURAL:$1|1 account|$1 accounts}}.
-You cannot make any more.',
+'acct_creation_throttle_hit' => 'Sorry, $1 accounts. have already been created from your IP address
+You cannot make any more. It is possible this is because of other users on your address
+or shared proxy in which case, please try again later or contact us.',

This is too verbose. I would just change "you have" to "you (or someone with your IP address) has", and tweak the second sentence so it doesn't sound like you can never make any more ever, just not for some time period. I don't think there's a need to double the length of the message.

-'whitelistedittext' => 'You have to $1 to edit pages.',
+'whitelistedittext' => "You have to '''$1''' to edit pages.",

From above: why do we want to boldface this?

-'accmailtext' => 'The password for "$1" has been sent to $2.',
+'accmailtext' => "The password for ''$1'' has been sent to $2.",

Similarly, why do we want to emphasize the username here instead of quoting it? Quoting it seems more natural to me.

'uploadlogpagetext' => 'Below is a list of the most recent file uploads.
-See the [[Special:NewImages|gallery of new files]] for a more visual overview.',
+See the [[Special:NewImages|gallery of new files]] for a more visual overview.
+If you choose a user name you need capitalize it correctly.',

Why don't we use the same formula here as for alllogstext? For that matter, what about newuserlogpagetext, deletelogpagetext, etc.?

-'unusedcategoriestext' => 'The following category pages exist, although no other page or category makes use of them.',
+'unusedcategoriestext' => 'The following category pages exist although no other page or category make use of them.',

I prefer it with the comma, personally.

(In reply to comment #12)

That's a big change. Should I do a new bug for it?

Yeah, I think so. I'd want the opinion of the localizers on it, too.

Can someone finish this bug off?

Applied patches (with some changes) in r46871. Release notes updated in r46872.