private IResourceReader GetReader (Stream stream, string name)
{
string format = Path.GetExtension (name);
switch (format.ToLower ()) {
case ".po":
return new PoResourceReader (stream);
case ".txt":
case ".text":
return new TxtResourceReader (stream);
case ".resources":
return new ResourceReader (stream);
case ".resx":
ResXResourceReader reader = new ResXResourceReader (stream);
// set correct basepath to resolve relative paths in file refs
if (useSourcePath)
reader.BasePath = Path.GetDirectoryName (Path.GetFullPath (name));
return reader;
default:
throw new Exception ("Unknown format in file " + name);
}
}