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.String
OPTION_ALLOW_BLANK
static java.lang.String
OPTION_ALLOW_EDITING_BLANK_SEGMENT
static java.lang.String
OPTION_AUTO_FILL_IN_PLURAL_STATEMENT
static java.lang.String
OPTION_FORMAT_MONOLINGUAL
static java.lang.String
OPTION_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.String
getFileFormatName()
Human-readable name of the File Format this filter supports.java.lang.String
getFuzzyMark()
Define fuzzy mark prefix for source which will be stored in TM.boolean
hasOptions()
Returns true to indicate that Text filter has options.boolean
isBilingual()
Indicates whether the filter is bilingual, and thus can be used as external TM (i.e.boolean
isSourceEncodingVariable()
Whether source encoding can be varied by the user.boolean
isTargetEncodingVariable()
Whether target encoding can be varied by the user.void
processFile(java.io.BufferedReader in, java.io.BufferedWriter out, FilterContext fc)
void
processFile(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:AbstractFilter
Human-readable name of the File Format this filter supports.- Specified by:
getFileFormatName
in interfaceIFilter
- Specified by:
getFileFormatName
in classAbstractFilter
- Returns:
- File format name
-
getDefaultInstances
public Instance[] getDefaultInstances()
Description copied from class:AbstractFilter
The 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:
getDefaultInstances
in interfaceIFilter
- Specified by:
getDefaultInstances
in classAbstractFilter
- Returns:
- Default filter instances
-
isSourceEncodingVariable
public boolean isSourceEncodingVariable()
Description copied from class:AbstractFilter
Whether 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:
isSourceEncodingVariable
in interfaceIFilter
- Specified by:
isSourceEncodingVariable
in classAbstractFilter
- Returns:
- whether source encoding can be changed by the user
-
isTargetEncodingVariable
public boolean isTargetEncodingVariable()
Description copied from class:AbstractFilter
Whether 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:
isTargetEncodingVariable
in interfaceIFilter
- Specified by:
isTargetEncodingVariable
in classAbstractFilter
- Returns:
- whether target encoding can be changed by the user
-
getFuzzyMark
public java.lang.String getFuzzyMark()
Description copied from class:AbstractFilter
Define fuzzy mark prefix for source which will be stored in TM. It's 'fuzzy' by default, but each filter can redefine it.- Specified by:
getFuzzyMark
in interfaceIFilter
- Overrides:
getFuzzyMark
in 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.IOException
TranslationException
-
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:IFilter
Show 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:
hasOptions
in interfaceIFilter
- Overrides:
hasOptions
in classAbstractFilter
- Returns:
- True, because the PO filter has options.
-
isBilingual
public boolean isBilingual()
Description copied from interface:IFilter
Indicates 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:
true
if the filter is bilingual
-
-