Current configuration on the wiki
Find a file
Amir E. Aharoni ae78d44091 Convert Russian grammar cases from PHP to JSON
This is a follow-up to
Ib6a0afa5c3736f8b9b2e121cd752c53ee50fad75

The PHP logic for grammatical cases in Russian was growing.
It was too long and not reusable is JavaScript.

This patch moves all the logic to a JSON file,
indexed by the grammatical case name and then
by regular expressions that match the different
word classes, with the values being the replacements
that should be compatible with common regular expression
replacement functions in modern programming languages.

This patch doesn't introduce any functional changes
and doesn't change any tests.

The next steps, not necessarily in this order, are:
* Make it work also with JavaScript.
* Make JSON grammar data files loadable with ResourceLoader.
* Convert most or all grammar rules for all the languages to JSON.
* Make the data processing loop generic for all languages.
* Convert it also in jquery.i18n (Milkshake).
* Convert the test cases data from code to generic data.
* Move the JSON data to a separate reusable repository.

Change-Id: I0e8e1bfb9d3ec9f841f733356af32dad7d130e94
2015-09-28 14:24:01 +00:00
cache Revert .htaccess permissions back to 0644 2013-10-28 14:38:07 -07:00
docs Merge "Fix hook doc for SkinTemplateBuildNavUrlsNav_urlsAfterPermalink" 2015-09-25 19:47:08 +00:00
extensions Update release notes and documentation about skins 2014-08-13 21:58:01 +02:00
images Add FollowSymLinks option to /images .htaccess rule 2014-12-05 22:50:36 +00:00
includes Merge "Fix a PHPCS warning in SearchMySQL.php" 2015-09-28 13:49:56 +00:00
languages Convert Russian grammar cases from PHP to JSON 2015-09-28 14:24:01 +00:00
maintenance Make lines short to pass phpcs in files under maintenance/ 2015-09-27 15:48:56 +00:00
mw-config Web installer: Fix collapsing of field help text 2015-09-26 19:56:38 -04:00
resources Merge "Add new grammar forms for language names in Russian" 2015-09-28 13:41:33 +00:00
serialized Generate Utf8Case.ser directly from UnicodeData.txt 2014-01-06 18:22:24 -05:00
skins Merge "Get to the point about howto download Vector :p" 2014-12-13 18:14:39 +00:00
tests Merge "Add new grammar forms for language names in Russian" 2015-09-28 13:41:33 +00:00
.gitattributes Basic support for WebP 2015-06-26 19:38:38 +00:00
.gitignore gitignore: Add /images/cache 2015-05-12 02:45:17 +01:00
.gitreview
.jscsrc build: Enable jscs jsDoc rule 'checkRedundantReturns' and make pass 2015-09-23 08:29:43 +01:00
.jshintignore build: Use blacklist instead of whitelist for jshint/jscs/jsonlint 2015-07-23 20:56:31 +00:00
.jshintrc resourceloader: Proxy 'window.performance' to support Safari bug 2015-09-15 01:55:24 +01:00
.mailmap Add my second gerrit e-mail to .mailmap 2015-09-23 09:16:14 +02:00
.rubocop.yml rubocop: ignore node_modules and fix a single offense 2015-07-10 12:41:47 +02:00
.travis.yml Add PHP7 build to TravisCI 2015-09-07 20:48:44 +02:00
api.php Refactored entry points to have uniform shutdown handling 2015-05-29 20:40:46 +00:00
api.php5 Deprecate .php5 file extension 2015-04-22 11:54:58 -07:00
autoload.php Move FileContentsHasher into includes/utils/ 2015-09-24 18:27:28 -07:00
composer.json Revert "composer.json: Bump Monolog to 1.17.1" 2015-09-27 16:53:22 +00:00
COPYING COPYING: Update the list of CC licenses icons used 2014-09-26 19:09:27 +00:00
CREDITS Enable autocompletion for Special:ComparePages 2015-08-27 18:08:28 +00:00
FAQ Use HTTPS for the link in FAQ 2013-10-31 14:01:22 +00:00
Gemfile QA: Upgrade mediawiki_selenium for fix to Raita logging 2015-06-05 10:19:44 +00:00
Gemfile.lock browsertests: upgrade watir-webdriver 2015-07-13 10:27:11 +00:00
Gruntfile.js build: Upgrade grunt-banana-checker to v0.3.0 2015-09-07 16:42:21 -07:00
HISTORY Move 1.25 Release Notes to HISTORY 2015-05-25 12:14:27 +00:00
img_auth.php Use HttpStatus::header instead of manually crafting header() 2015-06-04 02:27:35 +00:00
img_auth.php5 Deprecate .php5 file extension 2015-04-22 11:54:58 -07:00
index.php Check for dependencies in entry point and Maintenance.php 2015-05-23 15:05:11 +00:00
index.php5 Deprecate .php5 file extension 2015-04-22 11:54:58 -07:00
INSTALL RELEASE-NOTES: Increase minimum MySQL version to 5.0.3 2015-03-23 20:16:45 -04:00
jsduck.json Add frontend API for uploading via iframe 2015-07-13 17:40:50 +00:00
load.php resourceloader: Make ResourceLoader logger aware 2015-06-04 20:13:14 +00:00
load.php5 Deprecate .php5 file extension 2015-04-22 11:54:58 -07:00
opensearch_desc.php wfRunHooks() -> Hooks::run() in remaining entry point files 2015-04-27 21:37:20 -07:00
opensearch_desc.php5 Deprecate .php5 file extension 2015-04-22 11:54:58 -07:00
package.json build: Upgrade grunt-banana-checker to v0.3.0 2015-09-07 16:42:21 -07:00
phpcs.xml Re-enable WhiteSpace.SpaceBeforeSingleLineComment sniff 2015-09-27 05:13:44 +05:30
profileinfo.php Make lines short to pass phpcs in profileinfo.php 2015-09-27 17:06:07 +00:00
profileinfo.php5 Deprecate .php5 file extension 2015-04-22 11:54:58 -07:00
README Update README from [[mw:README]] 2014-12-07 10:53:12 -05:00
README.mediawiki
RELEASE-NOTES-1.26 Merge "Add RELEASE-NOTES entries for PHP library upgrades and additions" 2015-09-26 22:18:18 +00:00
StartProfiler.sample Fixed class name typo in docs 2015-04-02 17:43:37 -07:00
thumb.php Fix issues identified by SpaceBeforeSingleLineComment sniff 2015-09-26 23:06:52 +00:00
thumb.php5 Deprecate .php5 file extension 2015-04-22 11:54:58 -07:00
thumb_handler.php Clean up access points 2014-03-28 01:05:30 +00:00
thumb_handler.php5 Deprecate .php5 file extension 2015-04-22 11:54:58 -07:00
UPGRADE Some bugzilla.wikimedia.org -> phabricator.wikimedia.org changes 2015-09-24 17:17:25 +02:00
wiki.phtml Clean up access points 2014-03-28 01:05:30 +00:00

== MediaWiki ==

MediaWiki is a free and open-source wiki software package written in PHP. It
serves as the platform for Wikipedia and the other projects of the Wikimedia
Foundation, which deliver content in over 280 languages to more than half a
billion people each month. MediaWiki's reliability and robust feature set have
earned it a large and vibrant community of third-party users and developers.

MediaWiki is:

* feature-rich and extensible, both on-wiki and with hundreds of extensions;
* scalable and suitable for both small and large sites;
* simple to install, working on most hardware/software combinations; and
* available in your language.

For system requirements, installation, and upgrade details, see the files
RELEASE-NOTES, INSTALL, and UPGRADE.

* Ready to get started?
** https://www.mediawiki.org/wiki/Download
* Looking for the technical manual?
** https://www.mediawiki.org/wiki/Manual:Contents
* Seeking help from a person?
** https://www.mediawiki.org/wiki/Communication
* Looking to file a bug report or a feature request?
** https://bugs.mediawiki.org/
* Interested in helping out?
** https://www.mediawiki.org/wiki/How_to_contribute

MediaWiki is the result of global collaboration and cooperation. The CREDITS
file lists technical contributors to the project. The COPYING file explains
MediaWiki's copyright and license (GNU General Public License, version 2 or
later). Many thanks to the Wikimedia community for testing and suggestions.