在我的(Web)项目中,我创建了2个常规资源文件:
带有一些字符串值的strings.resx (此文件还有一个strings.designer.cs)
strings.en-US.resx ,包含一些已翻译的字符串值(设置为无代码生成)
当我在en-US请求期间更改文化时,将使用本地化资源文件,并且所有字符串都以英语显示(如果可用)。
我现在添加了2个T4模板文件来自动生成资源文件(现在,在测试时,一些硬编码的值,稍后将从DB加载值):
strings2.tt ,它将创建一个strings2.resx文件,而VS自动创建一个strings2.designer.cs文件。
strings2.en-US.tt ,它将创建strings2.en-US.resx文件(也没有代码生成)。
所有输出文件看起来都相同,所有文件都已成功构建,并且T4文件的转换没有任何问题。但是,当我在更改文化后尝试从T4生成的资源文件中检索本地化字符串时,它不会返回英语变体。
我看不出任何导致此问题的原因,将所有资源文件移动到单独的项目都无法解决问题。
我是否会遗漏某些内容,或者这只是因为文件是自动生成的?