Class HTMLFilter2
- java.lang.Object
-
- org.omegat.filters2.AbstractFilter
-
- org.omegat.filters2.html2.HTMLFilter2
-
- All Implemented Interfaces:
IFilter
- Direct Known Subclasses:
HHCFilter2
public class HTMLFilter2 extends AbstractFilter
A filter to translate HTML and XHTML files.Some useful discussion why HTML filter should behave like it does, happened on a bug report devoted to compressing space.
-
-
Field Summary
-
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 HTMLFilter2()
Creates a new instance of HTMLFilter2
-
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)
(X)HTML Filter shows a modal dialog to edit its own options.boolean
checkDoSkipMetaTag(java.lang.String key, java.lang.String value)
boolean
checkIgnoreTags(java.lang.String key, java.lang.String value)
java.io.BufferedReader
createReader(java.io.File infile, java.lang.String encoding)
Customized version of creating input reader for HTML files, aware of encoding by usingEncodingAwareReader
class.java.io.BufferedWriter
createWriter(java.io.File outfile, java.lang.String encoding)
Customized version of creating an output stream for HTML files, appending charset meta by usingHTMLWriter
class.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
getHint()
Returns the editing hint for HTML filter.java.lang.String
getInEncodingLastParsedFile()
Returns the encoding of the last parsed source file.java.lang.String
getTargetEncoding()
Returns the encoding of the html writer (if already set)boolean
hasOptions()
Returns true to indicate that (X)HTML filter has options.boolean
isSourceEncodingVariable()
Whether source encoding can be varied by the user.boolean
isTargetEncodingVariable()
Whether target encoding can be varied by the user.java.lang.String
privateProcessEntry(java.lang.String entry, java.lang.String comment)
Package-internal processEntry to give it to FilterVisitorvoid
processFile(java.io.BufferedReader infile, java.io.BufferedWriter outfile, FilterContext fc)
-
Methods inherited from class org.omegat.filters2.AbstractFilter
alignFile, changeOptions, getFuzzyMark, 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
-
-
-
-
Method Detail
-
createReader
public java.io.BufferedReader createReader(java.io.File infile, java.lang.String encoding) throws java.io.UnsupportedEncodingException, java.io.IOException
Customized version of creating input reader for HTML files, aware of encoding by usingEncodingAwareReader
class.- Throws:
java.io.UnsupportedEncodingException
java.io.IOException
- See Also:
HTMLReader
-
createWriter
public java.io.BufferedWriter createWriter(java.io.File outfile, java.lang.String encoding) throws java.io.UnsupportedEncodingException, java.io.IOException
Customized version of creating an output stream for HTML files, appending charset meta by usingHTMLWriter
class.- Throws:
java.io.UnsupportedEncodingException
java.io.IOException
- See Also:
HTMLWriter
-
processFile
public void processFile(java.io.BufferedReader infile, java.io.BufferedWriter outfile, FilterContext fc) throws java.io.IOException, TranslationException
- Throws:
java.io.IOException
TranslationException
-
privateProcessEntry
public java.lang.String privateProcessEntry(java.lang.String entry, java.lang.String comment)
Package-internal processEntry to give it to FilterVisitor
-
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
-
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
-
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
-
getHint
public java.lang.String getHint()
Returns the editing hint for HTML filter.In English, the hint is as follows:
Note: Source File Encoding setting affects only the HTML files that have no encoding declaration inside. If HTML file has the encoding declaration, it will be used disregarding any value you set in this dialog.- Specified by:
getHint
in interfaceIFilter
- Overrides:
getHint
in classAbstractFilter
- Returns:
- The hint for editing the filter in a non-geek language.
-
hasOptions
public boolean hasOptions()
Returns true to indicate that (X)HTML filter has options.- Specified by:
hasOptions
in interfaceIFilter
- Overrides:
hasOptions
in classAbstractFilter
- Returns:
- True, because (X)HTML filter has options.
-
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)
(X)HTML Filter shows a modal dialog to edit its own options.- Parameters:
currentOptions
- Current options to edit.- Returns:
- Updated filter options if user confirmed the changes, and current options otherwise.
-
getTargetEncoding
public java.lang.String getTargetEncoding()
Returns the encoding of the html writer (if already set)- Returns:
- the target encoding
-
checkDoSkipMetaTag
public boolean checkDoSkipMetaTag(java.lang.String key, java.lang.String value)
-
checkIgnoreTags
public boolean checkIgnoreTags(java.lang.String key, java.lang.String value)
-
getInEncodingLastParsedFile
public java.lang.String getInEncodingLastParsedFile()
Description copied from interface:IFilter
Returns the encoding of the last parsed source file.- Specified by:
getInEncodingLastParsedFile
in interfaceIFilter
- Overrides:
getInEncodingLastParsedFile
in classAbstractFilter
- Returns:
- the encoding of the last parsed source file, or null when no file has been parsed yet.
-
-