我正在使用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是否已具有此功能?还是我可以实施一些可以实现这一目标的东西?
答案 0 :(得分:0)
注意
我在产品自己的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中用于在多个模块文件夹中查找文件的另一个示例: https://github.com/OrchardCMS/OrchardCore/blob/dev/src/OrchardCore.Modules/OrchardCore.Localization/ModularPoFileLocationProvider.cs
然后您可以像这样注册您的提供商:
services.AddSingleton<ILocalizationFileLocationProvider, MyPoFileLocationProvider>();