Формально ответ на второй вопрос был, ответ на первый исходил из второго, «слово в ВОМ» для меня это слово в другой кодировке, а точнее слова, т.к. один файл — одна кодировка, ВОМ — это в вашем подтексте было сокращения UTF8-BOM
Честно говоря, из-за этого были проблемы, почему-то не всегда считывало, иногда при сравнении слова в BOM и константы выдавало false, на всякий что бы, если бы вдруг не работало, не думали что проблема в коде, а наверное в кодировке.
Да, это самый простой, но какой-то новичек которому нужно будет легкий перевод фраз, не откажеться от столь простого решения.
На счет множественных форм, вполне можно обойтись и аргументами вместо {0},{1]..., самому прописать конечно же.
Если же фраза поменяеться, то можно и поменять в файле с языками.
Плюс там нет условия для fizzbuzz вывода т.е. когда одновременно модуль равен нуль при делении на 3 и на 5
На счет множественных форм, вполне можно обойтись и аргументами вместо {0},{1]..., самому прописать конечно же.
Если же фраза поменяеться, то можно и поменять в файле с языками.