Стратегии локализации больших объемов текста в приложениях .NET
Я работаю над довольно большим ASP-приложением, которое будет полностью локализовано. Я использую стандарт под названием resx
в сателлитных сборках с резервными (т.е. es-MX
, es-CL
и резервными общими для es
и т.д.).
Не только будут, вероятно, сотни (если не тысячи или более!) разных строк; в некоторых местах количество текста, которое нужно сохранить в качестве ресурса, может быть длинным, с точностью до нескольких абзацев.
Я предполагаю, что это будет огромная боль, чтобы управлять этими строками в редакторе Visual Studio, не говоря уже о том, что люди, которые будут выполнять некоторые переводы, не будут иметь доступа к VS в первую очередь.
Как вы, люди, работающие над локализованными приложениями, управляете этим типом вещей? Любые советы и указатели будут оценены.
Ответы
Ответ 1
Если вы решите перейти на БД, ознакомьтесь с этой статьей: Создание управляемой данными локализации ASP.NET
Поставщик ресурсов и редактор от Rick Strahl, а затем скачать его бесплатно
Если вы решили использовать resx, вы можете использовать Zeta Resource Editor, чтобы смягчить боль.
Ответ 2
Я честно не знаю об ограничениях файлов resx, но, если они есть, вы можете сделать следующее:
Создайте таблицу в базе данных, которая содержит переведенные тексты. Затем вам нужно будет кэшировать загруженный переведенный текст, когда к нему будет доступен доступ.
Такой подход также поможет команде переводчиков, которая не имеет доступа к Visual Studio. Единственная проблема, которую я вижу, - это создание дополнительного WebApp, который позволит команде перевода перевести тексты. Но все же это было бы просто.
Если вы не можете использовать базу данных для этого, некоторые файлы XML могут выполнить эту работу для вас.
EDIT: Я только что нашел другую альтернативу, но используя .txt файлы. Это также может помочь вам.
Ответ 3
Если имеется столько контента, он больше похож на проблему, которая должна быть атакована/будет решена системой управления контентом.
Ответ 4
Я начал проект, в котором было небольшое усилие локализации (4 языка, около десятка страниц), которые выросли в гораздо большую локализацию (9 языков, более 40 страниц).
Модель файла resx начинает представлять собой огромную PITA. Добавление новых файлов для языка является болезненным. Добавление новых файлов на новую страницу болезненно. Перемещение функциональности между страницами является болезненным.
Подход, основанный на базе данных, вероятно, будет лучше, хотя я и не пробовал его быть уверенным.
Изменить. Что касается работы с переводчиками, я использую редактор ресурсов Zeta для экспорта/импорта перевода в/из электронной таблицы.
Ответ 5
используйте бесплатный инструмент Помощник по переводу ресурсов (http://www.winking.be/resource-translation-helper).
- резервное копирование данных
- Добавьте местоположение и выберите папку проекта, содержащую файлы .resx.
- скажите, где вы хотите сохранить файл .xls(это создает еще один файл xml, содержащий сопоставления, не удаляет этот файл).
предоставить файл Excel вашим переводчикам, позволить им обновлять языки
- после перевода импорта файла .xls снова в папку
Хорошо работает!