Skip to content

Commit

Permalink
[release/7.0-staging] Fix neutral cultures created with the underscore (
Browse files Browse the repository at this point in the history
  • Loading branch information
tarekgh authored Jun 12, 2023
1 parent 27dd02f commit c40f850
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -471,6 +471,8 @@ public void TestNeutralCultureWithCollationName()
[InlineData("xx-u-XX-u-yy", "xx-u-xx-u-yy")]
[InlineData("xx-t-ja-JP", "xx-t-ja-jp")]
[InlineData("qps-plocm", "qps-PLOCM")] // ICU normalize this name to "qps--plocm" which we normalize it back to "qps-plocm"
[InlineData("zh_CN", "zh_cn")]
[InlineData("km_KH", "km_kh")]
[ConditionalTheory(nameof(SupportRemoteExecutionWithIcu))]
public void TestCreationWithICUNormalizedNames(string cultureName, string expectedCultureName)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,13 +138,9 @@ private bool InitIcuCultureDataCore()
_bNeutral = TwoLetterISOCountryName.Length == 0;
_sSpecificCulture = _bNeutral ? IcuLocaleData.GetSpecificCultureName(_sRealName) : _sRealName;

if (_bNeutral && collationStart > 0)
{
return false; // neutral cultures cannot have collation
}

// Remove the sort from sName unless custom culture
_sName = collationStart < 0 ? _sRealName : _sRealName.Substring(0, collationStart);
// To ensure compatibility, it is necessary to allow the creation of cultures like zh_CN (using ICU notation) in the case of _bNeutral.
_sName = collationStart < 0 || _bNeutral ? _sRealName : _sRealName.Substring(0, collationStart);

return true;
}
Expand Down

0 comments on commit c40f850

Please sign in to comment.