能够使用多个po文件进行本地化asp.net core 2.2

问题描述 投票:0回答:1

我正在使用OrchardCore.Localization.Core NuGet包并按照this教程进行本地化的asp.net核心项目。一切都运作良好,我有像en.pofr.po这样的文件,用于英语和法语的本地化。但我想把一些单词分成单独的文件,比如将po文件分成en.pofr.poerrorlist.en.poerrorlist.fr.po。我不是在寻找一种只为特殊文件等分隔一些单词的智能方法。我只想在单独的文件中包含一些单词,以避免每种语言都有一个大的po文件。我不太确定我找不到任何这方面的文件。 OrchardCore.Localization.Core NuGet已经拥有此功能吗?或者我可以实现可以实现这一目标的东西吗?

c# asp.net-core .net-core orchardcms po
1个回答
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

这意味着您可以复制此文件:https://github.com/OrchardCMS/OrchardCore/blob/dev/src/OrchardCore/OrchardCore.Localization.Core/ContentRootPoFileLocationProvider.cs

并根据您的需要调整GetLocations()方法,例如列出以特定文化结尾的所有文件,而不是返回单个IFileInfo

这是在OC Framework中用于在多个模块文件夹中查找文件的另一个示例:qazxsw poi

然后你可以像这样注册你的提供者:

https://github.com/OrchardCMS/OrchardCore/blob/dev/src/OrchardCore.Modules/OrchardCore.Localization/ModularPoFileLocationProvider.cs
© www.soinside.com 2019 - 2024. All rights reserved.