Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
Developer Community or GitHub with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Created attachment 12650 [details]
When setting the preferred language to "Chinese, Traditional", I would expect that the CurrentCulture and CurrentUICulture properties would be set to "zh-Hant" or "zh-TW". Instead, they are always set to "zh-CN".
This makes it difficult to use traditional Chinese localizations from a Resources.zh-TW.resx or Resources.zh-Hant.resx file.
See the attached Xamarin.iOS sample project that exhibits the behavior.
1. Open the iPad simulator
2. Set the preferred Language to "Chinese, Traditional"
3. Run the attached Xamarin.iOS project.
CurrentUICulture and CurrentCulture should be set to Chinese (Traditional), not Chinese (Simplified)
Created attachment 12651 [details]
Test app screenshot on iPhone 4S iOS 8.4 simulator
In the uploaded screenshot the region code was still set to United States.
Setting the region code to "China" makes no difference in the output of the managed code, other than properly setting the NSLocale to "zh-Hant_CN"
This appears to do what is expected if the region is set to TW as well as setting the Language to "Chinese, Traditional"
I'm not convinced there's actually a bug here. I don't actually know how common it might be to have a user set the Region to China and expect Chinese Traditional. I guess seeing what .NET 4.5 or 4.6 does would probably be a better validation of what this *should* do.
Fixed in master and mono 4.2 branch