[ckan-dev] Multilingual datasets (3.0?)

Ian Ward ian at excess.org
Wed Jan 16 18:19:31 UTC 2013


As suggested by Sean I'm posting this here for discussion

https://github.com/open-data/ckanext-canada/issues/12

This issue describes a possible future direction for CKAN Datasets,
Resources and Tags that would offer complete support for multilingual
values.

Datasets, Resources and Tags are currently (1.8 and 2.0) identified by the
values of the columns (id, revision_id).

I propose adding a third column to this identification: language, as an
ISO639-2/T language code + '; ' + an ISO-3166-1 country code. e.g. "fra;
CAN"

Therefore a single revision of a dataset/resource/tag may include multiple
languages. Fields that do not need to be translated would be copied into
each language version.

A CKAN instance would have a "default" language that would be used when no
language was specified in API calls. API calls would have to accept an
optional language parameter to select the version that would be returned.
There would also have to be a way to express "this data is in language X,
and is also available in languages Y, Z ..."

-----

This sort of change touches everything. All code that works with datasets
would need to pass along a language when querying, or be rewritten to
handle having multiple language versions of each revision.

I'm borrowing this idea from a CMS I've worked with that handles
multilingual pages really well. I hope that this starts a discussion about
the best way to handle multilingual datasets, especially when combining
data from different countries.

For my immediate bilingual needs I will be adding extra fields such as
title_fra, notes_fra, etc.  I know that this sort of hack couldn't be
extended sanely to support many languages. I would plan to migrate to a
scheme that is truely international once CKAN supports such a thing.

Ian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20130116/7a9ae7b3/attachment.html>


More information about the ckan-dev mailing list