def get_i18n_month_name(month_nb, display='short', ln=None):
    """Get a non-numeric representation of a month, internationalized.

    @param month_nb: number of month, (1 based!)
                     =>1=jan,..,12=dec
    @param ln: language for output
    @return: the string representation of month
    """
    ln = default_ln(ln)
    _ = gettext_set_language(ln)
    if display == 'short':
        months = {0: _("Month"),
                  1: _("Jan"),
                  2: _("Feb"),
                  3: _("Mar"),
                  4: _("Apr"),
                  5: _("May"),
                  6: _("Jun"),
                  7: _("Jul"),
                  8: _("Aug"),
                  9: _("Sep"),
                  10: _("Oct"),
                  11: _("Nov"),
                  12: _("Dec")}
    else:
        months = {0: _("Month"),
                  1: _("January"),
                  2: _("February"),
                  3: _("March"),
                  4: _("April"),
                  5: _("May "),  # trailing space distinguishes short/long form
                  6: _("June"),
                  7: _("July"),
                  8: _("August"),
                  9: _("September"),
                  10: _("October"),
                  11: _("November"),
                  12: _("December")}
    return months[month_nb].strip()
Get a non-numeric representation of a month, internationalized.

    @param month_nb: number of month, (1 based!)
                     =>1=jan,..,12=dec
    @param ln: language for output
    @return: the string representation of month