let create t filename charset =
      let (map,fun_plural_forms) = 
        fold_mo 
        t.GettextTypes.failsafe
        ( fun translation accu ->
          match translation with
            Singular(str_id, str) ->
              MapString.add str_id
              (Singular(str_id,charset str))
              accu
          | Plural(str_id,str_plural,lst) ->
              MapString.add str_id
              (Plural(str_id,str_plural,List.map charset lst))
              accu
        )
        MapString.empty
        filename
      in
      {
        dummy            = Dummy.create t filename charset;
        map              = map;
        failsafe         = t.GettextTypes.failsafe;
        fun_plural_forms = fun_plural_forms;
      }