そんなことはないでしょ

??テキストファイルにエラーメッセージを書く( *.ini形式で保存 )
ex) abc.ini
error_1 = 名前が空白です。
error_2 = 住所が空白です。

??parse_ini_fileでパース
ex)
$err_mes = parse_ini_file("abc.ini");
extract($err_mes);

??エラーを出したいところに表示
ex)
print($error_1);

これだと、特にエンコーディグとか考えなくても使えます。

abc.iniと実際に出力するページなりの文字エンコーディングが違えば当然変換する必要があります.

ちなみにこのextract()はやっちゃいけないの典型的パターン.
どーしても配列の中身の展開を簡単にしたいときは第2引数と第3引数を存分に使いましょう.

extract($array, EXTR_PREFIX_ALL, 'ERR');

これで展開された変数は$arrayの添え字の前に「ERR_」がついたものになります.
つまりネームスペース的に使えるので,「コーディング中は『ERR_』で始まる変数は自分で使わない」とルール決めしておけばOKです.
これによりiniファイルでどういう変数名を付加されても*おそらく*ERR_で始まらない変数名として展開されることはなくなります.

#もうちょっときっちりルール決めしてもいいかもしれないけど