sig
  type locale = { language : string; country : string option; }
  val get_locales : unit -> Bogue.I18n.locale list
  module type ContextInit =
    sig
      val gettext : string -> string
      val gettext_opt : string -> string option
      val tt : string -> string Stdlib.Lazy.t
      val tf : 'Stdlib.Lazy.t -> 'a
      val t_uint : string -> (int -> string) Stdlib.Lazy.t
      val t_int : string -> (int -> string) Stdlib.Lazy.t
      val t_str : string -> (string -> string) Stdlib.Lazy.t
      val t_uint2 : string -> (int -> int -> string) Stdlib.Lazy.t
      val add_translation : Bogue.I18n.locale -> string -> string -> unit
    end
  val save_locale : ?domain:string -> Bogue.I18n.locale -> unit
  module File :
    sig
      val gettext : string -> string
      val gettext_opt : string -> string option
      val tt : string -> string Lazy.t
      val tf : 'Lazy.t -> 'a
      val t_uint : string -> (int -> string) Lazy.t
      val t_int : string -> (int -> string) Lazy.t
      val t_str : string -> (string -> string) Lazy.t
      val t_uint2 : string -> (int -> int -> string) Lazy.t
      val add_translation : locale -> string -> string -> unit
      val cancel : string Stdlib.Lazy.t
      val close : string Stdlib.Lazy.t
      val continue : string Stdlib.Lazy.t
      val enter_path : string Stdlib.Lazy.t
      val modified : string Stdlib.Lazy.t
      val name : string Stdlib.Lazy.t
      val no_selection : string Stdlib.Lazy.t
      val one_dir_selected : string Stdlib.Lazy.t
      val one_file_selected : string Stdlib.Lazy.t
      val open_ : string Stdlib.Lazy.t
      val open_dir : string Stdlib.Lazy.t
      val save : string Stdlib.Lazy.t
      val save_as : string Stdlib.Lazy.t
      val select : string Stdlib.Lazy.t
      val select_directory : string Stdlib.Lazy.t
      val select_dirs : string Stdlib.Lazy.t
      val select_file : string Stdlib.Lazy.t
      val select_files : string Stdlib.Lazy.t
      val size : string Stdlib.Lazy.t
      val x_dirs_selected : (int -> string) Stdlib.Lazy.t
      val x_files_selected : (int -> string) Stdlib.Lazy.t
      val x_files_x_dirs_selected : (int -> int -> string) Stdlib.Lazy.t
    end
  module Menu :
    sig
      val gettext : string -> string
      val gettext_opt : string -> string option
      val tt : string -> string Lazy.t
      val tf : 'Lazy.t -> 'a
      val t_uint : string -> (int -> string) Lazy.t
      val t_int : string -> (int -> string) Lazy.t
      val t_str : string -> (string -> string) Lazy.t
      val t_uint2 : string -> (int -> int -> string) Lazy.t
      val add_translation : locale -> string -> string -> unit
      val copy : string Stdlib.Lazy.t
      val edit : string Stdlib.Lazy.t
      val open_ : string Stdlib.Lazy.t
      val paste : string Stdlib.Lazy.t
      val save : string Stdlib.Lazy.t
      val save_as : string Stdlib.Lazy.t
    end
  module Popup :
    sig
      val gettext : string -> string
      val gettext_opt : string -> string option
      val tt : string -> string Lazy.t
      val tf : 'Lazy.t -> 'a
      val t_uint : string -> (int -> string) Lazy.t
      val t_int : string -> (int -> string) Lazy.t
      val t_str : string -> (string -> string) Lazy.t
      val t_uint2 : string -> (int -> int -> string) Lazy.t
      val add_translation : locale -> string -> string -> unit
      val cancel : string Stdlib.Lazy.t
      val close : string Stdlib.Lazy.t
      val no : string Stdlib.Lazy.t
      val yes : string Stdlib.Lazy.t
    end
  module Text_input :
    sig
      val gettext : string -> string
      val gettext_opt : string -> string option
      val tt : string -> string Lazy.t
      val tf : 'Lazy.t -> 'a
      val t_uint : string -> (int -> string) Lazy.t
      val t_int : string -> (int -> string) Lazy.t
      val t_str : string -> (string -> string) Lazy.t
      val t_uint2 : string -> (int -> int -> string) Lazy.t
      val add_translation : locale -> string -> string -> unit
    end
end