Class ResourceBundleFilter
- java.lang.Object
-
- org.omegat.filters2.AbstractFilter
-
- org.omegat.filters2.text.bundles.ResourceBundleFilter
-
- All Implemented Interfaces:
IFilter
public class ResourceBundleFilter extends AbstractFilter
Filter to support Java Resource Bundles - the files that are used to I18ze Java applications.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDEFAULT_SOURCE_ENCODINGstatic java.lang.StringDEFAULT_TARGET_ENCODINGstatic java.lang.StringDO_NOT_TRANSLATE_COMMENTKey=value pairs with a preceding comment containing this string are not translated, and are output verbatim.static java.lang.StringOPTION_DONT_UNESCAPE_U_LITERALSstatic java.lang.StringOPTION_FORCE_JAVA8_LITERALS_ESCAPEstatic java.lang.StringOPTION_REMOVE_STRINGS_UNTRANSLATED-
Fields inherited from class org.omegat.filters2.AbstractFilter
ENCODING_AUTO_HUMAN, TARGET_DEFAULT, TFP_EXTENSION, TFP_FILE_FILTER_NAME, TFP_FILE_SOURCE_ENCODING, TFP_FILE_TARGET_ENCODING, TFP_FILENAME, TFP_NAMEONLY, TFP_SYSTEM_HOST_NAME, TFP_SYSTEM_OS_ARCH, TFP_SYSTEM_OS_NAME, TFP_SYSTEM_OS_VERSION, TFP_SYSTEM_USER_NAME, TFP_TARGET_COUNTRY_CODE, TFP_TARGET_COUTRY_CODE, TFP_TARGET_LANG_CODE, TFP_TARGET_LANGUAGE, TFP_TARGET_LOCALE, TFP_TARGET_LOCALE_LCID, TFP_TIMESTAMP_LA, TFP_TIMESTAMP_LD, TFP_TIMESTAMP_LDD, TFP_TIMESTAMP_LH, TFP_TIMESTAMP_LHH, TFP_TIMESTAMP_LM, TFP_TIMESTAMP_LMM, TFP_TIMESTAMP_LS, TFP_TIMESTAMP_LSS, TFP_TIMESTAMP_LYYYY, TFP_TIMESTAMP_UD, TFP_TIMESTAMP_UEEE, TFP_TIMESTAMP_UEEEE, TFP_TIMESTAMP_UH, TFP_TIMESTAMP_UHH, TFP_TIMESTAMP_UM, TFP_TIMESTAMP_UMM, TFP_TIMESTAMP_UMMM
-
-
Constructor Summary
Constructors Constructor Description ResourceBundleFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<java.lang.String,java.lang.String>changeOptions(java.awt.Window parent, java.util.Map<java.lang.String,java.lang.String> config)Show change options dialog for able to change options.java.io.BufferedReadercreateReader(java.io.File inFile, java.lang.String inEncoding)Creates a reader of an input file.java.io.BufferedWritercreateWriter(java.io.File outfile, java.lang.String encoding)Creating an output stream to save a localized resource bundle.Instance[]getDefaultInstances()The source default encoding is UTF-8.java.lang.StringgetFileFormatName()Human-readable name of the File Format this filter supports.booleanhasOptions()Returns true to indicate that Java Resource Bundles filter has options.booleanisSourceEncodingVariable()Whether source encoding can be varied by the user.booleanisTargetEncodingVariable()Whether target encoding can be varied by the user.voidprocessFile(java.io.BufferedReader reader, java.io.BufferedWriter outfile, FilterContext fc)Doing the processing of the file...-
Methods inherited from class org.omegat.filters2.AbstractFilter
alignFile, changeOptions, getFuzzyMark, getHint, getInEncodingLastParsedFile, getTargetFilenamePatterns, isFileSupported, parseFile, setCallbacks, translateFile
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.omegat.filters2.IFilter
isBilingual, isEnabledInDefault
-
-
-
-
Field Detail
-
DO_NOT_TRANSLATE_COMMENT
public static final java.lang.String DO_NOT_TRANSLATE_COMMENT
Key=value pairs with a preceding comment containing this string are not translated, and are output verbatim.TODO: Make this optional
- See Also:
- Constant Field Values
-
OPTION_REMOVE_STRINGS_UNTRANSLATED
public static final java.lang.String OPTION_REMOVE_STRINGS_UNTRANSLATED
- See Also:
- Constant Field Values
-
OPTION_DONT_UNESCAPE_U_LITERALS
public static final java.lang.String OPTION_DONT_UNESCAPE_U_LITERALS
- See Also:
- Constant Field Values
-
OPTION_FORCE_JAVA8_LITERALS_ESCAPE
public static final java.lang.String OPTION_FORCE_JAVA8_LITERALS_ESCAPE
- See Also:
- Constant Field Values
-
DEFAULT_SOURCE_ENCODING
public static final java.lang.String DEFAULT_SOURCE_ENCODING
-
DEFAULT_TARGET_ENCODING
public static final java.lang.String DEFAULT_TARGET_ENCODING
-
-
Method Detail
-
getFileFormatName
public java.lang.String getFileFormatName()
Description copied from class:AbstractFilterHuman-readable name of the File Format this filter supports.- Specified by:
getFileFormatNamein interfaceIFilter- Specified by:
getFileFormatNamein classAbstractFilter- Returns:
- File format name
-
isSourceEncodingVariable
public boolean isSourceEncodingVariable()
Description copied from class:AbstractFilterWhether source encoding can be varied by the user.True means that OmegaT should handle all the encoding mess.
Return false to state that your filter doesn't need encoding management provided by OmegaT, because it either autodetects the encoding based on file contents (like HTML filter does) or the encoding is fixed (like in OpenOffice files).
- Specified by:
isSourceEncodingVariablein interfaceIFilter- Specified by:
isSourceEncodingVariablein classAbstractFilter- Returns:
- true, because it is possible to change source encoding
-
isTargetEncodingVariable
public boolean isTargetEncodingVariable()
Description copied from class:AbstractFilterWhether target encoding can be varied by the user.True means that OmegaT should handle all the encoding mess.
Return false to state that your filter doesn't need encoding management provided by OmegaT, because the encoding is fixed (like in OpenOffice files), or for some other reason.
- Specified by:
isTargetEncodingVariablein interfaceIFilter- Specified by:
isTargetEncodingVariablein classAbstractFilter- Returns:
- true, because it is possible to change target encoding
-
getDefaultInstances
public Instance[] getDefaultInstances()
The source default encoding is UTF-8.From Java 9 onward, properties are saved in UTF-8.
- Specified by:
getDefaultInstancesin interfaceIFilter- Specified by:
getDefaultInstancesin classAbstractFilter- Returns:
- Default filter instances
-
createReader
public java.io.BufferedReader createReader(java.io.File inFile, java.lang.String inEncoding) throws java.io.IOExceptionCreates a reader of an input file.Override because of keep buggy behavior in OmegaT 5.7.1 or before. It set default encoding US-ASCII but Java standard InputStreamReader class wrongly accept non-ASCII characters as-is.
- Parameters:
inFile- The source file.inEncoding- Encoding of the input file, if the filter supports it. Otherwise null.- Returns:
- The reader for the source file
- Throws:
java.io.IOException- If any I/O Error occurs upon reader creation
-
createWriter
public java.io.BufferedWriter createWriter(java.io.File outfile, java.lang.String encoding) throws java.io.IOExceptionCreating an output stream to save a localized resource bundle.NOTE: the name of localized resource bundle is different from the name of original one. e.g. "Bundle.properties" -> Russian = "Bundle_ru.properties"
- Throws:
java.io.IOException
-
processFile
public void processFile(java.io.BufferedReader reader, java.io.BufferedWriter outfile, FilterContext fc) throws java.io.IOException, TranslationExceptionDoing the processing of the file...- Throws:
java.io.IOExceptionTranslationException
-
changeOptions
public java.util.Map<java.lang.String,java.lang.String> changeOptions(java.awt.Window parent, java.util.Map<java.lang.String,java.lang.String> config)Description copied from interface:IFilterShow change options dialog for able to change options.- Parameters:
parent- parent windowconfig- old options- Returns:
- new options or null if options not changed
-
hasOptions
public boolean hasOptions()
Returns true to indicate that Java Resource Bundles filter has options.- Specified by:
hasOptionsin interfaceIFilter- Overrides:
hasOptionsin classAbstractFilter- Returns:
- True if the filter has any options, and false otherwise.
-
-