我正在使用OrchardCore.Localization.Core
NuGet 包并按照本教程将 asp.net 核心项目本地化。一切都很好,我有文件,比如en.po
和fr.po
用于英语和法语的本地化。但我想将一些单词分成单独的文件,例如将 po 文件分成en.po
,和. 我不是在寻找一种仅针对特殊文件等分隔某些单词的智能方法。我只想在单独的文件中包含一些单词以避免每种语言都有一个大的 po 文件。我不太确定我找不到任何关于这件事的文档。NuGet是否已经具有此功能?或者我可以实现一些可以实现这一目标的东西吗?fr.po
errorlist.en.po
errorlist.fr.po
OrchardCore.Localization.Core
1 回答
2
注意
我在这里在产品自己的 github 问题列表上提出了这个问题,我想在此处添加所有者的答案以供将来参考,所有学分都归功于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 框架中使用在多个模块文件夹中查找文件的另一个示例: https ://github.com/OrchardCMS/OrchardCore/blob/dev/src/OrchardCore.Modules/OrchardCore.Localization/ModularPoFileLocationProvider.cs
然后你可以像这样注册你的提供者:
services.AddSingleton<ILocalizationFileLocationProvider, MyPoFileLocationProvider>();
于 2019-04-05T20:00:55.423 回答