我想将我的网页翻译成不同的语言,而且这个词的价值在数据库中,
如何从数据库表中设置资源值,不同表中的每个值
答案 0 :(得分:1)
如果我做得对,您希望从您的DataBase
填充您的资源文件动态。您可以通过在项目中创建.resx
文件来实现这一目标,下一步将使用以下代码添加/更新其内容:
public static void AddOrUpdateResource(string key, string value)
{
var path = @"YourResourceFilePath.resx";
var resx = new List<DictionaryEntry>();
using (var reader = new ResXResourceReader(path))
{
resx = reader.Cast<DictionaryEntry>().ToList();
var existingResource = resx.Where(r => r.Key.ToString() == key).FirstOrDefault();
if (existingResource.Key == null && existingResource.Value == null) // NEW!
{
resx.Add(new DictionaryEntry() { Key = key, Value = value });
}
else // MODIFIED RESOURCE!
{
var modifiedResx = new DictionaryEntry() { Key = existingResource.Key, Value = value };
resx.Remove(existingResource); // REMOVING RESOURCE!
resx.Add(modifiedResx); // AND THEN ADDING RESOURCE!
}
}
using (var writer = new ResXResourceWriter(path))
{
resx.ForEach(r =>
{
// Again Adding all resource to generate with final items
writer.AddResource(r.Key.ToString(), r.Value.ToString());
});
writer.Generate();
}
}
然后,您可以调用此方法并传递DataBase
。