Делаю на JS примерно так
function getMonth (index, modify) {
var monthesRule = [
['(ь|й)', 'я'],
['т', 'та']
],
result = [
'Январь',
'Февраль',
'Март',
'Апрель',
'Май',
'Июнь',
'Июль',
'Август',
'Сентябрь',
'Октябрь',
'Ноябрь',
'Декабрь'
][index - 1];
if (modify) {
for (var i = 0, r; i < monthesRule.length; i++) {
r = new RegExp(monthesRule[i][0] + '$');
if (r.test(result)) {
return result.replace(r, monthesRule[i][1]);
}
}
}
return result;
}
console.log(getMonth(2));
console.log(getMonth(2, true));