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.booleancheckDoSkipMetaTag(java.lang.String key, java.lang.String value)booleancheckIgnoreTags(java.lang.String key, java.lang.String value)java.io.BufferedReadercreateReader(java.io.File infile, java.lang.String encoding)Customized version of creating input reader for HTML files, aware of encoding by usingEncodingAwareReaderclass.java.io.BufferedWritercreateWriter(java.io.File outfile, java.lang.String encoding)Customized version of creating an output stream for HTML files, appending charset meta by usingHTMLWriterclass.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.StringgetHint()Returns the editing hint for HTML filter.java.lang.StringgetInEncodingLastParsedFile()Returns the encoding of the last parsed source file.java.lang.StringgetTargetEncoding()Returns the encoding of the html writer (if already set)booleanhasOptions()Returns true to indicate that (X)HTML filter has options.booleanisSourceEncodingVariable()Whether source encoding can be varied by the user.booleanisTargetEncodingVariable()Whether target encoding can be varied by the user.java.lang.StringprivateProcessEntry(java.lang.String entry, java.lang.String comment)Package-internal processEntry to give it to FilterVisitorvoidprocessFile(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.IOExceptionCustomized version of creating input reader for HTML files, aware of encoding by usingEncodingAwareReaderclass.- Throws:
java.io.UnsupportedEncodingExceptionjava.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.IOExceptionCustomized version of creating an output stream for HTML files, appending charset meta by usingHTMLWriterclass.- Throws:
java.io.UnsupportedEncodingExceptionjava.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.IOExceptionTranslationException
-
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: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
-
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
-
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
-
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:
getHintin interfaceIFilter- Overrides:
getHintin 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:
hasOptionsin interfaceIFilter- Overrides:
hasOptionsin 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:IFilterReturns the encoding of the last parsed source file.- Specified by:
getInEncodingLastParsedFilein interfaceIFilter- Overrides:
getInEncodingLastParsedFilein classAbstractFilter- Returns:
- the encoding of the last parsed source file, or null when no file has been parsed yet.
-
-