sig
type range = Int32.t * Int32.t
type textdomain = string
type locale = string
type dir = string
type filename = string
type codeset = string
exception CompileProblemReadingFile of GettextTypes.filename * string
exception CompileExtractionFailed of GettextTypes.filename * string * int
exception CompileExtractionInterrupted of GettextTypes.filename * string *
int
exception DomainFileDoesntExist of GettextTypes.filename list
exception FormatInconsistent of string * string
exception GettextUninitialized
exception MoInvalidOptions of Lexing.lexbuf * string
exception MoInvalidPlurals of Lexing.lexbuf * string
exception MoInvalidContentType of Lexing.lexbuf * string
exception MoInvalidTranslationSingular of string * int
exception MoInvalidTranslationPlural of string list * int
exception MoJunk of string * string list
exception MoEmptyEntry
exception MoInvalidFile
exception MoInvalidHeaderNegativeStrings
exception MoInvalidHeaderTableStringOutOfBound of GettextTypes.range *
GettextTypes.range
exception MoInvalidHeaderTableTranslationOutOfBound of GettextTypes.range *
GettextTypes.range
exception MoInvalidHeaderTableTranslationStringOverlap of
GettextTypes.range * GettextTypes.range
exception MoInvalidStringOutOfBound of int * int
exception MoInvalidTranslationOutOfBound of int * int
exception MoCannotOpenFile of string
exception PoInvalidFile of string * Lexing.lexbuf * Pervasives.in_channel
exception PoFileInvalidIndex of string * int
exception PoFileDoesntExist of string
exception PoInconsistentMerge of string * string
exception TranslateStringNotFound of string
exception LocalePosixUnparseable of string
type dependencies =
(GettextTypes.textdomain * GettextTypes.codeset option *
GettextTypes.dir option)
list
module type INIT_TYPE =
sig
val textdomain : GettextTypes.textdomain
val codeset : GettextTypes.codeset option
val dir : GettextTypes.dir option
val dependencies : GettextTypes.dependencies
end
module MapString :
sig
type key = string
type +'a t
val empty : 'a GettextTypes.MapString.t
val is_empty : 'a GettextTypes.MapString.t -> bool
val add :
GettextTypes.MapString.key ->
'a -> 'a GettextTypes.MapString.t -> 'a GettextTypes.MapString.t
val find :
GettextTypes.MapString.key -> 'a GettextTypes.MapString.t -> 'a
val remove :
GettextTypes.MapString.key ->
'a GettextTypes.MapString.t -> 'a GettextTypes.MapString.t
val mem :
GettextTypes.MapString.key -> 'a GettextTypes.MapString.t -> bool
val iter :
(GettextTypes.MapString.key -> 'a -> unit) ->
'a GettextTypes.MapString.t -> unit
val map :
('a -> 'b) ->
'a GettextTypes.MapString.t -> 'b GettextTypes.MapString.t
val mapi :
(GettextTypes.MapString.key -> 'a -> 'b) ->
'a GettextTypes.MapString.t -> 'b GettextTypes.MapString.t
val fold :
(GettextTypes.MapString.key -> 'a -> 'b -> 'b) ->
'a GettextTypes.MapString.t -> 'b -> 'b
val compare :
('a -> 'a -> int) ->
'a GettextTypes.MapString.t -> 'a GettextTypes.MapString.t -> int
val equal :
('a -> 'a -> bool) ->
'a GettextTypes.MapString.t -> 'a GettextTypes.MapString.t -> bool
end
module MapTextdomain :
sig
type key = GettextTypes.textdomain
type +'a t
val empty : 'a GettextTypes.MapTextdomain.t
val is_empty : 'a GettextTypes.MapTextdomain.t -> bool
val add :
GettextTypes.MapTextdomain.key ->
'a ->
'a GettextTypes.MapTextdomain.t -> 'a GettextTypes.MapTextdomain.t
val find :
GettextTypes.MapTextdomain.key ->
'a GettextTypes.MapTextdomain.t -> 'a
val remove :
GettextTypes.MapTextdomain.key ->
'a GettextTypes.MapTextdomain.t -> 'a GettextTypes.MapTextdomain.t
val mem :
GettextTypes.MapTextdomain.key ->
'a GettextTypes.MapTextdomain.t -> bool
val iter :
(GettextTypes.MapTextdomain.key -> 'a -> unit) ->
'a GettextTypes.MapTextdomain.t -> unit
val map :
('a -> 'b) ->
'a GettextTypes.MapTextdomain.t -> 'b GettextTypes.MapTextdomain.t
val mapi :
(GettextTypes.MapTextdomain.key -> 'a -> 'b) ->
'a GettextTypes.MapTextdomain.t -> 'b GettextTypes.MapTextdomain.t
val fold :
(GettextTypes.MapTextdomain.key -> 'a -> 'b -> 'b) ->
'a GettextTypes.MapTextdomain.t -> 'b -> 'b
val compare :
('a -> 'a -> int) ->
'a GettextTypes.MapTextdomain.t ->
'a GettextTypes.MapTextdomain.t -> int
val equal :
('a -> 'a -> bool) ->
'a GettextTypes.MapTextdomain.t ->
'a GettextTypes.MapTextdomain.t -> bool
end
type failsafe = Ignore | InformStderr of (exn -> string) | RaiseException
type t = {
failsafe : GettextTypes.failsafe;
textdomains :
(GettextTypes.codeset option * GettextTypes.dir option)
GettextTypes.MapTextdomain.t;
categories : GettextTypes.locale GettextCategory.MapCategory.t;
language : GettextTypes.locale option;
codeset : GettextTypes.codeset;
path : GettextTypes.dir list;
default : GettextTypes.textdomain;
}
type t' =
bool ->
GettextTypes.textdomain option ->
string -> (string * int) option -> GettextCategory.category -> string
type endianess = BigEndian | LittleEndian
type mo_header = {
endianess : GettextTypes.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 = GettextTypes.filename * int
type po_special = string
type po_commented_translation = {
po_comment_special : GettextTypes.po_special list;
po_comment_filepos : GettextTypes.po_filepos list;
po_comment_translation : GettextTypes.po_translation;
}
type po_translations =
GettextTypes.po_commented_translation GettextTypes.MapString.t
type po_content = {
no_domain : GettextTypes.po_translations;
domain : GettextTypes.po_translations GettextTypes.MapTextdomain.t;
}
module type REALIZE_TYPE =
sig val realize : GettextTypes.t -> GettextTypes.t' end
end