[GSoC 2009] CiviCRM Integration: Multilingual Features

For Joomla! 1.5 Coding related discussions, please use: http://groups.google.com/group/joomla-dev-general
Locked
User avatar
shot
Joomla! Apprentice
Joomla! Apprentice
Posts: 13
Joined: Sun Jan 08, 2006 3:30 pm
Location: Warszawa, Poland

[GSoC 2009] CiviCRM Integration: Multilingual Features

Post by shot » Mon May 25, 2009 12:40 pm

Hello, everyone. My name is Piotr Szotkowski and I’m one of the happy GSOC 2009 students.

My GSoC 2009 project consists of extension and new features for multi-language support for CiviCRM, which was originally developed during GSoC 2008. This will enable non-profits and NGOs working in multilingual countries (like Canada or India) and cross-border areas to use multiple languages (and alphabets) at the same time. This project extends the multilingual features as well as introduces new solutions helping translators to better and easier localize, as well as collaborate with others.

PROJECT SPECIFICATIONS

Multilanguage integration with Joomla!

Currently the CiviCRM Joomla! component has a completely separate system for selecting desired localization. This point will address a seamless integration between CiviCRM and Joomla! localization/multilingual features, so that CiviCRM pages are always in sync (language-wise) with Joomla! locale.

Internationalization of further CiviCRM fields

The initial version of multilingual support concentrated mostly on the engine and the backend mechanisms, offering the internationalization of the core CiviCRM fields. For this project the set of internationalized fields will be enhanced, including the coverage of new fields introduced into CiviCRM (and its components) during last year.

New, database-driven framework for handling translations

The current CiviCRM translation system is based on gettext POT/PO files. While gettext is a well-recognized standard for translations, it has a steeper-than-necessary learning curve for potential translators, as well as some technical limitations that make it not ideal for multilingual sites (like having several ~1 MB language files loaded into memory at the same time). While the gettext POT/PO format will be kept for standard compliance and easy translation portability, the internal CiviCRM engine will use database-driven framework for string translations, which will include sane caching and the ability to have homonym strings translated properly based on the context.

Initial database seed localization

Currently, CiviCRM keeps various user-editable settings (like individual prefixes/suffixes) in the database and pre-seeds them with sensible defaults (like “Mr.”/“Mrs.”/“Ms.”/“Miss”/“Dr.” for the prefixes). While this is very useful for English installations, non-English users (and users of multilingual installs) must edit all such fields by hand. This feature will enable automatic pre-seeding of such enumerable fields with values in the desired language(s).

Smoother upgrades of multilingual sites

Due to vast schema differences between single- and multilingual CiviCRM installations, the upgrade scripts handle the upgrades of multilingual sites in separate code paths. This feature wil allow for automatic translation of the single-language upgrade queries into their mutlilingual counterparts, vastly simplifying the maintenance of the upgrade script.

Changes to CiviCRM’s translation tools

CiviCRM translators now use a Pootle installation for their work. This is a useful solution, but could be extended by “live” auto-commiting their changes into the localization repository. A post-commit hook will also refresh a mutlilingual demo installation, which will allow the translators to see their changes applied on-the-fly.

Automatic translation porting between CiviCRM releases

Due to fairly large changes to the POT files between CiviCRM releases, an automatic repository-based merging of translations introduced into various CiviCRM versions is not possible. This feature will automatically port new translations introduced into one CiviCRM version to the other versions (if applicable).


TIMELINE

May 23-31: Multilanguage integration with Joomla!

June 1-14: Initial database seed localization

June 15-28: Changes to CiviCRM’s translation tools

June 29-July 5: Automatic translation porting between CiviCRM releases

(midterm)

July 6-19: Smoother upgrades of multilingual sites

July 20-August 2: New, database-driven framework for handling translations

August 3-9: Internationalization of further CiviCRM fields

(This timeline is subject to change as the features develop.)

 
tkbrannon
Joomla! Apprentice
Joomla! Apprentice
Posts: 5
Joined: Wed Feb 16, 2011 5:58 am

Re: [GSoC 2009] CiviCRM Integration: Multilingual Features

Post by tkbrannon » Tue Mar 01, 2011 11:42 am

How can I use civi crm to to manage child sponsorship database?

 

Locked

Return to “Joomla! 1.5 Coding”