Module GettextTypes


module GettextTypes: sig .. end
Types and exception of ocaml-gettext.
Author(s): Sylvain Le Gall

type range = Int32.t * Int32.t 
type textdomain = string 
type locale = string 
type dir = string 
type filename = string 
type codeset = string 
exception CompileProblemReadingFile of filename * string
Filename wich generates the error message str
exception CompileExtractionFailed of filename * string * int
While extracting filename the command str returns exit code i.
exception CompileExtractionInterrupted of filename * string * int
While extracting filename the command receive signal i.
exception DomainFileDoesntExist of filename list
Cannot the filename corresponding to a textdomain among the specified files.
exception FormatInconsistent of string * string
The two strings returned doesn't have the same meaning regarding Printf syntax.
exception GettextUninitialized
A part of the code try to translate a string, but ocaml-gettext is not initialized.
exception MoInvalidOptions of Lexing.lexbuf * string
There is an invalid field in the content information of a MO file.
exception MoInvalidPlurals of Lexing.lexbuf * string
The plural-form field is not correct.
exception MoInvalidContentType of Lexing.lexbuf * string
The content-type field is not correct.
exception MoInvalidTranslationSingular of string * int
A plural translation of a singular string has occured.
exception MoInvalidTranslationPlural of string list * int
An out-of-bound plural translation has occured.
exception MoJunk of string * string list
There is more plural translation than the number of plural forms.
exception MoEmptyEntry
exception MoInvalidFile
A MO corrupted file has been read.
exception MoInvalidHeaderNegativeStrings
The MO file specified a negative number of strings.
exception MoInvalidHeaderTableStringOutOfBound of range * range
Offset of the string table is out of bound.
exception MoInvalidHeaderTableTranslationOutOfBound of range * range
Offset of the translation table is out of bound.
exception MoInvalidHeaderTableTranslationStringOverlap of range * range
String and translation table overlap.
exception MoInvalidStringOutOfBound of int * int
The offset and length of a string entry leads to an access beyond the end of the MO file.
exception MoInvalidTranslationOutOfBound of int * int
The offset and length of a translation entry leads to an access beyond the end of the MO file.
exception MoCannotOpenFile of string
An error occured when trying to open a MO file.
exception PoInvalidFile of string * Lexing.lexbuf * Pervasives.in_channel
A PO file cannot be parsed.
exception PoFileInvalidIndex of string * int
When parsing a PO file, found an out of order table indices in a plural form.
exception PoFileDoesntExist of string
The PO file doesn't exist.
exception PoInconsistentMerge of string * string
Cannot merge two PO files.
exception TranslateStringNotFound of string
A string to translate cannot be found.
exception LocalePosixUnparseable of string
Cannot parse the POSIX representation of the locale.
type dependencies = (textdomain * codeset option *
dir option)
list
module type INIT_TYPE = sig .. end
module MapString: sig .. end
module MapTextdomain: sig .. end

type failsafe =
| Ignore
| InformStderr of (exn -> string)
| RaiseException

type t = {
   failsafe : failsafe;
   textdomains : (codeset option * dir option)
MapTextdomain.t
;
   categories : locale GettextCategory.MapCategory.t;
   language : locale option;
   codeset : codeset;
   path : dir list;
   default : textdomain;
}
type t' = bool ->
textdomain option ->
string -> (string * int) option -> GettextCategory.category -> string

type endianess =
| BigEndian
| LittleEndian

type mo_header = {
   endianess : endianess;
   file_format_revision : int32;
   number_of_strings : int32;
   offset_table_strings : int32;
   offset_table_translation : int32;
   size_of_hashing_table : int32;
   offset_of_hashing_table : int32;
}
type mo_translation = {
   project_id_version : string option;
   report_msgid_bugs_to : string option;
   pot_creation_date : string option;
   po_revision_date : string option;
   last_translator : string option;
   language_tream : string option;
   mime_version : string option;
   content_type : string option;
   content_transfer_encoding : string option;
   plural_forms : string option;
   content_type_charset : string;
   nplurals : int;
   fun_plural_forms : int -> int;
}
type translation =
| Singular of string * string
| Plural of string * string * string list

type po_translation =
| PoSingular of string list * string list
| PoPlural of string list * string list * string list list
type po_filepos = filename * int 
type po_special = string 

type po_commented_translation = {
   po_comment_special : po_special list;
   po_comment_filepos : po_filepos list;
   po_comment_translation : po_translation;
}
type po_translations = po_commented_translation MapString.t 

type po_content = {
   no_domain : po_translations;
   domain : po_translations MapTextdomain.t;
}
module type REALIZE_TYPE = sig .. end