As we've found in bug 839380 for zh-HK, having two "matchOS" language selection algorithms can result in awkward behavior, with different selections on the java and the gecko side. We should explicitly set the locale in gecko to the one that is picked on the java side, and not rely on both picking the same value based on OS preference. I'm hoping this will be a minor hit if at all on startup perf, as we're not resetting the dalvik process, but just tweaking a pref on the gecko side.
For the short term fix, we're going with bug 839883.
or maybe this should be opposite? (Set selected language on the java side to be the selected language on the gecko side)
But since gecko starts up later than java, that would mean the patch for Bug 839380 should be refactored (later) for changing the language on the Java side first.
This was done by Bug 936756 and Bug 1045053.