Class 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 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
    • Constructor Detail

      • PoFilter

        public PoFilter()
    • Method Detail

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