以编程方式查找.resx文件中是否存在替代翻译

Ste*_*eve 5 .net c# localization resx

我有一个项目,其中包含多个.resx文件的翻译.

例如

  • Admin.resx
  • Admin.fr.resx
  • Admin.it.resx
  • Admin.de.resx

有没有人知道一种方法,以编程方式找出替代语言文件中是否存在默认回退中存在的翻译?

我希望这是有道理的!

Ste*_*ner 4

这应该做你想做的。

public static bool StringExistsInCulture(string key, CultureInfo ci)
{
   ResourceManager resources = new ResourceManager(typeof(Admin));
   string defaultString = resources.GetString(key, CultureInfo.InvariantCulture);
   string transString = resources.GetString(key, ci);

   return (defaultString == transString);
}
Run Code Online (Sandbox Code Playgroud)

  • 如果我错了,请纠正我,但是当翻译与默认后备中的翻译相同时,它将返回“true”,而请求的逻辑是让它返回“false”?当然,这是否重要取决于上下文...... (2认同)