Я собираюсь начать проект локализации для моего работодателя.Это касается уже существующего проекта с множеством оконных форм и установленной кодовой базой, запрограммированной на C # и ASP.NET.Я провел исследование о том, как локализовать приложение в визуальной студии и нашел ресурсы.
Хотя это адекватное решение проблемы, я не совсем доволен недостатками использования ресурсов.Это означает, что он имеет довольно большую площадь, требующую изменений в каждом из файлов форм.Кроме того, файлы ресурсов доступны для редактирования только из Visual Studio.Я бы предпочел включить внешние переводчики без знаний в области программирования для выполнения перевода.
Поэтому я предложил альтернативное решение:
Создание класса утилит статической локализации с методом расширения для String:
public static String Localize(this String s)
Служебный класс загружает строки локализации из файла при запуске.Когда программе где-то нужна строка, она называется
"foo".Localize();
И программа будет использовать саму строку в качестве ключа в таблице для поиска перевода.Кажется, это безопасное и эффективное решение, и я доволен небольшим размером, который он оставляет на существующей кодовой базе.
В основном я хочу спросить:
- Есть ли недостатки умое решение, которое я пропустил?
- Какие форматы файлов для данных локализации мне следует рассмотреть (я уже сталкивался с форматом файла .po)?
- Это достаточно веская причинаотклониться от решения с использованием файлов ресурсов?
Будем благодарны за любые советы и / или соображения.