Let me start over, constructively.

I realize the limitations:
* I know that Cocoon works with .xml and ResourceBundle with
.properties internally
* I know you're not going to rebuild Cocoon or any other underlying
DSpace components
* I know about the ongoing modularization and what it means for message catalogs

> Regardless of format it all comes down to bundles of
> mappings of one set of keys onto multiple sets of values.

In principle, I disagree. Think of support for plural forms or
ngettext. Those cannot be emulated with such a simple mapping. But as
I said, I understand the limitations and that these features won't be
available. I can live with that. Let's work on from there.

This is all done, I'm not asking you to change that.

What I ask of you is not to deal with localization in DSpace, the
application. Don't import strings into the DSpace database.
Instead, provide the infrastructure for translators to do their work
easily. I'm asking you to do _less_ work, not more.
You are have the developer hammer in hand and the translation issue
seems like a nail to you. It's not.

My proposal of the infrastructure is as follows:

1) convert messages.xml, Messages.properties and email templates to .pot
2) pull all the message catalogs of different modules in one place
(git repo or website)
3) give translators write access to this place
4) optionally, push these catalogs to a web-based translation system
5) automatically pull the translated .po files from the translators,
convert them back to localized source files (messages.xml,
Messages.properties, email templates) and push them to the official
dspace repo

In more detail:
1) gettext is a standard. There's a whole ecosystems that enables
translators to work with them easily, as they see fit. It's hard to
update a .properties or .xml file reusing previous translations. It's
easy with .po files.
There already are tools to do the work. translate-toolkit converts
.properties. xml2po por po4a convert xml files. Each email template is
just one string to include in the .po file.
2) The proliferation of independent modules is a good thing. It's only
hard to find files that need to be localized.
3) Make it easy. Make a simple git repo, with .pot files updated
daily, which would hold the .po files. Generously give write access to
this repo, there's nothing to here that would break DSpace.
4) Once you're using a standard format, you have access to a lot of
existing tools that work with it. Web-based translation systems are
easy to use for inexperienced translators. There's a plethora to
choose from: Pootle, Transifex, Launchpad, translationproject.org just
to mention a few.
5) You have a repository with translations in .po format. It's now
easy to automate their conversion. By pushing them to the official
repo, you're giving access to up-to-date translations to users.

You want DSpace to be easy to translate. Make it easy for translators,
give them a familiar format that they can work with with tools
familiar to them. Lower the barriers of contributing regularly by
generously giving them write access and by automating imports.

Regards,
~~helix84

------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to