package org.checkerframework.checker.i18n; import java.util.Locale; import java.util.ResourceBundle; import javax.annotation.processing.SupportedOptions; import org.checkerframework.checker.propkey.PropertyKeyChecker; /** * A type-checker that checks that only valid localizable keys are used when using localizing * methods (e.g. {@link ResourceBundle#getString(String)}). * * <p>Currently, the checker supports two methods for localization checks: * * <ol> * <li value="1">Properties files: A common method for localization using a properties file, * mapping the localization keys to localized messages. Programmers pass the property file * location via {@code propfiles} option (e.g. {@code * -Apropfiles=/path/to/messages.properties}), separating multiple files by a colon ":". * <li value="2">{@link ResourceBundle}: The proper recommended mechanism for localization. * Programmers pass the {@code baseName} name of the bundle via {@code bundlename} (e.g. * {@code -Abundlename=MyResource}. The checker uses the resource associated with the default * {@link Locale} in the compilation system. * </ol> */ @SupportedOptions({"propfiles", "bundlenames"}) public class LocalizableKeyChecker extends PropertyKeyChecker {}