A view-based approach to multi-language CiviCRM

Long time no blog – mostly because my initial concept of bringing the multi-language features to CiviCRM was replaced with a brand new approach, which should be much more developer-friendly.

Having the contents of a CiviCRM site in multiple languages means that certain columns in the database (the user-visible ones) must be localisable – but how to implement this from the database point of view is far from obvious.

A view-based approach to multi-language CiviCRM

Long time no blog – mostly because my initial concept of bringing the multi-language features to CiviCRM was replaced with a brand new approach, which should be much more developer-friendly.

Having the contents of a CiviCRM site in multiple languages means that certain columns in the database (the user-visible ones) must be localisable – but how to implement this from the database point of view is far from obvious.

Language switching and choice persistence

As the Summer of Code coding phase got rolling, I started looking at the tasks I listed in my original description of the project.

The first task on the list was to make language switching in CiviCRM available to the users. This was introduced a list of links on the user’s dashboard. As CiviCRM currently has (granted – more or less advanced…) 32 localisations, it was essential that this list can be managed by the administrator of the site; this is now a part of the Administer CiviCRM → Global Settings → Localization admin screen.

Language switching and choice persistence

As the Summer of Code coding phase got rolling, I started looking at the tasks I listed in my original description of the project.

The first task on the list was to make language switching in CiviCRM available to the users. This was introduced a list of links on the user’s dashboard. As CiviCRM currently has (granted – more or less advanced…) 32 localisations, it was essential that this list can be managed by the administrator of the site; this is now a part of the Administer CiviCRM → Global Settings → Localization admin screen.

Setting up the technical infrastructure and planning ahead

Being one of the CiviCRM developers for the past three years, the community/boding period in my case went pretty nicely. :) As part of my regular CiviCRM activities, through most of the past month I’ve been working on the new dedupe engine, and I’m really happy with the results – but it’s high time now to concentrate on my Summer of Code activities.

Setting up the technical infrastructure and planning ahead

Being one of the CiviCRM developers for the past three years, the community/boding period in my case went pretty nicely. :) As part of my regular CiviCRM activities, through most of the past month I’ve been working on the new dedupe engine, and I’m really happy with the results – but it’s high time now to concentrate on my Summer of Code activities.

CiviCRM Training in Philadelphia

Based on the success of the previous trainings/boot camps, we’d like to schedule our first training on the US East Coast: July 23rd-24th in Philadelphia. We’d like to host people from three / four different organizations (around twelve participants) and conduct the sessions as a mix of advanced user training, developer training, design and coding, based on the interests of the attendees. We've built quite a few features and improved integration with Drupal / Joomla in prior trainings.

New dedupe for CiviCRM 2.1 – check it out on sandbox

The new dedupe engine and UI landed on trunk (development part of our code repository) last week, and we’d be more than happy if you gave it a try on our CiviCRM 2.1 sandbox and let us know how it works for you.

The new dedupe, besides the engine changes described earlier, sports a new user interface. Navigate to Administer CiviCRM → Find and Merge Duplicate Contacts and check out the new admin screens.