Передовой опыт для значений ключа в файлах перевода

В общем, методы перевода берут сопоставление ключ > значение и используют ключ для преобразования его в значение. Теперь я различаю два разных метода присвоения имен вашим ключам перевода, и в моей команде мы не пришли к единому мнению, какой метод кажется лучшим.

Способ 1: Используйте полные английские слова или предложения:

Name => Name
Please enter your email address => Please enter your email address

Метод 2: Используйте ключевые слова, описывающие ситуацию:

NAME => Name
ENTER_EMAIL => Please enter your email address

Лично я предпочитаю метод №1, потому что он напрямую показывает смысл сообщения. Если перевода нет, вы можете вернуться к ключу, и это не вызывает никаких проблем. Однако этот метод является громоздким, когда перевод часто меняется, поскольку все файлы необходимо обновлять. Также для более длинных текстов эти клавиши становятся очень большими. Это решается с помощью таких ключей, как ENTER_EMAIL, но формулировка полностью вырвана из контекста. Список абстрактных ключей перевода был бы огромен, вам нужны метаданные для всех ключей, объясняющие их использование, и коллизии могут происходить намного проще.

Есть ли лучшее из обоих миров или третий метод? Как вы используете ключи перевода в своем приложении? В нашем случае это веб-приложение на основе php, но я думаю, что описанная выше проблема достаточно общая, чтобы говорить об i18n в целом.

23
задан Jurian Sluiman 18 May 2012 в 14:00
поделиться