RESULTS = {}

function RESULTS:OrdinalPlace(place, upper, isOtherEnd)
    local allPlaces
    local places = upper and {
        "PLACE_FIRST_ORDINAL_UPPERCASE",
        "PLACE_SECOND_ORDINAL_UPPERCASE",
        "PLACE_THIRD_ORDINAL_UPPERCASE",
        "PLACE_FOURTH_ORDINAL_UPPERCASE",
        "PLACE_FIFTH_ORDINAL_UPPERCASE",
        "PLACE_SIXTH_ORDINAL_UPPERCASE",
        "PLACE_SEVENTH_ORDINAL_UPPERCASE",
        "PLACE_EIGHTH_ORDINAL_UPPERCASE"
    } or {
        "PLACE_FIRST_ORDINAL",
        "PLACE_SECOND_ORDINAL",
        "PLACE_THIRD_ORDINAL",
        "PLACE_FOURTH_ORDINAL",
        "PLACE_FIFTH_ORDINAL",
        "PLACE_SIXTH_ORDINAL",
        "PLACE_SEVENTH_ORDINAL",
        "PLACE_EIGHTH_ORDINAL"
    }
    if isOtherEnd then
        allPlaces = {
            "PLACE_FIRST_ORDINAL_OTHER_END",
            "PLACE_SECOND_ORDINAL_OTHER_END",
            "PLACE_THIRD_ORDINAL_OTHER_END",
            "PLACE_FOURTH_ORDINAL_OTHER_END",
            "PLACE_FIFTH_ORDINAL_OTHER_END",
            "PLACE_SIXTH_ORDINAL_OTHER_END",
            "PLACE_SEVENTH_ORDINAL_OTHER_END",
            "PLACE_EIGHTH_ORDINAL_OTHER_END"
        }
    else
        allPlaces = places
    end
    local str = GetTranslatedStringByKey(allPlaces[place])
    return str, ("%s-%s"):format(place, str:sub(-2)), str:sub(2, -1), GetTranslatedStringByKey(places[place])
end
