Проблема с языком определенные файлы ресурсов в проекте библиотеки классов

Я работаю над приложением ASP.NET MVC 2 и использую отдельную библиотеку классов для своей модели. Я использовал файлы ресурсов в своем проекте библиотеки классов встроить сообщения проверки и использовать его в моих классах метаданных, и все было в порядке, пока я не решил добавить новый язык к своему проекту, таким образом, я переименовал Resource.resx к Resource.en-US.resx и также скопировал и сохранил его как новый Resource.fa-IR.resx для другого языка, но после переименования его, все в сопутствующем файле Designer.cs закончилось, и я не могу больше получать доступ к Файлу ресурсов. Как только я удаляю имя языка (например, en-США) от имени файла, это работает правильно.

Я уже установил Модификатор Доступа на Общественность, но никакой результат.

Я использую Visual Studio 2008 SP1.

5
задан Mahdi Taghizadeh 6 February 2010 в 13:03
поделиться

2 ответа

Не переименовывайте resources.resx: вместо этого просто добавьте файлы ресурсов для дополнительных культур, которые вам нужны.

Resources.resx содержит "нейтральные" ресурсы, которые будут скомпилированы в вашей основной сборке, и будут использованы как резервные, если не будет расположена спутниковая сборка для требуемой культуры.

Каждый дополнительный файл ресурсов, например, Resource.fa-IR.resx, обычно компилируется в сателлитной сборке, специфичной для данной культуры.

Вы также можете добавить в свой AssemblyInfo.cs NeutralResourcesLanguageAttribute, который информирует ResourceManager о языке, который вы использовали для нейтральных ресурсов:

assembly: [System.Resources.NeutralResourcesLanguage("en-US")]
6
ответ дан 14 December 2019 в 04:37
поделиться

Например, например:

def appendabc(somedict):
    return dict(map(lambda (key, value): (str(key)+"abc", value), somedict.items()))

def transform(multilevelDict):
    new = appendabc(multilevelDict)

    for key, value in new.items():
        if isinstance(value, dict):
            new[key] = transform(value)

    return new

print transform({1:2, "bam":4, 33:{3:4, 5:7}})

К каждому ключу в словаре и любому значению, являющемуся словарем, добавляется «abc».

EDIT: Есть также действительно крутой Python 3 версии, проверьте его:

def transform(multilevelDict):
    return {str(key)+"abc" : (transform(value) if isinstance(value, dict) else value) for key, value in multilevelDict.items()}

print(transform({1:2, "bam":4, 33:{3:4, 5:7}}))
-121--2116436-

Ruby 1,8 имеет? -префикс синтаксис, который превращает символ в его ASCII кодовое значение. Например, ? a является значением ASCII для буквы a (или 97). Двойным вопросительным знаком является только число 63 (или значение ASCII для ? ).

?a    # => 97
?b    # => 98
?c    # => 99
?\n   # => 10
??    # => 63

Для обратного преобразования можно использовать метод chr :

97.chr   # => "a"
10.chr   # => "\n"
63.chr   # => "?"

??.chr   # => "?"

В Ruby 1,9 синтаксис ? a возвращает сам символ (как и синтаксис квадратной скобки на последовательности):

??           # => "?"

"What?"[-1]  # => "?"
-121--2465960-

Нет необходимости переименовывать язык по умолчанию в Resources.en- Просто сохраните его как Resources.resx и он будет использоваться как резервный файл ресурсов, что означает, что если нет пользовательского языка, например, арабского, он будет использоваться, так что, вы должны иметь файлы с именем:

Resource.resx

Resource.fa-IR.resx

2
ответ дан 14 December 2019 в 04:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: