我不知道你的答案如何全面的尋找,但如果你真的只是使用[字符串,字符串]對你的定位和你只是尋找一個快速的方式來加載資源(.resx)文件與翻譯結果進行比較,那麼以下內容將作爲一種相當快速,低技術含量的解決方案。
要記住的一點是,.resx文件只是XML文檔,所以它應該可以手動將數據從外部的代碼加載到資源。下面的例子在VS2005爲我工作和VS2008:
namespace SampleResourceImport
{
class Program
{
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
string filePath = @"[file path to your resx file]";
doc.Load(filePath);
XmlElement root = doc.DocumentElement;
XmlElement datum = null;
XmlElement value = null;
XmlAttribute datumName = null;
XmlAttribute datumSpace = doc.CreateAttribute("xml:space");
datumSpace.Value = "preserve";
// The following mocks the actual retrieval of your localized text
// from a CSV or ?? document...
// CSV parsers are common enough that it shouldn't be too difficult
// to find one if that's the direction you go.
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("Label1", "First Name");
d.Add("Label2", "Last Name");
d.Add("Label3", "Date of Birth");
foreach (KeyValuePair<string, string> pair in d)
{
datum = doc.CreateElement("data");
datumName = doc.CreateAttribute("name");
datumName.Value = pair.Key;
value = doc.CreateElement("value");
value.InnerText = pair.Value;
datum.Attributes.Append(datumName);
datum.Attributes.Append(datumSpace);
datum.AppendChild(value);
root.AppendChild(datum);
}
doc.Save(filePath);
}
}
}
顯然,上述方法不會產生隱藏代碼爲您的資源,但是打開Visual Studio中的資源文件,並切換無障礙修改爲資源將(重新)爲您生成靜態屬性。
如果您正在尋找一個完全基於XML的解決方案(與CSV或Excel互操作),您還可以指示您的翻譯人員將其翻譯的內容存儲在Excel中,保存爲XML,然後使用XPath檢索您的本地化信息。唯一需要注意的是文件大小往往變得非常臃腫。
祝你好運。
這個工作對resw了。 – b15 2016-06-05 13:51:18