Как создать и поддерживать многоязычный проект?


Я планирую сделать многоязыковое приложение на C# и задавался вопросом, как лучше всего справиться со следующим:

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

Спасибо за любые советы, ответы и т. д.

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

3 6

3 ответа:

Я бы сказал, что стандартный способ локализации приложения на C# - это использование ресурсов и вспомогательных сборок. Вот некоторые статьи об этом:

Создание и реализация вспомогательных сборок
локализация как профи
MSDN: локализация приложений

Для обработки языков лучше всего хранить строки в файле ресурсов. Вы можете выпустить дополнительные языки со вспомогательными сборками. Вы найдете много информации о глобализации и локализации с помощью C#: например, в MSDN

Если вы планируете хранить много данных, я бы предложил SQL Compact + NHibernate. XML работает очень медленно, особенно с C#.

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

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

По следующей ссылке вы можете найти информацию о двух подходах.

.NET-локализация с использованием файла ресурсов

Следующая ссылка-это действительно хорошая статья о локализации и базовых концепциях.

Интернационализация И Локализация

Надеюсь, это поможет.