0

在 Xamarin.Forms 应用程序中,我从 Core(.Net 标准项目)调用 Humanizer 我正在使用 Nugets Humanizer.CoreHumanizer.Core.ru包用于俄语并将其称为
DateTime.UtcNow.AddMinutes(-3)。 Humanize(culture: new CultureInfo("ru-Ru"));

我总是像 3 分钟前一样学英语

我试过申请:

CultureInfo ci = new CultureInfo("ru-Ru"); 
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;

而这些不影响结果,我又得到了英语。

4

2 回答 2

0

Thx @polyariz,我可以确认这仍然适用于 .NET MAUI,只需将 .dll 复制到 Resources 文件夹... 手动添加的 .dll

并通过右键单击依赖项和“添加项目引用...”将它们添加到项目中 在此处输入图像描述

于 2022-01-07T15:42:22.227 回答
0

我用解决方法解决了这个问题。

  1. 我从 Nuget 中删除了所有 Humanize 包。
  2. 进入包目录:C:\Users\USERNAME\.nuget\ packages
  3. 需要从下一个文件夹中复制文件 Humanize dll:
  • humanizer.core \2.8.26\lib\netstandard2.0 ( Humanizer.dll, Humanizer.xml )
  • humanizer.core.ru \2.8.26\lib\netstandard2.0(复制文件夹“ru”和文件 - ru\Humanizer.resources.dll
  1. 在我的项目文件夹中,我创建了CommonResources文件夹。然后我在 CommonResources 中创建了Humanize文件夹,并将 2 个文件和“ru”文件夹粘贴到我的 Humanize 中。

在此处输入图像描述

  1. 在这些 dll 上添加对 PCL 项目yourProject.csproj文件的引用。
  <ItemGroup> 
    .......
    <Reference Include="Humanizer.Core">
    <HintPath>..\..\CommonResources\Humanizer\Humanizer.dll</HintPath>
  </Reference> 
    <Reference Include="Humanizer.Core.ru">
    <HintPath>..\..\CommonResources\Humanizer\ru\Humanizer.resources.dll</HintPath>
  </Reference>
     ....... 
  <PackageReference Include="Xamarin.Forms" Version="5.0.0.2012" /> 
</ItemGroup> 

在此处输入图像描述

添加 dll 文件后,我将本地化文本添加到我的项目中。

在此处输入图像描述

于 2021-02-26T14:21:45.407 回答