# kohsuke-localizer **Repository Path**: mamh-java/kohsuke-localizer ## Basic Information - **Project Name**: kohsuke-localizer - **Description**: https://github.com/mamh-java/kohsuke-localizer - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-14 - **Last Updated**: 2022-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # What is this? This small tool reads your property files and generate Java classes that enables type-safe access to message resources. For example, when you have a property file called ````org/acme/Messages.properties```` that looks like this: ```` foo=error at {0} with {1} ```` This tool generates the following ````org/acme/Messages.java````: ```` public class Messages { private final static ResourceBundleHolder holder = new ResourceBundleHolder(Messages.class); /** * error at {0} with {1} */ public static String foo(Object arg1, Object arg2) { return holder.format("foo",arg1,arg2); } /** * error at {0} with {1} */ public static Localizable _foo(Object arg1, Object arg2) { return new Localizable(holder, "foo", arg1, arg2); } } ```` The first method formats the message by using the default locale, and the second method returns an object that can be later formatted into ````String```` by specifying Locale. In this way, you can get auto-completion on choosing the right message, you'll never refer to a non-existent message, and you'll always use the right number of arguments. # How to use this? ## Maven For projects built with Maven, add the following entries to your POM. For the list of configurations to the ````localizer-maven-plugin````, refer to [this document](https://github.com/AODocs/localizer/blob/master/maven-plugin/src/main/java/org/jvnet/localizer/GeneratorMojo.java): ```` ... ... org.jvnet.localizer localizer-maven-plugin 1.28 generate org.jvnet.localizer localizer 1.28 ... jenkins-repo https://repo.jenkins-ci.org/releases/ ... jenkins-repo https://repo.jenkins-ci.org/releases/ ```` ## Ant For projects built with Ant, use the following task to generate source files: ```` ```` The ````localizer-gen```` task is a [matching task](http://ant.apache.org/manual/dirtasks.html), so you can use the usual FileSet-based filtering technique to specify the property files to be processed. # Using LocaleProvider When you use methods that return ````String````, the implementation consults a singleton ````LocaleProvider```` for determining the locale to be used. The default implementation simply returns ````Locale.getDefault()````, but in other situations (for example in web apps), you can have this method return different locales (for example by using ````ServletRequest.getLocale()````.)