Масштабируемость локализации через спутниковые сборки для многих проектов

Я работаю над программным продуктом.Net, который состоит из нескольких приложений различных размеров и десятков (возможно, сотен) сборок. Все должно быть переведено на несколько языков.

Где бы я ни смотрел, предлагаемый способ локализации строк в.NET - это создание сателлитных сборок со строками ресурсов. Конечно, все эти примеры просто показывают одну сборку, и как заставить локализацию работать технически. Моя проблема в том, что на практике я не вижу, как это должно масштабироваться до большого набора сборок.

Если я просто дублирую подход для каждой сборки, я получаю действительно большое количество сателлитных сборок для обслуживания и развертывания, и мне приходится отслеживать одну и ту же строку / перевод в каждой сборке, которая в этом нуждается. Каждый раз, когда изменяется перевод, я должен найти все варианты использования этой строки во всех моих сборках и изменить ее.

Каждый раз, когда мне нужно обновить свои переводы, мне нужно извлечь все из множества файлов ресурсов, отправить их переводчикам, а затем снова распространить их результаты на нужные ресурсы. Это может быть сделано, конечно, и я предполагаю, что некоторые из них могут (и должны) быть написаны в сценарии. Однако, это не кажется мне особенно гладким и эффективным.

Одна альтернатива, о которой я могу подумать, - это создать выделенную сборку перевода (со спутниковыми сборками), которая будет служить центральным хранилищем для локализованных строк. Все переводы всех строк всех сборок будут идти туда, и каждая сборка по очереди будет ссылаться на них, чтобы выплевывать переводы.

Похоже, это значительно упрощает обслуживание, но, конечно, эту центральную сборку с ее огромным набором строк ресурсов придется развертывать параллельно даже самым маленьким моим приложениям, которым на самом деле понадобится лишь небольшая их часть. Более того, многие разработчики часто должны менять эту сборку, что приведет к высокому риску конфликтов.

Мой вопрос:
Каким образом подход к локализации через спутниковые сборки должен масштабироваться для крупных программных проектов со многими сборками? Каковы предлагаемые стратегии и лучшие практики?

0 ответов

Другие вопросы по тегам