Un ejemplo en php de como convertir dinámicamente un número al nombre del mes equivalente en el idioma que quieras, en mi caso el español.

Creamos un objeto fecha DateTime::createFromFormat:

$numero = 3;
$fecha = DateTime::createFromFormat('!m', $numero);
$mes = $fecha->format('F'); // March

De esta forma obtenemos dinámicamente el nombre del mes en inglés, en el ejemplo anterior: March

¿Cómo convertir el nombre del mes a otro idioma?

Si queremos mostrar el nombre en otro idioma, sin necesidad de crear nosotros el típico array con el nombre d elos meses para cada idioma… tenemos que usar primero el setlocale() con el iso de tu idioma, y por último hacer uso de la función strftime() de php para formatear la fecha a la nueva configuración local.

setlocale(LC_TIME, 'es_ES');

$numero = 3;
$fecha = DateTime::createFromFormat('!m', $numero);
$mes = strftime("%B", $fecha->getTimestamp()); // marzo

Agradezco tu comentario 🤘