Commit graph

396 commits

Author SHA1 Message Date
Kartik Mistry
e99d4a9923 Fix typo in Special:WhatLinksHere (Gujarati)
Change-Id: Id79533edaeb51269dacd51d00b3a28a84418d52e
2023-05-03 17:18:56 +05:30
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
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
Santhosh Thottingal
ce8d0e9599 Update formatNum implementation to match tr35 and latest CLDR
* Update digitGroupingPattern to match CLDR 31: New versions of CLDR has
  digit grouping pattern with decimal part. Update digitGroupingPattern
  values in Message classes with this improved pattern.
  Refer: http://unicode.org/reports/tr35/tr35-numbers.html

* Refer the following chart for the decimal patterns.
  http://www.unicode.org/cldr/charts/31/by_type/numbers.number_formatting_patterns.html

* Uses PHP NumberFormatter class for the commafy implementation, which
  is available in PHP 7.

* Some tests need to update to match the TR 35 spec

* The formatNum public method in Language.php is the preferred way to
  use this feature. It does separator transformation and digit transformation
  wherever applicable.

* Renamed the second param name for formatNum from noCommafy to noSeparators

* commafy method is deprecated and formatNum is preferred. Practically,
  we are not just adding comma, but seperators according to the language.
  Replaced some tests based on commafy methods with tests based on formatNum.

Note: The corresponding js implementation is not changed in this commit.
It would probably be a good idea to use globalize.js, which is also based
on the CLDR patterns.

Note: This patch preserves the existing off-by-one error in
$minimumGroupingDigits; T262500 will eventually fix this.

Bug: T167088
Co-Authored-By: C. Scott Ananian <cscott@cscott.net>
Change-Id: Ic721b9a91e78e4ef07040339d1006b7a90a910c0
2020-10-21 10:08:04 -04:00
Fomafix
59ef38fff3 Use Unicode notation (U+XXXX) instead of HTML notation (&#xXXXX;) in comments
Performed using:
sed -i 's/&#x\([0-9a-f]*\);/U+\U\1/gi' languages/messages/* languages/classes/*

Change-Id: Id489ae5ffb10bc5b047f72bc6834dd0488b5f940
2018-10-01 12:26:19 +02: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
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
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
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
f8baf3a1de Localisation updates from https://translatewiki.net.
Change-Id: I93194841aebc13bb2e6e147ae6170a3acf2186e7
2014-03-22 20:33:31 +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
96c0f2ad6c Localisation updates from https://translatewiki.net.
Change-Id: I87ed70aa87a61057fa81f0eae63363af85fd71a0
2014-03-11 20:43:01 +00:00
Translation updater bot
775ccf3813 Localisation updates from https://translatewiki.net.
Change-Id: I1d75011f4c5f78746fb1b05ef05858ac6a35eec4
2014-03-09 20:20:06 +00:00
Translation updater bot
a83a6504a5 Localisation updates from https://translatewiki.net.
Change-Id: I02cf02d1e9ce69f9b23eb7ddd23b1482e4ab7891
2014-03-07 21:38:12 +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
988c92e651 Localisation updates from https://translatewiki.net.
Change-Id: I97bdb2a6d7351a1f60ad83d71e3ea18f38c40e54
2014-02-10 20:42:35 +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
22a100672c Localisation updates from https://translatewiki.net.
Change-Id: I822d3da8b027b6ff507c1b9a838e679522bf3a5b
2013-12-30 19:59:53 +00:00
Translation updater bot
30979c32ea Localisation updates from https://translatewiki.net.
Change-Id: I80558ee8b9933e7c6ee9a866f469da928ebec4bb
2013-12-17 19:23:05 +00:00
Translation updater bot
f8544fb4bd Localisation updates from https://translatewiki.net.
Change-Id: Ida0e6e21ce8aceb61419681e283fe32dedd0a0ce
2013-12-15 20:46:10 +00:00
Translation updater bot
4982f98117 Localisation updates from https://translatewiki.net.
Change-Id: I256c74a670f5576e22e7ee6c9d3eefdade64c788
2013-12-12 21:16:33 +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
Translation updater bot
a13c897f4d Localisation updates from https://translatewiki.net.
Change-Id: I5c7c2cde9b44ccfd3edd8101d677e2d8f1797982
2013-12-02 20:32:58 +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
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
09519accc3 Localisation updates from http://translatewiki.net.
Change-Id: I5a74c20de10a3203ff81d453de6c739a8a476081
2013-11-18 06:37:41 +00:00
Translation updater bot
5642da0d38 Localisation updates from http://translatewiki.net.
Change-Id: I46ce170fbf18fdde0307af661a817aa1d3850d61
2013-11-12 20:33:52 +00:00
Brad Jorsch
db9c4cb3cf Remove linkprefix message, add $linkPrefixCharset
The existing "linkprefix" message is unlikely to be accurately
customized by message translators (as shown by the fact that, of the 10
distinct customizations prior to Iaa7eaa44 (which made them even more
complicated), 3 were broken or entirely ineffective, 1 was half
ineffective, and 2 more seem to have included the Latin-1 Supplement by
accident) or by local wiki admins. So, like linktrail before it, let's
move it out of the system messages and into a separate language
variable.

At the same time, let's make it a simple character set (like
$wgLegalTitleChars) rather than a complicated regular expression. The
complicated regex now lives in the parser.

This also adjusts the output of the API's action=query&meta=siteinfo and
adds an accessor parallel to the linkTrail accessor to Language.

Note the following changes that are not simply extracting the existing
charset from the linkprefix message for $linkPrefixCharset:
* The En message matched all non-ASCII UTF-8 characters by matching the
  component bytes (\\x80-\\xff). The new character set is equivalent.
* Various languages were identical to En and so have no $linkPrefixCharset
  set. These are: Ary Az Ce Ga Id Ka Kiu Km Ltg Mk Ms Ne Nn Ro Roa_tara Sc Si
  Sr_ec Sr_el Tl Tt_cyrl Tt_latn Ug_arab War
* Cu, Uk, and Udm are changed to match any number of „ or « in the prefix.
* Cv tried to include "«" that was redundant to the range \\x80-\\xff
  (see En comment). This was removed.
* Diq was entirely bogus, and so was removed.
* Gu included many additional UTF-8 characters that are redundant to the
  range \\x80-\\xff (see En comment). These were removed, and the
  resulting character set is equivalent to En.
* Mt has been broken since it was introduced in r37242. The charset used is
  equivalent to the broken regex.

Bug: 56031
Change-Id: I3369851b33113fc118a1bace38f3ac310cdd9725
2013-10-29 19:06:15 -04:00
Translation updater bot
a9a63fb746 Localisation updates from http://translatewiki.net.
Change-Id: I5b8bcbcdd7538ba9856dff1c60502f6fa93a0116
2013-10-26 19:23:07 +00:00
Translation updater bot
4cb4eb7960 Localisation updates from http://translatewiki.net.
Change-Id: I7d0ca25613dd2eb49dde2fb1cba56e24458ff442
2013-10-25 18:51:18 +00:00
Translation updater bot
ab65effabe Localisation updates from http://translatewiki.net.
Change-Id: I7d7dfd1a1e1a395c639b30489bacceedfbfc6330
2013-10-24 20:56:36 +00:00
Brad Jorsch
c800638273 Improve linkprefix regular expressions
The regular expression in the linkprefix message is run against the
entire page up to each wikilink, and is expected to capture one group
having everything except the prefix and another having only the prefix.
For long pages this winds up being a lot of text, so inefficient regular
expressions are going to cause problems.

The current regex is this:

  /^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD

This is not efficient: it will scan through the string trying to match
against every run of one or more letters/non-ASCII characters,
backtracking at every one except possibly the last. The only reason this
hasn't been a huge problem everywhere is because only a few languages
have this feature enabled.

This change replaces this with this regex:

  /^((?>.*(?<![a-zA-Z\\x80-\\xff])))(.+)$/sD

This is rather more efficient: it will grab the whole string (which is
actually fast even for huge strings), then back off character by
character until it finds one that isn't a letter/non-ASCII.

Note that the above could be simplified somewhat:

  /^((?>.*[^a-zA-Z\\x80-\\xff]|))(.+)$/sD

The performance improvement here is minor, and Gujarati, Church Slavic,
Udmurt, and Ukrainian would still need the other style for their current
implementations.

For Gujarati, we also use another regex trick: a look-behind assertion
in PCRE must be fixed length, so something like (?<!a|bb) won't work.
But that regex fragment is equivalent to (?<!a)(?<!bb) which is allowed,
so we use that instead.

Bug: 52865
Change-Id: Iaa7eaa446b3f045a9ce970affcb2a889f44bdefd
2013-10-24 09:44:33 +00:00
Translation updater bot
a78bddbee1 Localisation updates from http://translatewiki.net.
Change-Id: I922e660fafc7a952129beebeaed001712f5c2bc1
2013-10-21 19:42:49 +00:00
Translation updater bot
26e908fd1d Localisation updates from http://translatewiki.net.
Change-Id: I8f4d44a3917bc7264d7dacc4b1e75641dab845c0
2013-10-11 19:10:32 +00:00
Translation updater bot
64f427eb88 Localisation updates from http://translatewiki.net.
Change-Id: Ib6cdd80506e78608d9d8af15088020528fdec256
2013-10-07 21:16:52 +00:00