Commit graph

726 commits

Author SHA1 Message Date
C. Scott Ananian
450fe7fcd8 Make {{#language}} consistent with {{#dir}} and {{#bcp47}}
Add the same no-arg options for language code that
{{#dir}} and {{#bcp47}} have, for consistency:
* `{{#language}}` will return the name of the *target language*
  (for articles, the content language; for messages, the user language)

The default value for the "in language" argument should be the autonym.
This was working previously but only via a baroque code flow path for
invalid language codes.  Make this a bit clearer and add tests.

Since non-autonym language code translations are added via the
[[Extension:CLDR]] in production, hook LanguageGetTranslatedLanguageNames
in the ParserTestRunner to ensure that we can test this.

Followup-To: Ice1c671c5b3cc077d2bb80ea5dc25c5eabbfeb36
Followup-To: I19c3e91a924e080f37dc95a0d4e61493583b533e
Change-Id: Ibf6e7f194cc056eadb48a5ad8e6d01a761d9351c
2024-07-30 20:27:17 +00:00
Tim Starling
7efc7f7518 Copy the Renameuser extension into core
Copy the Renameuser extension into core, with minimal code changes. The
hook handlers are inlined into Article, SpecialLog and
SpecialContributions.

Bug: T27482
Change-Id: I314021f4138773df6aaf2753b33ab8283cd16974
2023-03-03 09:39:39 -05:00
Stang
aa3fac56b4 Remove twn-related comment from languages/messages/* files
Bug: T304802
Change-Id: Iccacf6288d758e526c95df69861385a4ac2d0f55
2022-11-13 22:46:44 -05:00
Timo Tijhof
939700e8ff language: Continue doc Languages subgroup for msg files and subclasses
Follows-up I301f471f86ba2.

For ease of navigation, move Converter subclasses to a group called
"Languages", which for documentation purposes is a subgroup of
"Language". The next commit does the same for Messages* files,
and Language subclasses (done separately for ease of review).

Change-Id: If1cef9aa15f536ebaedd4477ad7453426e7f3b85
2022-06-29 00:13:45 +00:00
Umherirrender
7f28fe35b8 Sort magic words alises alphabetically in static language files
Use @phpcs-require-sorted-array from new codesniffer release 32.0.0

Similiar to special page alias in
I827d1f5010d000609324ec398beeb142d9bac299

Bug: T255826
Change-Id: I7b7cbf0c03714001609437af68fe16e06930cc33
2021-03-06 16:21:51 +01:00
Umherirrender
673477a4b4 Sort special page alises alphabetically
Use @phpcs-require-sorted-array from new codesniffer release 32.0.0

Bug: T255826
Change-Id: I827d1f5010d000609324ec398beeb142d9bac299
2020-10-30 09:59:17 +01:00
Bartosz Dziewoński
0313128b10 Use PHP 7 "\u{NNNN}" Unicode codepoint escapes in string literals
In cases where we're operating on text data (and not binary data),
use e.g. "\u{00A0}" to refer directly to the Unicode character
'NO-BREAK SPACE' instead of "\xc2\xa0" to specify the bytes C2h A0h
(which correspond to the UTF-8 encoding of that character). This
makes it easier to look up those mysterious sequences, as not all
are as recognizable as the no-break space.

This is not enforced by PHP, but I think we should write those in
uppercase and zero-padded to at least four characters, like the
Unicode standard does.

Note that not all "\xNN" escapes can be automatically replaced:
* We can't use Unicode escapes for binary data that is not UTF-8
  (e.g. in code converting from legacy encodings or testing the
  handling of invalid UTF-8 byte sequences).
* '\xNN' escapes in regular expressions in single-quoted strings
  are actually handled by PCRE and have to be dealt with carefully
  (those regexps should probably be changed to use the /u modifier).
* "\xNN" referring to ASCII characters ("\x7F" and lower) should
  probably be left as-is.

The replacements in this commit were done semi-manually by piping
the existing "\xNN" escapes through the following terrible Ruby
script I devised:

  chars = eval('"' + ARGV[0] + '"').force_encoding('utf-8')
  puts chars.split('').map{|char|
    '\\u{' + char.ord.to_s(16).upcase.rjust(4, '0') + '}'
  }.join('')

Change-Id: Idc3dee3a7fb5ebfaef395754d8859b18f1f8769a
2018-06-04 16:20:13 +00:00
Bartosz Dziewoński
eb6bb6b7b9 Generalize non-digit-grouping of four-digit numbers
In some languages it's conventional not to insert a thousands
separator in numbers that are four digits long (1000-9999).
Rather than copy-paste the custom code to do this between 13 files,
introduce another option and have the base Language class handle it.

This also fixes an issue in several languages where this logic
previously would not work for negative or fractional numbers.

To implement this, a new option is added to MessagesXx.php files,
`$minimumGroupingDigits = 2;`, with the meaning as defined in
<http://unicode.org/reports/tr35/tr35-numbers.html>. It is a little
roundabout, but it could allow us to migrate the number formatting
(currently all custom code) to some generic library easily.

Bug: T177846
Change-Id: Iedd8de5648cf2de1c94044918626de2f96365d48
2018-01-02 11:17:25 +01:00
Fomafix
ce6f7faadd Remove trailing empty lines in PHP
Performed using
find . -name \*.php -exec sed -i -e :a -e '/./,$!d;/^\n*$/{$d;N;};/\n$/ba' {} \;

Change-Id: I5d0627f94c73690cf3a8a453539c22c760c2aa60
2017-01-16 22:06:43 +01:00
eranroz
9e60ff49ba Add prefered magic words first
When there are multiple aliases, the first alias MUST be the
preferred alias in that language, so that wikitext code
generators can generate the desired syntax.

The other aliases SHOULD be sorted by the following convention:
- Local first, English last
- Most common first, least common last

Bug: T116020
Change-Id: Ia670512e0cb375335873e7f9a08b638bbe039e45
2016-04-02 10:26:47 +02:00
Kunal Mehta
6e9b4f0e9c Convert all array() syntax to []
Per wikitech-l consensus:
 https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html

Notes:
* Disabled CallTimePassByReference due to false positives (T127163)

Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
2016-02-17 01:33:00 -08:00
Mark A. Hershberger
97e9cdd2ef Remove references to Popularpages alias
The bit being removed here causes a NOTICE with HitCounters.

Change-Id: I318eb641d4ed4b50dea0a172cf7970045b3a49e7
2015-07-25 15:45:44 -04:00
Yuri Astrakhan
ac5f821ad1 Replaced spaces with underscores in NS_ consts
* All $namespaceNames and similar messages
that reference NS_* constants seem to use '_' for spaces,
except a few cases. I suspect its a mistake, thus replacing.

Regexes used:
 ([^'"\n]*['"][^'"\n]*(['"][^'"\n]*['"])*[^'"\n]*[^A-Za-z0-9]NS_)
contains a space in front, replaced with _\1

[^A-Za-z0-9]NS_([^'"\n]*['"][^'"\n]*['"])*[^'"\n]*['"][^'"\n]*
contains a space at the very end, replaced with \1_

Change-Id: Ibbc201678ee91db2b5bf3de597c1598b86558d77
2015-05-23 19:48:31 +00:00
Siebrand Mazeland
661f9e23e0 Localisation updates from https://translatewiki.net.
Updates for magic words.

Change-Id: Ic564d36de395c9a30be5f1390591da723f47edce
2015-01-29 20:39:32 +01:00
Niklas Laxström
b382478944 Cleanup message file documentation
* Interface strings are now elsewhere
* MessagesQQQ no longer exists
* Prefer https for translatewiki.net

Change-Id: I76652ea94cca80441cd5d978029e4707ee41c4fd
2014-06-05 14:06:25 +00:00
Siebrand Mazeland
0dd91d5396 Migrate translations for core to JSON format
Largest patch set in the history of MediaWiki!

Change-Id: I918cfdc46c099017ca3622d1bcbbdd30c4fd00f6
2014-04-01 21:25:43 +00:00
Translation updater bot
504179c922 Localisation updates from https://translatewiki.net.
Change-Id: I6ac7ce50b6204e9e9d63695c9532d33796d4cc7d
2014-03-29 21:13:18 +00:00
Translation updater bot
9ff59d43e9 Localisation updates from https://translatewiki.net.
Change-Id: Ica6fa7fc2d685a655e07b24cd54c7ec42d10f214
2014-03-27 20:29:00 +00:00
Translation updater bot
8f2e73f9b3 Localisation updates from https://translatewiki.net.
Change-Id: I31ee0d1685cdf6b315cb5336b30e548c76d67a95
2014-03-26 20:37:55 +00:00
Translation updater bot
e14f84ab9c Localisation updates from https://translatewiki.net.
Change-Id: I18970accbce3b383e4ad89df2b5cd0d638861e26
2014-03-21 20:46:11 +00:00
Translation updater bot
ed3e9d73ed Localisation updates from https://translatewiki.net.
Change-Id: If3a8ff71e98aab98c39991147c715ec388ef91aa
2014-03-19 20:44:32 +00:00
Translation updater bot
c9c8d2de86 Localisation updates from https://translatewiki.net.
Change-Id: If66ddc1478b986417b08bd6d84cf441ea7f4526c
2014-03-15 20:07:15 +00:00
Translation updater bot
5a44ef0bca Localisation updates from https://translatewiki.net.
Change-Id: I2dd97b0dda0af44be6ad3979d5934554a4d7e31c
2014-03-02 20:32:03 +00:00
Translation updater bot
7c3d803937 Localisation updates from https://translatewiki.net.
Change-Id: I71e13fdbb541c2fccbe303849a3c78f0c1260bd2
2014-02-21 22:06:21 +00:00
Translation updater bot
f2a16ab59c Localisation updates from https://translatewiki.net.
Change-Id: I9ed903822cabaf2a845d01f1a68ee34ac444d980
2014-02-01 19:37:45 +00:00
Translation updater bot
a0cbba1d18 Localisation updates from https://translatewiki.net.
Change-Id: I8187963fdb3b2cb88ee7afc1cc3b32cf8672e20b
2014-01-26 15:54:15 +00:00
Translation updater bot
cf96f84742 Localisation updates from https://translatewiki.net.
Change-Id: Idf89d2bff84d9c4e74be06a2532222891b0fb30e
2014-01-24 20:00:37 +00:00
Translation updater bot
e40079c3f8 Localisation updates from https://translatewiki.net.
Change-Id: Iaee33fbd265807b18879b6f9873d1d4344dfb878
2014-01-08 20:34:03 +00:00
Translation updater bot
3f198951cb Localisation updates from https://translatewiki.net.
Change-Id: Ie4cf8986d2fc3bdf1d485958c7171b0b86cefee2
2014-01-05 20:08:28 +00:00
Translation updater bot
2325216443 Localisation updates from https://translatewiki.net.
Change-Id: I9b0a5f6786c86abea3e0b1ffed52291eb88447e3
2014-01-01 19:50:22 +00:00
Translation updater bot
67fad5af3c Localisation updates from https://translatewiki.net.
Change-Id: Ie9ce20b1c1f8a4e640cc0d79ffdcbee72cc8a024
2013-12-21 20:36:27 +00:00
Translation updater bot
2924ade7eb Localisation updates from https://translatewiki.net.
Change-Id: I81ed6d9e11a852b7a2ab89694615f751a983963e
2013-12-20 20:40:09 +00:00
Translation updater bot
4dd6a41af7 Localisation updates from https://translatewiki.net.
Change-Id: I78257c1482d2a8a5a36693082c3228a63d0f4b8f
2013-12-10 20:48:26 +00:00
Translation updater bot
9ffcc282ab Localisation updates from https://translatewiki.net.
Change-Id: Id4b89fcef61ccf1e329710f6beff9398669fdadb
2013-12-08 20:26:31 +00:00
Translation updater bot
4767a49bf9 Localisation updates from https://translatewiki.net.
Change-Id: Id32d5c87533081016e6a00312703f450782a1d6d
2013-12-07 10:46:45 +00:00
Translation updater bot
5531631535 Localisation updates from https://translatewiki.net.
Change-Id: I91af046a42d410457d6ccb6ce44657a29d184434
2013-12-05 21:22:40 +00:00
Translation updater bot
f3eacb22b9 Localisation updates from https://translatewiki.net.
Change-Id: Ic4c5e76d04630a9da5bde0590db09b55d30132ec
2013-12-04 20:29:19 +00:00
Siebrand Mazeland
87a4320444 Localisation updates from https://translatewiki.net.
Updates for translations of special page aliases.

Change-Id: I061d2f9c8f5b3f4df58060fae4101e340c68a04d
2013-12-02 09:38:25 +01:00
Translation updater bot
44f99f3224 Localisation updates from https://translatewiki.net.
Change-Id: Ie9ae2a0ce2d343bcc5687b5c0f61a3f3a0651433
2013-12-01 19:46:18 +00:00
Translation updater bot
e7e842ad37 Localisation updates from https://translatewiki.net.
Change-Id: Iac7415ec17a0a30026e8c542f5ddd98d67b35d59
2013-11-24 20:26:31 +00:00
Translation updater bot
4484261325 Localisation updates from http://translatewiki.net.
Change-Id: I0eb353cd0cadf0bed7cd17d4c3eb2c7e108f6aa6
2013-11-20 21:03:52 +00:00
Translation updater bot
2d1a954298 Localisation updates from http://translatewiki.net.
Change-Id: I3615ad83da760c512799749618a35cb2e366ba41
2013-11-18 20:36:33 +00:00
Translation updater bot
09519accc3 Localisation updates from http://translatewiki.net.
Change-Id: I5a74c20de10a3203ff81d453de6c739a8a476081
2013-11-18 06:37:41 +00:00
Translation updater bot
e9e58907be Localisation updates from http://translatewiki.net.
Change-Id: Idb35f8a3a0c17b3d2ae2709de03cad2aac6ec177
2013-11-09 18:48:48 +00:00
Translation updater bot
677aee0af5 Localisation updates from http://translatewiki.net.
Change-Id: Ieec9d2dd657cfaea9d0e00e225b9b5a30ffa9acd
2013-11-07 20:17:17 +00:00
Translation updater bot
05aaa567c6 Localisation updates from http://translatewiki.net.
Change-Id: If1d555c052dbfacd3f5af202ebb9234346005c09
2013-10-28 20:11:03 +00:00
Translation updater bot
ab65effabe Localisation updates from http://translatewiki.net.
Change-Id: I7d7dfd1a1e1a395c639b30489bacceedfbfc6330
2013-10-24 20:56:36 +00:00
Translation updater bot
cd6bc6116b Localisation updates from http://translatewiki.net.
Change-Id: I0073d11e39dd5a11d7c8c44b80401ad7b8fd6313
2013-10-23 18:58:35 +00:00
Translation updater bot
d987f43b24 Localisation updates from http://translatewiki.net.
Change-Id: I0539a27c72b9a270db4e3b29a4c357e40d806353
2013-10-21 22:51:33 +00:00
Translation updater bot
a78bddbee1 Localisation updates from http://translatewiki.net.
Change-Id: I922e660fafc7a952129beebeaed001712f5c2bc1
2013-10-21 19:42:49 +00:00