https://bugzilla.wikimedia.org/show_bug.cgi?id=164

--- Comment #197 from Philippe Verdy <[email protected]> 2010-07-26 21:01:11 
UTC ---
I note that you have started to define the Collator class as the Language
class.

Well I'm not sure that this should be the same class: a language has several
collators, even if a collator is for only one language (including a virtual
language like "root" which is the base of all localizations including English,
with lots of common properties that are shared in multiple languages derived
from root).

Also I note that the collator you define is a stub. Great for your development
in the SQL schema, but someone else must work in implementing the
CollatorFactory, using ICU, or a full PHP implementation, or only a stub,
depending on the PHP script path you'll require() to load this factory class.

Technically, collators also share lots of properties across several languages.
This is why it should be separated from the Language class.

May be the Language class can query the CollatorFactory about the list of
collators (i.e. their complete locale code, including options) that are
supported by that language, using an interface method of the loaded global
CollatorFactory instance.

This way, a stub factory, building a single Collator instance will still work
immediately.

Someone with expertise in Unicode collations will help you build the Factory if
you want a PHP-only implementation.

Someone else with ICU expertize could also work on its existing integration in
PHP (needs testing in the MediaWiki installation scripts for deployments) and
to use it in the CollatorFactory and in the Collator class.

The most tricky development is the Collator::map() function, because Unicode
does not describe the algorithm completely.

I know the principles and could offer help if you give some pointers where it
would be beneficial.

But really, to test a complete implementation of the CollatorFactory, you'll
need to be able to expose it in the two optional builtin parser functions that
I described. As this can be clearly developped separately even if you start
with a stub for the factory, and tested with the very basic Parser Functions
installed on a test server.

So I maintain my position for the non-risky ParserFunctions (notably also
because it will be simpler for an existing non-Wikimedia installation of
MediaWiki to install the simple functions only, without upgrading to the new
schema immediately, knowing that the factory can also be a basic stub as well
on these installations).

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to