Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


Language and Country Detection bugs #504

robocoder opened this Issue · 6 comments

2 participants

Anthon Pang Matthieu Aubry
Anthon Pang
  • core/Common.php: extractLanguageCodeFromBrowserLanguage returns the country code; should rename this to extractCountryCodeFromBrowserLanguage and add a new extractLanguageCodeFromBrowserLanguage function
  • plugins/LanguagesManager/LanguagesManager.php: calls above function, extractLanguageCodeFromBrowserLanguage, expecting a language code, but for “en-ca”, it gets “ca” (Catal) instead of “en”
  • Visitors | Locations & providers | Countries data table shows “Unknown” for “en-US”; need to call strtolower(), probably in core/Common.php’s getBrowserlanguage()
Anthon Pang

Tasks from #504:

  • rename lang/cn.php to lang/zh-cn.php
  • rename lang/tw.php to lang/zh-tw.php

I’m guessing this one should be renamed too (judging from General_Locale):

  • rename lang/pt.php to lang/pt-br.php
Anthon Pang

Attachment: [504.diffs](

Anthon Pang

Attachment: new [LanguageToCountry.php](

Anthon Pang

Updated patch (and new file):

  • config/global.ini.php: added config option ‘enable_language_to_country_guess’ to turn on the language to country guess (when no region provided in the preferred language tag)
  • core/DataFiles/LanguageToCountry.php: new
  • core/DataFiles/Countries.php: updated with respect to ISO 3166-1 alpha-2 list
  • lang/en.php: updated with respect to above
  • tests/core/Common.test.php: more tests
  • core/Common.php: lots of changes
Matthieu Aubry

end of fix in 931; thanks anthon!

Anthon Pang

(In 1038) refs #504 – check that valid_languages and valid_countries is not null; describes in_array() returning true if haystack is 0 or false, and not in strict mode

Anthon Pang robocoder added this to the RobotRock milestone
Anthon Pang robocoder self-assigned this
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.