From: Phlox <mak...@gm...> - 2009-10-22 01:05:08
|
Alex, Our domain at Familypedia.wikia.com is family histories, which is inherently mulitlingual due to migrations. Place and person names are polymorphic with respect to language and time period. For example, a genealogical record may state that a person was born in La Haya, or Den Haga. These are all the same places that we know in english as The Hague. A record may state that they are related to Wilhelm Zdobywca, Guillermo I de Inglaterra, or Guillaume le Conquérant. All the same dude- William I of England. Our approach is to map all place and person names together using interwiki data in the various WP's mined using pywikipedia. We need all data shared widely so it is in the same wiki, with postpended language codes on page names so that there are no article name collisions. Page language is explicitly indicated in a property. We do not use INT support for messages because most our visitors are logged out, and it is unhelpful for them to see table column and row headings translated from a page that is otherwise in their native language. We instead leave the page in the page language for logged out users. For logged in users, we use messages stored in SMW properties to translate the headings for forms and tables. To do this, we use the int:lang hack that commons uses to determine logged in language for templates like Information. Slomox's approach for multilingual template design requires parameters to be echoed from one subtemplate to the next- not a big deal for simple templates like that one, but a pain if scores of parameters are being accepted from a form. Messages stored in properties avoids his approach of hardcoding them into a template submodule. In a method similar to our message handling, locations and person names could be translated to the vernacular terms corresponding to the logged in user language. This portion has only been prototyped. It can be done a few different ways but the key design challenge is performance. I am optimistic about the solution I have but this feature is not a priority for our initial release. -Phlox |