# File lib/gettext/textdomain_manager.rb, line 165
    def translate_plural_message_to(lang, klass, arg1, arg2, arg3 = "|", arg4 = "|")
      # parse arguments
      if arg1.kind_of?(Array)
        msgid = arg1[0]
        msgid_plural = arg1[1]
        n = arg2
        if arg3 and arg3.kind_of? Numeric
          raise ArgumentError, _("3rd parmeter is wrong: value = %{number}") % {:number => arg3}
        end
        div = arg3
      else
        msgid = arg1
        msgid_plural = arg2
        n = arg3
        div = arg4
      end

      # Find messages from related classes.
      msgs = nil
      self.class.each_textdomains(klass) do |textdomain|
        msgs = textdomain.translate_plural_message(lang, msgid, msgid_plural)
        break if msgs
      end
      
      # If not found, return msgid.
      msgs = [[msgid, msgid_plural], "n != 1"] unless msgs

      msgstrs = msgs[0]
      if div and msgstrs[0] == msgid and index = msgstrs[0].rindex(div)
        msgstrs[0] = msgstrs[0][(index + 1)..-1]
      end

      # Return the singular or plural message.
      plural = eval(msgs[1])
      return msgstrs[plural] if plural.kind_of?(Numeric)
      return plural ? msgstrs[1] : msgstrs[0]
    end