Package org.omegat.filters2.po
Class PoFilter
- java.lang.Object
-
- org.omegat.filters2.AbstractFilter
-
- org.omegat.filters2.po.PoFilter
-
- All Implemented Interfaces:
IFilter
public class PoFilter extends AbstractFilter
Filter to support po files (in various encodings). Format described on https://www.gnu.org/software/hello/manual/gettext/PO-Files.html Filter is not thread-safe ! Filter uses msgctx field as path, and plural index as suffix of path.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringOPTION_ALLOW_BLANKstatic java.lang.StringOPTION_ALLOW_EDITING_BLANK_SEGMENTstatic java.lang.StringOPTION_AUTO_FILL_IN_PLURAL_STATEMENTstatic java.lang.StringOPTION_FORMAT_MONOLINGUALstatic java.lang.StringOPTION_SKIP_HEADER-
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 PoFilter()
-
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.Instance[]getDefaultInstances()The default list of filter instances that this filter class has.java.lang.StringgetFileFormatName()Human-readable name of the File Format this filter supports.java.lang.StringgetFuzzyMark()Define fuzzy mark prefix for source which will be stored in TM.booleanhasOptions()Returns true to indicate that Text filter has options.booleanisBilingual()Indicates whether the filter is bilingual, and thus can be used as external TM (i.e.booleanisSourceEncodingVariable()Whether source encoding can be varied by the user.booleanisTargetEncodingVariable()Whether target encoding can be varied by the user.voidprocessFile(java.io.BufferedReader in, java.io.BufferedWriter out, FilterContext fc)voidprocessFile(java.io.File inFile, java.io.File outFile, FilterContext fc)-
Methods inherited from class org.omegat.filters2.AbstractFilter
alignFile, changeOptions, 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
isEnabledInDefault
-
-
-
-
Field Detail
-
OPTION_ALLOW_BLANK
public static final java.lang.String OPTION_ALLOW_BLANK
- See Also:
- Constant Field Values
-
OPTION_ALLOW_EDITING_BLANK_SEGMENT
public static final java.lang.String OPTION_ALLOW_EDITING_BLANK_SEGMENT
- See Also:
- Constant Field Values
-
OPTION_SKIP_HEADER
public static final java.lang.String OPTION_SKIP_HEADER
- See Also:
- Constant Field Values
-
OPTION_AUTO_FILL_IN_PLURAL_STATEMENT
public static final java.lang.String OPTION_AUTO_FILL_IN_PLURAL_STATEMENT
- See Also:
- Constant Field Values
-
OPTION_FORMAT_MONOLINGUAL
public static final java.lang.String OPTION_FORMAT_MONOLINGUAL
- See Also:
- Constant Field Values
-
-
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
-
getDefaultInstances
public Instance[] getDefaultInstances()
Description copied from class:AbstractFilterThe default list of filter instances that this filter class has. One filter class may have different filter instances, different by source file mask, encoding of the source file etc.Note that the user may change the instances freely.
- Specified by:
getDefaultInstancesin interfaceIFilter- Specified by:
getDefaultInstancesin classAbstractFilter- Returns:
- Default filter instances
-
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:
- whether source encoding can be changed by the user
-
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:
- whether target encoding can be changed by the user
-
getFuzzyMark
public java.lang.String getFuzzyMark()
Description copied from class:AbstractFilterDefine fuzzy mark prefix for source which will be stored in TM. It's 'fuzzy' by default, but each filter can redefine it.- Specified by:
getFuzzyMarkin interfaceIFilter- Overrides:
getFuzzyMarkin classAbstractFilter- Returns:
- fuzzy mark prefix
-
processFile
public void processFile(java.io.File inFile, java.io.File outFile, FilterContext fc) throws java.io.IOException, TranslationException- Throws:
java.io.IOExceptionTranslationException
-
processFile
public void processFile(java.io.BufferedReader in, java.io.BufferedWriter out, FilterContext fc) throws java.io.IOException- Throws:
java.io.IOException
-
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 Text filter has options.- Specified by:
hasOptionsin interfaceIFilter- Overrides:
hasOptionsin classAbstractFilter- Returns:
- True, because the PO filter has options.
-
isBilingual
public boolean isBilingual()
Description copied from interface:IFilterIndicates whether the filter is bilingual, and thus can be used as external TM (i.e. files can be added to the /tm/ folder of an OmegaT project). Bilingual filters will supply both source strings and translation strings toIParseCallback.addEntry().- Returns:
trueif the filter is bilingual
-
-