Skip to content

CultureInfo.GetCultures returns nothing on iOS platforms with HybridGlobalization enabled #93514

Closed
@drasticactions

Description

@drasticactions

Description

Using .NET 8 RC2 and enabling HybridGlobalization mode for iOS platform apps (Re. iOS/Mac Catalyst/tvOS etc), calling CultureInfo.GetCultures will always return an empty set. No matter what enum value it's set to, it's always empty. Disabling HybridGlobalization will return the expect lists, but without fields like "NativeName" being set, which is why I want to enable it.

CC @rolfbjarne

Reproduction Steps

var regions = CultureInfo.GetCultures (CultureTypes.SpecificCultures)
	.Select (culture => new RegionInfo (culture.Name))
	.OrderBy (v => v.ThreeLetterISORegionName);
foreach (var r in regions) {
	Console.WriteLine ($"{r.ThreeLetterISORegionName} {r.NativeName} {r.Name} {r.EnglishName} {r.DisplayName}");
}

Run the following reproduction project: https://github.com/drasticactions/MauiRepros/tree/main/CatalystCultureHybrid

With HybridGlobalization disabled, you'll see this:
スクリーンショット 2023-10-14 19 24 34

Enabled, you'll see an empty list:

スクリーンショット 2023-10-14 19 23 10

Expected behavior

Should get the list of CultureInfos based on the enum value provided.

Actual behavior

Nothing is returned.

Regression?

No response

Known Workarounds

Disable HybridGlobalization, but this will remove other values that would be set with it enabled.

Configuration

.NET SDK:
 Version:   8.0.100-rc.2.23502.2
 Commit:    0abacfc2b6

ランタイム環境:
 OS Name:     Mac OS X
 OS Version:  14.0
 OS Platform: Darwin
 RID:         osx-arm64
 Base Path:   /usr/local/share/dotnet/sdk/8.0.100-rc.2.23502.2/

インストール済みの .NET ワークロード:
 [macos]
   インストール ソース: SDK 8.0.100-rc.2
   マニフェストのバージョン:    13.3.8968-net8-rc2/8.0.100-rc.2
   マニフェスト パス:       /usr/local/share/dotnet/sdk-manifests/8.0.100-rc.2/microsoft.net.sdk.macos/13.3.8968-net8-rc2/WorkloadManifest.json
   インストールの種類:        FileBased

 [maccatalyst]
   インストール ソース: SDK 8.0.100-rc.2
   マニフェストのバージョン:    16.4.8968-net8-rc2/8.0.100-rc.2
   マニフェスト パス:       /usr/local/share/dotnet/sdk-manifests/8.0.100-rc.2/microsoft.net.sdk.maccatalyst/16.4.8968-net8-rc2/WorkloadManifest.json
   インストールの種類:        FileBased

 [maui]
   インストール ソース: SDK 8.0.100-rc.2
   マニフェストのバージョン:    8.0.0-rc.2.9373/8.0.100-rc.2
   マニフェスト パス:       /usr/local/share/dotnet/sdk-manifests/8.0.100-rc.2/microsoft.net.sdk.maui/8.0.0-rc.2.9373/WorkloadManifest.json
   インストールの種類:        FileBased

 [tvos]
   インストール ソース: SDK 8.0.100-rc.2
   マニフェストのバージョン:    16.4.8968-net8-rc2/8.0.100-rc.2
   マニフェスト パス:       /usr/local/share/dotnet/sdk-manifests/8.0.100-rc.2/microsoft.net.sdk.tvos/16.4.8968-net8-rc2/WorkloadManifest.json
   インストールの種類:        FileBased

 [android]
   インストール ソース: SDK 8.0.100-rc.2
   マニフェストのバージョン:    34.0.0-rc.2.468/8.0.100-rc.2
   マニフェスト パス:       /usr/local/share/dotnet/sdk-manifests/8.0.100-rc.2/microsoft.net.sdk.android/34.0.0-rc.2.468/WorkloadManifest.json
   インストールの種類:        FileBased


Host:
  Version:      8.0.0-rc.2.23479.6
  Architecture: arm64
  Commit:       0b25e38ad3

.NET SDKs installed:
  7.0.401 [/usr/local/share/dotnet/sdk]
  8.0.100-rc.1.23463.5 [/usr/local/share/dotnet/sdk]
  8.0.100-rc.2.23502.2 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.0-rc.1.23421.29 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.0-rc.2.23480.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 7.0.11 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.0-rc.1.23419.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.0-rc.2.23479.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Other information

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions