Class PoFilter

java.lang.Object
org.omegat.filters2.AbstractFilter
org.omegat.filters2.po.PoFilter
All Implemented Interfaces:
IFilter

@NullMarked public class PoFilter extends AbstractFilter
Filter to support po files (in various encodings).

Format described on PO File format

Filter is not thread-safe ! Filter uses msgctx field as path, and plural index as suffix of path.

  • Field Details

  • Constructor Details

    • PoFilter

      public PoFilter()
  • Method Details

    • loadPlugins

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

      public static void unloadPlugins()
    • 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
    • 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
    • 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
    • getFuzzyMark

      public 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 interface IFilter
      Overrides:
      getFuzzyMark in class AbstractFilter
      Returns:
      fuzzy mark prefix
    • processFile

      public void processFile(File inFile, File outFile, FilterContext fc) throws IOException, TranslationException
      Throws:
      IOException
      TranslationException
    • processFile

      public void processFile(BufferedReader in, BufferedWriter writer, FilterContext fc) throws IOException
      Throws:
      IOException
    • changeOptions

      public Map<String,String> changeOptions(Window parent, Map<String,String> config)
      Description copied from interface: IFilter
      Show change options dialog for able to change options.
      Parameters:
      parent - parent window
      config - 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 interface IFilter
      Overrides:
      hasOptions in class AbstractFilter
      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 to IParseCallback.addEntry().
      Returns:
      true if the filter is bilingual