Commit graph

6 commits

Author SHA1 Message Date
Amire80
398e2a7c9d Add Russian grammar forms to support Wikiversity
Change-Id: I70fcb03db62307116ec96d4c242e6796534b57a1
2018-02-26 14:18:01 +02:00
Eugene Gvozdetsky
4a929f4acf Extend grammar rules for Ukraininan language
Change-Id: I2a18acee6a1c4a7462953477da50d57239994f37
2017-04-26 19:36:58 +00:00
Amire80
4e27d861ad Fix Hebrew grammar transformation for letter He
It must only be transformed in the beginning of the word.

Change-Id: Iec6e2032775b9efd92cc2d649944f4892f813b24
2017-01-16 10:22:55 -08:00
Amir E. Aharoni
58612ee9fa Move the Ukrainian grammar rules from PHP and JS to JSON
Bug: T115217
Change-Id: I15a06b07e381cc9074e64e746d22ec51e9e638c4
2016-12-18 11:10:16 +00:00
Amir E. Aharoni
6b03e2e88e Make the code for grammar data processing common
This makes the code for processing JSON files with
grammar transformations reusable by different languages
and applies the same logic to Russian and Hebrew.
It will be done to other languages in further patches.

This patch is not supposed to change any functionality,
and the tests are intact (except a comment in the test
for Hebrew - the class doesn't exist any longer).

PHP:
* Move the JSON grammar transformation data processing logic
  from LanguageRu.php to convertGrammar() in Language.php.
  By default all these data files are supposed to be
  processed identically, so the code should be common.
  If there is no JSON data file, nothing new happens.
* LanguageRu's own convertGrammar() method is removed.
* The LanguageHe class is removed, now that all its functionality
  is handled by generic JSON data processing in the Language class.
  LanguageHe.php file is removed from the repo and from autoloading.

JavaScript:
* Move the JSON grammar transformation data processing logic
  from ru.js to mediawiki.language.js.
* JavaScript grammar code files he.js and ru.js are removed
  from the repo and from Resources.php, because all the data
  is in JSON, and the default logic in mediawiki.language.js
  works for both languages.

Bug: T115217
Change-Id: I5e75467121c3d791bb84f9e6fdfcf07c1840f81a
2016-12-16 15:52:14 +02:00
Amir E. Aharoni
df5a848de8 Make grammar data loadable as an RL module and usable in JS
* Load the data of this variable from a JSON file to the same
  data structure that ResourceLoader uses for digitTransformTable,
  pluralRules, etc.
* Change the JSON structure to ensure the order of the rules.
  Otherwise JavaScript processes the keys in a random order.
* Delete the grammar code from JS and replace it with
  the same logic that is used in PHP for processing the data.

For now this is done only for Russian.

The next step will be to make the PHP and JS
data processing logic reusable.

Bug: T115217
Change-Id: I6b9b29b7017f958d62611671be017f97cee73415
2016-10-21 12:25:16 -07:00