Я работаю над приложением ASP.NET MVC 2 и использую отдельную библиотеку классов для своей модели. Я использовал файлы ресурсов в своем проекте библиотеки классов встроить сообщения проверки и использовать его в моих классах метаданных, и все было в порядке, пока я не решил добавить новый язык к своему проекту, таким образом, я переименовал Resource.resx к Resource.en-US.resx и также скопировал и сохранил его как новый Resource.fa-IR.resx для другого языка, но после переименования его, все в сопутствующем файле Designer.cs закончилось, и я не могу больше получать доступ к Файлу ресурсов. Как только я удаляю имя языка (например, en-США) от имени файла, это работает правильно.
Я уже установил Модификатор Доступа на Общественность, но никакой результат.
Я использую Visual Studio 2008 SP1.
Не переименовывайте resources.resx: вместо этого просто добавьте файлы ресурсов для дополнительных культур, которые вам нужны.
Resources.resx содержит "нейтральные" ресурсы, которые будут скомпилированы в вашей основной сборке, и будут использованы как резервные, если не будет расположена спутниковая сборка для требуемой культуры.
Каждый дополнительный файл ресурсов, например, Resource.fa-IR.resx, обычно компилируется в сателлитной сборке, специфичной для данной культуры.
Вы также можете добавить в свой AssemblyInfo.cs NeutralResourcesLanguageAttribute, который информирует ResourceManager о языке, который вы использовали для нейтральных ресурсов:
assembly: [System.Resources.NeutralResourcesLanguage("en-US")]
Например, например:
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