Сколько людей, столько и мнений. Я, как уже сообщал, за 3-й вариант.
По поводу локализованных ресурсов приложения, вынесенных в отдельные текстовые файлы - мне такой вариант не нравится по той причине, что обезьяны могут их повредить или умышленно | непреднамеренно исказить содержимое. Использовать для этого родные механизмы WinAPI или .NET Framework - для меня более предпочительный вариант хотя бы по той причине, что это "стандартный", обкатанный способ, с которым знакомы все (ну или почти все) программеры. Я не хочу, чтобы мои ресурсные файлы правили обезьянки или вредоносный | написанный через зад код. Замучаешься потом доказывать, что это не ты так написал...
да хоть с ненормативной лексикой )))
ну, это явно не мои клиенты... Такая аудитория мне не интересна.
а для маленьких проектов вариант 2 можно превратить в вариант 3 просто поменяв имена у файлов локализации, если на английском автокаде хочется видеть русский текст в моей команде.
Переименовывать имена файлов из ru в en для того, чтобы получить эффект варианта 3 считаю грязным способом аля "
на это не смотри, здесь нужно читать справа налево, а вот в это я вообще рыбу заворачивал...". Тем более, что для реализации варианта 3 не требуется никаких особых усилий.
одно приложение выкладывается в магазине приложений и на русском, и на английском, и на французском с соответствующей локализацией. Возможно даже отличается функционал. И даже стоимость. Autodesk ведь не стесняется ставить разные цены в разных регионах
Формирование отдельных локализованных версий с последующей их продажей по разным ценам несомненно имеет целесообразность с точки зрения зарабатывания денег. Всё зависит от приоритетов: либо деньги, либо универсальность конечного ПО, поставляемого клиенту.