module Locale: sig .. end
Camomile has a locale system similar to Java.
A locale is a string with a form as
"<LANG>_<COUNTRY>_<MODIFIER>..." where <LANG> is
a 2-letter ISO 639 language code, <COUNTRY> is a 2-letter ISO 3166
country code. Some field may not present.
type t = string
Type of locales.
val read : string -> string -> (Pervasives.in_channel -> 'a) -> string -> 'a
read root suffix reader locale
reads locale information using reader.
Locale data is supposed to reside in root directory with
the name locale.suffix.
reader takes in_channel as an argument and read data from in_channel.
If data is not found, then reader should raise Not_found.
If the file is not found or reader raises Not_found, then
more generic locales are tried.
For example, if fr_CA.suffix is not found, then read tries fr.suffix.
If fr.suffix is also not found, then the file root.suffix is tried.
Still the data is not found, then Not_found is raised.
val contain : string -> string -> bool
contain loc1 loc2 :
If loc1 is contained in loc2 then true otherwise false.
For example, "fr" is contained in "fr_CA" while "en_CA"
does not contain "fr"