Xamarin Forms 中的 Humanizer 本地化问题
Humanizer Localization Issue in Xamarin Forms
在 Xamarin.Forms 应用程序中,我从核心(.Net 标准项目)调用 Humanizer
我正在为俄语使用 Nugets Humanizer.Core 和 Humanizer.Core.ru 包
并调用它
DateTime.UtcNow.AddMinutes(-3).Humanize(文化: new CultureInfo("ru-Ru"));
而且我总是会说英语
就像 3 分钟前
我试过申请:
CultureInfo ci = new CultureInfo("ru-Ru");
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
而这些并没有影响结果,我又得到了英语。
我使用解决方法解决了问题。
- 我从 Nuget 中删除了所有 Humanize 包。
- 进入包目录:C:\Users\USERNAME\.nuget\packages
- 需要从下一个文件夹复制人性化 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)
- 在我的项目文件夹中,我创建了 CommonResources 文件夹。
然后我在 CommonResources 中创建了 Humanize 文件夹,并将 2 个文件和“ru”文件夹粘贴到我的 Humanize。
- 在这些 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 文件后,我将本地化文本添加到我的项目中。
谢谢@polyariz,我可以确认这仍然适用于 .NET MAUI,只需将 .dll 复制到 Resources 文件夹...
并通过右键单击“依赖项”和“添加项目引用...”将它们添加到项目中
在 Xamarin.Forms 应用程序中,我从核心(.Net 标准项目)调用 Humanizer
我正在为俄语使用 Nugets Humanizer.Core 和 Humanizer.Core.ru 包
并调用它
DateTime.UtcNow.AddMinutes(-3).Humanize(文化: new CultureInfo("ru-Ru"));
而且我总是会说英语 就像 3 分钟前
我试过申请:
CultureInfo ci = new CultureInfo("ru-Ru");
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
而这些并没有影响结果,我又得到了英语。
我使用解决方法解决了问题。
- 我从 Nuget 中删除了所有 Humanize 包。
- 进入包目录:C:\Users\USERNAME\.nuget\packages
- 需要从下一个文件夹复制人性化 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)
- 在我的项目文件夹中,我创建了 CommonResources 文件夹。 然后我在 CommonResources 中创建了 Humanize 文件夹,并将 2 个文件和“ru”文件夹粘贴到我的 Humanize。
- 在这些 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 文件后,我将本地化文本添加到我的项目中。
谢谢@polyariz,我可以确认这仍然适用于 .NET MAUI,只需将 .dll 复制到 Resources 文件夹...
并通过右键单击“依赖项”和“添加项目引用...”将它们添加到项目中