Según los comentarios :)
Necesita un BEFORE INSERT
generar. En ese activador, modifica el registro antes de que llegue al almacenamiento permanente. Usando su ejemplo, este disparador se definiría así:
DELIMITER $$
CREATE TRIGGER moodle.update_lang
BEFORE INSERT
ON moodle.mdl_user FOR EACH ROW
BEGIN
SET NEW.lang='hu';
END$$
DELIMITER ;
La razón por la que no puedes usar UPDATE
en la misma tabla a la que se refiere el disparador es porque eso podría (y causaría) un bucle infinito.
Nota:no he probado esto, pero a juzgar por sus comentarios parece estar funcionando. ¡Buena suerte!