GRAMMAR for Georgian

The actual grammar for declensions and other word derivations in Georgian is quite complex: depending on word final letter it changes depending if it is a vowel or consonnant; but as well depends on a long list of exceptions; and propernames are treated specially); as well there can be a mutation or elision of the last vowel before the trailing consonnant. And there are many grammatical cases (including the "vocative" case, contested by several wellknown Georgian linguists, which applies to nouns or nominal groups that are not grammatically attached to a verb in a sentence or proposition and not attached to another noun as a genitive, dative or locative complement).

I looked inside Wiktionary (in Georgian, or in English and French that have extensive sets of templates to show tables of derivated words, like declensions, plurals and conjugation) or in Wikipedia, and for now this has never beend developped).

So before doing a change on translatewiki.net, you should first start developing a set of derivation tables in Wiktionary, enumerate and test the possible cases (this took a long time to develop for example in French, German, Italian or German, it was still messy to develop in English for conjugation of irregular verbs; as well the rules needed for Slavic and Celtic languages can be quite complicate: Georgian behaves much like Celtic languages, except that it does not seem to use mutations on the leading letters of roots) and then discuss it there, on how to integrate them with other wikis. This could take the form of a module rather than a template, but TWN still does not support Lua modules (with Scribunto), only regular MediaWiki templates.

However it may support an extension for the {{GRAMMAR:case|word}} by setting up an extension hook written in PHP and used by MediaWiki: you will need to contact MediaWiki developers for this, but generally such development starts only after setting up at least templates or modules (generally in Wiktionary where it can be tested and discussed and where lists of exceptions can be reliably developed and tested, instead of making assumptions on just a few words). So you should first contact users of Georgian Wikitionary to see how they can help on this project.

Later the Mediawiki PHP hook extension for grammatical cases (see mw:Help:Magic words#Localization and mw:Manual:$wgGrammarForms on the MediaWiki wiki, and the Language:convertGrammar method of the Language class, part of the "mediawiki-core" API in PHP on the Wikimedia documentation site) could be initiated. For now nothing has been done there for Georgian:

You'll need to think about the effect of other modifications based on the grammatical gender, or on the semantic type of names like inanimate/personal/honorific/conceptual (typical of various African languages), or based on the grammatical plural, or on the presence of contextual mutations and elisions, and make these part of the case selector parameter. As well the values of the case selector must be rationalized: generally, they use common abbreviation, they don't need to support "plain names" in Georgian, except as common aliases that may be optionally recognized/standardized, but this is probably not worth the effort and could cause confusion on how to use the "GRAMMAR:" parser function; so the case value could remain as plain abbreviations in ASCII/Basic Latin (like the "GRAMMAR:" function name itself). And for rationalizing that, you need good linguistic references for the target language (even native speakers do not know or think about all the needed cases to handle, notably about attested exceptions or derivation rules that are more complex than usual, and hard to think about without extensive searches, that's why I suggest basing the development and tests in Wikitionary, which should collect as many terms as possible).

The base documentation for linguistic conversion supported in MediaWiki is documented on the ILanguageConverter Interface Reference.

You'll also note that even wellknown languages like English (except very few things not related to grammar, basically only to handle fallbacks from other languages to English without producing errors, or for adding minimal experimental support for a fictive "Piglatin English" variant, only for the purpose of testing the support of "language variants" in other modules by developers knowing only English), French, German, Spanish, Portuguese, Italian, or Russian (fully documented in their own Wiktionary, and using sets of derivation templates or Lua modules) still do not even have a specialized class in Mediawiki for handling GRAMMAR)... That's because the maintenance cost of the GRAMMAR parser hook is much more complicate than just using templates/modules (on each wiki), and setting up a GRAMMAR parser hook support without maitnenance could potentially break a lot of pages (if they do not properly handle long lists of exceptions). The same can be said about the development of transliterators and input methods (difficult and already quite large to maintain for Chinese or Serbo-Croatian without an extensive user base and lot of discussion with a large enough team of supporting developers using reliable linguistic sources).

Verdy p (talk)10:53, 14 April 2022