I18N - Значимые Или Не Значимые Ключи

Добрый день

Подскажите пожалуйста по своему опыту, какие ключи удобнее использовать в переводах - значимые как "User Settings" или нет ("userSettings", "user.settings"…). Задался этим вопросом когда наткнулся на этустатью. Плюс во многих проектах используются именно не значимые ключи (Chive как пример).

Я пользовался значимыми. Так хоть на одном из языков проект будет нормально отображаться (на исходном). Но это просто мое IMHO, проект был не большой, и кроме основного язык только один.

Думаю, зависит от конкретного проекта и личного удобства в работе. Подход из статьи использовать путь к слову понравился честно говоря, думаю, может быть удобным. Хотя логичнее в таком варианте сразу выносить тексты не в ‘app’, а разбивать на категории ‘model’ и подобное.

Я чаще всего использую такой вариант:

  1. все тексты разбиты на категории, например ‘message’, ‘link’ или ‘form’. таким образом, если переводы хранятся в файлах, у вас будут messages/en/link.php, messages/en/form.php и т.п.

  2. используются незначимые ключи. во-первых, меньше шансов на опечатки в больших текстах, во-вторых - перевод надо менять только в одном месте. ключи выглядят где-то так - ‘my_profile’.

Итого, получаем Yii:t(‘link’, 'my_profile);

Для случаев, если нет перевода на родной язык, лучше добавить откат к языку по умолчанию и выводить его перевод.

Использую везде английский. Так переводчикам проще всего.

Пока выбрас стиль ключей в виде "someKeyName". Вот думаю стоит ли заводить разные ключи для слов начинающихся с большой буквы и с маленькой?

Это как например? "беда" как событие и "Беда" как название яхты, или как?

Как слово с одним значением, но которое отображается в разных местах с заглавной и с маленькой буквы.

Мне сложно представить пример. Но я бы лучше воспользовался бы функцией изменения регистра, если таких слов много, что бы не захламлять файл локализации