public static int GetLcidForLocaleName(string localeName)
{
Debug.Assert(localeName != null, "Locale name should never be null");
uint lcid = LocaleNameToLCID(localeName, 0);
if (lcid != 0)
{
return unchecked((int)lcid);
}
else
{
// LocaleNameToLCID should not return any other errors
int win32Error = Marshal.GetLastWin32Error();
Debug.Assert(win32Error == ERROR_INVALID_PARAMETER, $"Unknown error returned by {nameof(LocaleNameToLCID)}: {win32Error}. LocaleName: {localeName}");
throw new CultureNotFoundException(nameof(localeName), localeName, message: null);
}
}
}