C # Локализация - несколько файлов Resx, но только один работает в стороне от по умолчанию - PullRequest
0 голосов
/ 09 октября 2018

У меня есть простое консольное приложение (.NET Framework 4.6.1), в котором я пытаюсь использовать несколько файлов resx путем изменения cultureinfo.Вот мой код:

       `static void Main( string[] args )
    {
        //default
        Console.WriteLine( Resource.Hello );

        Thread.CurrentThread.CurrentCulture = new CultureInfo( "fr-FR" );
        Thread.CurrentThread.CurrentUICulture = new CultureInfo( "fr-FR" );

        //french
        Console.WriteLine( Resource.Hello );

        Thread.CurrentThread.CurrentCulture = new CultureInfo( "hu-HU" );
        Thread.CurrentThread.CurrentUICulture = new CultureInfo( "hu-HU" );

        //hungarian
        Console.WriteLine( Resource.Hello );
        string res = Resource.ResourceManager.GetString( "Hello", CultureInfo.GetCultureInfo( "hu-HU" ) );
        Console.WriteLine( res );

        Console.ReadKey();
    }`

Моя культура по умолчанию - en-US.У меня есть одна строка в файлах resx с ключом "Hello".По какой-то причине с fr-FR cultureinfo он работает нормально, но другие получили запасное значение.

Связанная часть файла csproj проекта:

<ItemGroup>
  <EmbeddedResource Include="Properties\Resource.hu-HU.resx">
      <DependentUpon>Resource.resx</DependentUpon>
  </EmbeddedResource>
  <EmbeddedResource Include="Properties\Resource.fr-FR.resx">
      <DependentUpon>Resource.resx</DependentUpon>
  </EmbeddedResource>
  <EmbeddedResource Include="Properties\Resource.resx">
    <Generator>ResXFileCodeGenerator</Generator>
    <LastGenOutput>Resource.Designer.cs</LastGenOutput>
</ItemGroup>

Я добавил все файлы resx вручную в свой проект в разделе «Свойства».Только по умолчанию есть designer.cs

Есть идеи?Спасибо за продвижение!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...