Расходы на это. Думаю, мой мыслительный процесс может быть выключен.Файл ресурсов ASP.NET, менеджер ресурсов для перевода языка
Я хотел создать одну точку входа для перевода языка в разные библиотеки и приложения.
Что я сделал следующее:
Создан новый проект библиотеки классов называется Переводы В Корневой уровень Добавлен новый пункт - MyStrings.en-US.resx файл заселенных Resx файлу Resx - Модификатор доступа устанавливается в Общественности
В Коренной Уровень Перевод Проект Добавлен класс Предмет - Переводчик Добавлено Недвижимость
public class Translator
{
private ResourceManager _translationManager;
public ResourceManager TranslationManager
{
get
{
if (_translationManager == null)
{
_translationManager = new ResourceManager("MyStrings", this.GetType().Assembly);
}
return _translationManager;
}
}
}
В WebSite (не веб-проект, но сайт) Добавлено Ссылка Перевод проекта В коде позади объявлен
private Translator _translate;
public Translator Translate
{
get
{
if (_translate == null)
{
_translate = new Translator();
}
return _translate;
}
}
то в заявлении LINQ
Title = TranslationManager.GetString(appsAvailable.Value.ResourceKey, CurrentCulture)
ResourceKey does have a value
CurrentCulture = en-US
И я получаю эту ошибку
Не удалось найти ресурсы, подходящие для указанной культуры, или нейтральную культуру . Убедитесь, что «MyStrings.resources» был правильно встроен или связан с сборкой «Переводы» во время компиляции или , что все необходимые спутниковые сборки загружаемы и полностью подписаны .
Когда я смотрю на мой бен/Obj папку/отладки Я вижу это Translations.MyStrings.en-US.resources
, который не является именем, что он ищет. Я попытался изменить «basename» для менеджера с «MyStrings» на «Translations.MyStrings», но я получаю аналогичную ошибку, заявляя, что «Translations.MyStrings.resources» не найден. Я также попробовал просто сказать «хорошо» забыть культура прямо сейчас давайте обратимся к нему в качестве базового названия «Translations.MyStrings.en-US», и он говорит, что он все еще не может его найти.
Любые идеи о том, где я ошибаюсь? быть скопирован куда-то, чтобы программное обеспечение находит его, но не знаю, куда он идет? Или я пытаюсь сделать что-то, что он не предназначен, чтобы сделать?
Ваша помощь очень ценится!