我正在使用OrchardCore.Localization.Core
NuGet包并按照this教程进行本地化的asp.net核心项目。一切都运作良好,我有像en.po
和fr.po
这样的文件,用于英语和法语的本地化。但我想把一些单词分成单独的文件,比如将po文件分成en.po
,fr.po
,errorlist.en.po
和errorlist.fr.po
。我不是在寻找一种只为特殊文件等分隔一些单词的智能方法。我只想在单独的文件中包含一些单词,以避免每种语言都有一个大的po文件。我不太确定我找不到任何这方面的文件。 OrchardCore.Localization.Core
NuGet已经拥有此功能吗?或者我可以实现可以实现这一目标的东西吗?
注意 我在产品自己的github问题列表here上问了这个问题,我想在这里添加所有者答案以供将来参考,所有信用到Sébastien Ros:
在同一文档页面上,它提到您可以提供自己的逻辑来存档文件:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/portable-object-localization?view=aspnetcore-2.2#implementing-a-custom-logic-for-finding-localization-files
并根据您的需要调整GetLocations()
方法,例如列出以特定文化结尾的所有文件,而不是返回单个IFileInfo
。
这是在OC Framework中用于在多个模块文件夹中查找文件的另一个示例:qazxsw poi
然后你可以像这样注册你的提供者:
https://github.com/OrchardCMS/OrchardCore/blob/dev/src/OrchardCore.Modules/OrchardCore.Localization/ModularPoFileLocationProvider.cs