hell0w0rd, так я говорю про best practice и правильность с точки зрения теории. Пример с Singleton'ом никак не может быть в пользу трейтов, потому что сам по себе Singleton — это ущербный паттерн.
По поводу «популярных свойств» — это отдельная песня. Если твоя сущность просто представляет из себя набор сеттеров и геттеров, то ты получаешь
anemic model. Если ты таким образом пытаешься избавиться от copy-paste, то возможно ты тоже
что-то делаешь не так. Ты пытаешься пойти на избавление от copy-paste в ущерб модели. Уже тот факт, что от сущности к сущности могут несколько различаться требования (мы это уже как-то обсуждали), а ты не сможешь эти требования удовлетворить, говорит о том, что ты что-то делаешь не так.
Если рассматривать конкретный пример с переводом, то у меня есть некоторые сомнения относительно «правильности» нахождения переводов в модели: это скорее presentation layer в большинстве случаев. Т.е. всем насрать на перевод с точки зрения бизнес-логики, это нужно исключительно юзеру для взаимодействия с интерфейсом: на китайском он может ничего не понять, хотя логика одинаковая.
Если тебе трейты таким образом спасают жизнь — это окей. Возможно, это прагматично. Удобно. Появляется время выпить пива вместе с @
AmdY после работы. Но я не вижу примеров правильного использования трейтов с точки зрения теории.