Проект автономного приложения .NET 8 Blazor WebAssembly, культура "az-AZ" не работает

Проект автономного приложения .NET 8 Blazor WebAssembly Я добавил культуру «az-AZ» в файл Program.cs, но он не работает. Но другие языки работают.

Программа.cs

using BlazorApp1;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using System.Globalization;

var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");

builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });

CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("az-AZ");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("az-AZ");

await builder.Build().RunAsync();

BlazorApp1

<Project Sdk = "Microsoft.NET.Sdk.BlazorWebAssembly">

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
      <BlazorWebAssemblyLoadAllGlobalizationData>true</BlazorWebAssemblyLoadAllGlobalizationData>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include = "Microsoft.AspNetCore.Components.WebAssembly" Version = "8.0.2" />
    <PackageReference Include = "Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version = "8.0.2" PrivateAssets = "all" />
      
  </ItemGroup>

</Project>

Привет @Халиг Гейдаров, как тебе другая конфигурация локализации? Вот официальный документ: как настроить культуру.

Rena 10.07.2024 11:33

@Рена Привет. Я думаю все конфиги в порядке. Потому что когда я перехожу на «тр-ТР», это работает.

Khalig Heydarov 10.07.2024 14:56

Привет @Халиг Гейдаров, ты пробовал другие культуры, не только тр-ТР и аз-АЗ? Все остальные культуры могут работать нормально? Я думаю, вам лучше рассказать, как вы настраиваете локализацию и как получаете культуру. Настройкой на стороне клиента, из заголовков или любым другим способом.

Rena 11.07.2024 07:30

@Rena Да, это работает нормально.

Khalig Heydarov 11.07.2024 07:47

Привет @Khalig Heydarov, проверьте эту проблему на github, похоже, это сделано специально. Вы можете просмотреть ссылку в последнем комментарии и попробовать настроить.

Rena 12.07.2024 03:40

Извините, мне просто нужно спросить: это WebAssembly или ServerSide? Мне это кажется WebAss, но вы указали оба тега.

SMSTJ 12.07.2024 08:56

Также для других на этой странице Также есть обсуждение этой проблемы, где мы получаем более подробную информацию, в частности: изменение культуры ДЕЙСТВИТЕЛЬНО работает и оказывает влияние, но есть проблемы с такими вещами, как метод .ToLower().

SMSTJ 12.07.2024 09:05
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
7
120
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

См. https://www.arclab.com/en/kb/csharp/get-installed-ui-cultural-enumeration-of-cultural-names.html

Укажите, является ли языковая письменность кириллицей или латиницей:

az-Cyrl-AZ

против.

az-Latn-AZ


Похоже, их можно упростить до:

az-Cyrl <-- Азәрбајҹан дили

против.

az-Latn <-- azərbaycan

Я не проверял; Я думаю, что они действуют так же, как и два предыдущих варианта.


Пример использования:

new CultureInfo("az-Cyrl");

Я использовал их все, но не работало.

Khalig Heydarov 10.07.2024 07:55
Ответ принят как подходящий

Я нашел ответ от Microsoft, и он работает. https://github.com/dotnet/runtime/issues/104717

«az» по умолчанию не включен в данные интернализации приложения WASM, см.: доступные культуры.

BlazorWebAssemblyLoadAllGlobalizationData работает только для приложения Blazor WASM. Он загружает все культуры из списка «доступных культур», упомянутого выше. Эквивалентом в приложении WASM является <WasmIcuDataFileName>icudt_custom.dat</WasmIcuDataFileName>doc.

Если вы хотите добавить любую культуру, которая не добавлена ​​в список культур «доступных культур» (например, «az-Latn-AZ»), вам следует следовать специальной инструкции ICU и использовать свою собственную версию файла icu, заполнив WasmIcuDataFileName его имя.

Другие вопросы по теме