В большинстве случаев локализация через спутниковые сборки является наилучшим вариантом.Это стандартная практика, которой следует следовать, если только у вас нет веских причин не делать этого.
Уважительные причины для создания собственного решения:
- Ваш пользовательский интерфейс динамический, то есть текстовый.часто меняются довольно много (т.е. в зависимости от клиента).В таком случае имеет смысл хранить переводимые ресурсы и соответствующие переводы в базе данных
- Переводчики, с которыми вы сотрудничаете, не знают в первую очередь о XML и технических переводах, поэтому переводить файлы resx слишком опасно.В таком случае вы можете захотеть реализовать собственное решение, то есть иметь переводы в конфигурационных файлах
- Вы - начальник, вы знаете i18n лучше, чем эксперты в данной области, и вы собираетесь исправить эту неудачную реализацию Microsoftинженеры.Не вы, конечно, но оригинальный разработчик - обычно кто-то с огромным эго или кто-то, страдающий синдромом «Не изобретено здесь», может подумать, что это хорошая идея - найти «лучшее» решениеПриложение использует нестандартный подход, вам, вероятно, нужно спросить оригинального разработчика (или кого-то еще, кто может знать ответ).Исходя из моего опыта, это может быть одной из перечисленных выше причин, довольно часто третьей.