【问题标题】:String resource file naming schemes and management [closed]字符串资源文件命名方案和管理[关闭]
【发布时间】:2011-02-11 04:24:39
【问题描述】:
也许是一个微不足道的问题,但我对答案很感兴趣。我目前正在重构一些非常大的整体字符串资源文件(每个项目一个垃圾箱资源文件,大约 30 个项目)。我将它们拆分,以便我们遵循文件约定,并在编码时更容易找到和管理字符串。
通常我将文件拆分成这个方案:
- ErrorMessages.resx
- LogMessages.resx
- ViewResources.resx
- AppResources.resx
我对这个命名并不十分兴奋,我只是想知道其他人使用什么。例如,我看到很多演示项目不是使用AppResources(应用程序内部使用的字符串),而是使用StringResources、Internal(糟糕!)等。
对管理资源或标准命名方案的想法/轶事/建议表示赞赏。
【问题讨论】:
标签:
c#
localization
resx
resource-management
【解决方案1】:
我通常这样组织我的资源:
第一个资源文件被整个应用程序使用(例如Project.Core)并且确实包含各种广泛使用的常见字符串。我实际上在错误/异常和日志记录之间没有任何区别:
-
CommonResources.resx
访问修饰符:公共
-
Error_Context
例如Error_ArgumentCannotBeNull
-
Warn_Context
例如Warn_ApplicationSettingNotFoundUseDefault
-
Info_Context
例如Info_UpdateAvailable
-
Validation_Context
例如Validation_EmailNotValid
第二个资源文件由表示层使用,包含各种 UI 字符串。命名可能因项目而异,但通常类似于以下架构:
-
PresentationResources.resx
访问修饰符:内部
-
Common_Context
例如Common_Yes
-
Section/Controller_Window/View_Context
例如Help_FAQ_HeadlineHowToUseResources 或 Help_FAQ_TextHowToUseResources
最后,每个项目/程序集还有一个内部资源文件,用于错误/警告/信息/验证资源,这些资源太具体而无法放入 CommonResources.resx 文件中。我不得不承认,我主要将此资源文件命名为InternalResources.cs ;)
-
InternalResources.resx
访问修饰符:内部
-
Classname_Error_Context
例如BCrypt_Error_InvalidSaltRevision
Classname_Warn_Context
Classname_Info_Context
Classname_Validation_Context