Class MozillaLangFilter

  • All Implemented Interfaces:
    IFilter

    public class MozillaLangFilter
    extends AbstractFilter
    Filter for support Mozilla lang files. Filter for lang files. Something about the format described on https://sourceforge.net/p/omegat/feature-requests/962/ https://developer.mozilla.org/en-US/docs/Web_Localizability/Localization_formats http://bedrock.readthedocs.org/en/latest/l10n.html Code adapted from the files: PoFilter.java and SrtFilter.java
    • Constructor Detail

      • MozillaLangFilter

        public MozillaLangFilter()
    • 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
      • createReader

        public java.io.BufferedReader createReader​(java.io.File infile,
                                                   java.lang.String encoding)
                                            throws java.io.UnsupportedEncodingException,
                                                   java.io.IOException
        Creating an input stream to read the source .lang file.

        NOTE: Mozilla lang files use always UTF-8 encoding without BOM.

        Throws:
        java.io.UnsupportedEncodingException
        java.io.IOException
      • createWriter

        public java.io.BufferedWriter createWriter​(java.io.File outfile,
                                                   java.lang.String encoding)
                                            throws java.io.UnsupportedEncodingException,
                                                   java.io.IOException
        Creating an output stream to save a localized .lang file.

        NOTE: Mozilla lang files use always UTF-8 encoding without BOM.

        Throws:
        java.io.UnsupportedEncodingException
        java.io.IOException
      • 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
      • 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:
        False, because the LANG filter has not 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