I'm not sure how complete the answer you are looking for, but if you really use [string, string] pairs for your localization, and you are just looking for a quick way to load a resource (.resx) with the results of your translations, then the following will work as pretty quick, low tech solution.
Keep in mind that .resx files are only XML documents, so you can manually load your data into a resource from the outside of the code. The following example worked for me in VS2005 and 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";
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);
}
}
}
Obviously, the previous method will not generate code for your resource, however opening the resource file in Visual Studio and switching the availability modifier for the resource (re) generate static properties for you.
XML ( CSV Excel interop), Excel, XML, XPath , , , , .
.