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.

  • Constructor Details

    • HTMLFilter2

      public HTMLFilter2()
  • Method Details

    • loadPlugins

      public static void loadPlugins()
      Register plugin into OmegaT.
    • unloadPlugins

      public static void unloadPlugins()
    • createReader

      public BufferedReader createReader(File infile, String encoding) throws IOException
      Customized version of creating input reader for HTML files, aware of encoding by using EncodingAwareReader class.
      Throws:
      IOException
      See Also:
    • createWriter

      public BufferedWriter createWriter(File outfile, String encoding) throws IOException
      Customized version of creating an output stream for HTML files, appending charset meta by using HTMLWriter class.
      Throws:
      IOException
      See Also:
    • processFile

      public void processFile(BufferedReader infile, BufferedWriter outfile, FilterContext fc) throws IOException, TranslationException
      Throws:
      IOException
      TranslationException
    • privateProcessEntry

      public String privateProcessEntry(String entry, @Nullable 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 interface IFilter
      Specified by:
      isTargetEncodingVariable in class AbstractFilter
      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 autodetect the encoding based on file contents (like HTML filter does) or the encoding is fixed (like in OpenOffice files).

      Specified by:
      isSourceEncodingVariable in interface IFilter
      Specified by:
      isSourceEncodingVariable in class AbstractFilter
      Returns:
      whether source encoding can be changed by the user
    • getFileFormatName

      public String getFileFormatName()
      Description copied from class: AbstractFilter
      Human-readable name of the File Format this filter supports.
      Specified by:
      getFileFormatName in interface IFilter
      Specified by:
      getFileFormatName in class AbstractFilter
      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 interface IFilter
      Specified by:
      getDefaultInstances in class AbstractFilter
      Returns:
      Default filter instances
    • getHint

      public 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 interface IFilter
      Overrides:
      getHint in class AbstractFilter
      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 interface IFilter
      Overrides:
      hasOptions in class AbstractFilter
      Returns:
      True, because (X)HTML filter has options.
    • changeOptions

      public @Nullable Map<String,String> changeOptions(Window parent, Map<String,String> config)
      (X)HTML Filter shows a modal dialog to edit its own options.
      Parameters:
      parent - parent window
      config - Current options to edit.
      Returns:
      Updated filter options if user confirmed the changes, and current options otherwise.
    • getTargetEncoding

      public @Nullable String getTargetEncoding()
      Returns the encoding of the html writer (if already set)
      Returns:
      the target encoding
    • checkDoSkipMetaTag

      public boolean checkDoSkipMetaTag(String key, String value)
    • checkIgnoreTags

      public boolean checkIgnoreTags(String key, String value)
    • getInEncodingLastParsedFile

      public @Nullable String getInEncodingLastParsedFile()
      Description copied from interface: IFilter
      Returns the encoding of the last parsed source file.
      Specified by:
      getInEncodingLastParsedFile in interface IFilter
      Overrides:
      getInEncodingLastParsedFile in class AbstractFilter
      Returns:
      the encoding of the last parsed source file, or null when no file has been parsed yet.