bool IEAcceptLanguagesAction::_isCurrentLanguageOk(wstring& firstlang) { wstring langcode; _readLanguageCode(langcode); _parseLanguage(langcode); _getFirstLanguage(firstlang); // IE 6.0 uses two digit language codes, after IE 6 can also include country return firstlang.compare(L"ca-es") == 0 || firstlang.compare(L"ca") == 0; }
bool Windows8LPIAction::_isLanguagePanelFirstForLanguage(wstring expectedcode) { bool bRslt; wstring langcode, firstlang; // TODO: Read always return a single language _readLanguageCode(langcode); //_parseLanguage(langcode); _getFirstLanguage(firstlang); std::transform(firstlang.begin(), firstlang.end(), firstlang.begin(), ::tolower); bRslt = firstlang.compare(expectedcode) == 0; g_log.Log(L"Windows8LPIAction::_isLanguagePanelFirstForLanguage '%u' (%s)", (wchar_t *) bRslt, (wchar_t *) firstlang.c_str()); return bRslt; }
bool FirefoxAction::IsNeed() { bool bNeed = false; wstring firstlang; _readVersionAndLocale(); if (_readLanguageCode()) { if (m_languages.size() == 0) { if (m_locale == L"ca") { bNeed = false; } else { bNeed = true; } } else { _getFirstLanguage(firstlang); bNeed = firstlang.compare(L"ca-es") != 0 && firstlang.compare(L"ca") != 0; } if (bNeed == false) { SetStatus(AlreadyApplied); } } else { _setStatusNotInstalled(); } g_log.Log(L"FirefoxAction::IsNeed returns %u (first lang:%s)", (wchar_t *) bNeed, (wchar_t *) firstlang.c_str()); return bNeed; }