let input_mo_translated failsafe chn mo_header number = 
  if number < (Int32.to_int mo_header.number_of_strings) then
    (
      let offset_pair = 
        (Int32.to_int mo_header.offset_table_translation) + number * 8
      in
      let str = 
        try
          seek_in chn offset_pair;
          input_int32_pair_string chn mo_header.endianess
        with End_of_file ->
          raise (MoInvalidTranslationOutOfBound
                   (in_channel_length chn,offset_pair))
      in
        split_plural str 
    )
  else
    (
      raise 
        (MoInvalidStringOutOfBound
           (Int32.to_int mo_header.number_of_strings, 
            number))
    )