本文整理汇总了C++中KviCString::toLower方法的典型用法代码示例。如果您正苦于以下问题:C++ KviCString::toLower方法的具体用法?C++ KviCString::toLower怎么用?C++ KviCString::toLower使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KviCString
的用法示例。
在下文中一共展示了KviCString::toLower方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: findCatalogue
bool KviLocale::findCatalogue(QString & szBuffer, const QString & szName, const QString & szLocaleDir)
{
KviCString szLocale = g_szLang;
QString szLocDir = szLocaleDir;
KviQString::ensureLastCharIs(szLocDir, KVI_PATH_SEPARATOR_CHAR);
szBuffer = QString("%1%2_%3.mo").arg(szLocDir, szName).arg(szLocale.ptr());
if(KviFileUtils::fileExists(szBuffer))
return true;
if(szLocale.findFirstIdx('.') != -1)
{
// things like en_GB.utf8
// kill them
szLocale.cutFromFirst('.');
szBuffer = QString("%1%2_%3.mo").arg(szLocDir, szName).arg(szLocale.ptr());
if(KviFileUtils::fileExists(szBuffer))
return true;
}
if(szLocale.findFirstIdx('@') != -1)
{
// things like @euro ?
// kill them
szLocale.cutFromFirst('@');
szBuffer = QString("%1%2_%3.mo").arg(szLocDir, szName).arg(szLocale.ptr());
if(KviFileUtils::fileExists(szBuffer))
return true;
}
if(szLocale.findFirstIdx('_') != -1)
{
// things like en_GB
// kill them
szLocale.cutFromFirst('_');
szBuffer = QString("%1%2_%3.mo").arg(szLocDir, szName).arg(szLocale.ptr());
if(KviFileUtils::fileExists(szBuffer))
return true;
}
// try the lower case version too
szLocale.toLower();
szBuffer = QString("%1%2_%3.mo").arg(szLocDir, szName).arg(szLocale.ptr());
if(KviFileUtils::fileExists(szBuffer))
return true;
return false;
}
示例2: QString
KviLocale::KviLocale(QApplication * pApp, const QString & szLocaleDir, const QString & szForceLocaleDir)
{
m_pApp = pApp;
// first of all try to find out the current locale
QString szLangFile = QString("%1/%2").arg(szForceLocaleDir, KVI_FORCE_LOCALE_FILE_NAME);
if(KviFileUtils::fileExists(szLangFile))
KviFileUtils::readFile(szLangFile, g_szLang);
if(g_szLang.isEmpty())
g_szLang = KviEnvironment::getVariable("KVIRC_LANG");
#ifdef COMPILE_KDE_SUPPORT
if(g_szLang.isEmpty())
g_szLang = KviEnvironment::getVariable("KDE_LANG");
#endif //COMPILE_KDE_SUPPORT
if(g_szLang.isEmpty())
g_szLang = KviEnvironment::getVariable("LC_MESSAGES");
if(g_szLang.isEmpty())
g_szLang = KviEnvironment::getVariable("LANG");
if(g_szLang.isEmpty())
g_szLang = QLocale::system().name();
if(g_szLang.isEmpty())
g_szLang = "en";
g_szLang = g_szLang.trimmed();
g_szDefaultLocalePath = szLocaleDir;
// the main catalogue is supposed to be kvirc_<language>.mo
g_pMainCatalogue = new KviMessageCatalogue();
// the catalogue dict
g_pCatalogueDict = new KviPointerHashTable<const char *, KviMessageCatalogue>;
g_pCatalogueDict->setAutoDelete(true);
// the smart codec dict
g_pSmartCodecDict = new KviPointerHashTable<const char *, KviSmartTextCodec>;
// the Qt docs explicitly state that we shouldn't delete
// the codecs by ourselves...
g_pSmartCodecDict->setAutoDelete(false);
if(!g_szLang.isEmpty())
{
// ensure Qt will use the right locale when formatting dates, numbers, ..
// Note: Qt will use the system() locale anyway, we need to construct an empty QLocale()
// to get it use our specified locale.
QLocale::setDefault(QLocale(g_szLang));
QString szBuffer;
if(findCatalogue(szBuffer, "kvirc", szLocaleDir))
{
g_pMainCatalogue->load(szBuffer);
g_pTranslator = new KviTranslator(m_pApp);
m_pApp->installTranslator(g_pTranslator);
}
else
{
KviCString szTmp = g_szLang;
szTmp.cutFromFirst('.');
szTmp.cutFromFirst('_');
szTmp.cutFromFirst('@');
szTmp.toLower();
if(!(kvi_strEqualCI(szTmp.ptr(), "en") || kvi_strEqualCI(szTmp.ptr(), "c") || kvi_strEqualCI(szTmp.ptr(), "us") || kvi_strEqualCI(szTmp.ptr(), "gb") || kvi_strEqualCI(szTmp.ptr(), "posix")))
{
// FIXME: THIS IS NO LONGER VALID!!!
qDebug("Can't find the catalogue for locale \"%s\" (%s)", g_szLang.toUtf8().data(), szTmp.ptr());
qDebug("There is no such translation or the $LANG variable was incorrectly set");
qDebug("You can use $KVIRC_LANG to override the catalogue name");
qDebug("For example you can set KVIRC_LANG to it_IT to force usage of the it.mo catalogue");
}
}
}
}