0

Xamarin.Forms アプリで、Core (.Net Standard プロジェクト) から Humanizer を呼び出しています。ロシア語用の Nugets Humanizer.CoreおよびHumanizer.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

回避策で問題を解決しました。

  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 に答える