Я не уверен, насколько исчерпывающим является ответ, который вы ищете, но если вы действительно просто используете пары [строка, строка] для своей локализации, и вы просто ищете быстрый способ загрузки ресурса ( .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 для получения информации о локализации. , Единственное предостережение, что размеры файлов имеют тенденцию становиться довольно раздутыми.
Удачи.