Hi.

I've recently release the Transcoder plugin:

https://transcoder.dev.java.net/

I hope you'll find it useful.

Here's a small description.

The Transcoder plugin for Maven2 is used to check multilingual resources for the completeness of translation. This plugin analyzes property files contained within the application and reports entries which were not translated into one of the required languages. Missing entries are written into property files in some target directory.

In practice, if you develop a multi-lingual project, you may need to be sure that you've translated all the language entries into all of the required languages. In case your language resources are distributed among multiple JARs, this may be hard to do. The Transcoder plugin performs the in-depth check of your JARs/resources and generates a list of properties yet-to-be-translated.

How is the check performed?

The plugin is configured with a list of languages (locales) and a list of resource names. It also implicitly knows runtime dependencies of the project. So the Transcoder plugin checks that:

        * for every runtime dependency and every resource name,
* if certain entry exists in resource property file for one of the configured languages, * then it exists in resource property files for all of the configured languages (within the same dependency).

What is the output?

The plugin has the target configuration parameter ${project.build.directory}/missing-resources by default. In case resource file within some given dependency misses some entries for one of the languages, they will be written into the ${target}/${groupId}/${artifactId}/${resourceName}_${locale}.properties file. ${target} is the target directory (see above), ${groupId} and ${artifactId} are the group id and the artifact id of the given dependency, ${resourceName} and ${locale} are current resource name and language.

Example. Consider we're missing the German user.username (locale: de) entry in the resource de/disy/preludio2/messages of the de.disy.preludio2:preludio2-shared. In this case we'll get the file target/missing-resources/de.disy.preludio2/preludio2-shared/de/disy/preludio2/messages_de.properties containing something like:

    user.username=@@TODO.user.username@@

Bye.
/lexi

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to