let create t filename charset =
      let (hashtbl,fun_plural_forms) = 
        fold_mo 
        t.GettextTypes.failsafe
        ( fun translation accu ->
          match translation with
            Singular(str_id, str) ->
              (
                Hashtbl.add accu str_id
                (Singular(str_id,charset str));
                accu
              )
          | Plural(str_id,str_plural,lst) ->
              (
                Hashtbl.add accu str_id
                (Plural(str_id,str_plural,List.map charset lst));
                accu
              )
        )
        (* 32 is only a guest on the number of string contains in the 
           future table *)

        (Hashtbl.create 32)
        filename
      in
      {
        dummy            = Dummy.create t filename charset;
        hashtbl          = hashtbl;
        failsafe         = t.GettextTypes.failsafe;
        fun_plural_forms = fun_plural_forms;
      }