/*********************************************************************\ Function name : CLanguageList::GetName Description : Created at : 26.09.01, @ 21:41:10 Created by : Thomas Kunert Modified by : \*********************************************************************/ String CLanguageList::GetName(String strSuffix) { Int32 l = GetLanguageID(strSuffix); if (l < 0) return String(""); return GetName(l); }
char* CNWNXMessages::OnRequest(char *gameObject, char* Request, char* Parameters){ switch(atoi(Request)){ case 1: sprintf( Parameters, "%i", SendMessageToPlayer( (CNWSObject *)gameObject, Parameters, 1 ) ); break; case 2: sprintf( Parameters, "%i", SendMessageToPlayer( (CNWSObject *)gameObject, Parameters, 2 ) ); break; case 3: sprintf( Parameters, "%i", SendMessageToPlayer( (CNWSObject *)gameObject, Parameters, 3 ) ); break; case 4: sprintf( Parameters, "%i", SendMessageToPlayer( (CNWSObject *)gameObject, Parameters, 4 ) ); break; case 5: sprintf( Parameters, "%i", SendMessageToPlayer( (CNWSObject *)gameObject, Parameters, 5 ) ); break; case 6: sprintf( Parameters, "%i", SendMessageToPlayer( (CNWSObject *)gameObject, Parameters, 6 ) ); break; case 7: ScrambleMessage( Parameters ); break; case 8: GetLanguageID( Parameters ); break; case 9: GetLanguageLevel( Parameters ); break; case 10: GetLanguageName( Parameters ); break; case 11: GetLanguageIDInIndex( Parameters ); break; case 12: Parameters[0]='\"'; Parameters[1]='\0'; break; default:break; } return NULL; }
bool ZApplication::InitLocale() { ZGetLocale()->Init( GetCountryID(ZGetConfiguration()->GetLocale()->strCountry.c_str())); char szPath[MAX_PATH] = "system/"; // 유저가 다른 언어를 선택했는지 확인 if (!ZGetConfiguration()->IsUsingDefaultLanguage()) { const char* szSelectedLanguage = ZGetConfiguration()->GetSelectedLanguage(); // 디폴트 언어가 아니라면 언어를 새로 설정한다 ZGetLocale()->SetLanguage( GetLanguageID(szSelectedLanguage) ); // 스트링을 로딩할 경로를 선택된 언어에 맞추어 수정 strcat(szPath, szSelectedLanguage); strcat(szPath, "/"); } ZGetStringResManager()->Init(szPath, ZGetLocale()->GetLanguage(), GetFileSystem()); return true; }
RString ArchHooks::GetPreferredLanguage() { return LangIdToString( GetLanguageID() ); }
ZString ZVersionInfo::GetStringValue(LPCTSTR pszKey, bool* pbExists) const { // Initialize the [out] parameter if (pbExists) *pbExists = false; // Ensure that we have a non-NULL key if (!pszKey) { SetLastError(ERROR_INVALID_PARAMETER); return ZString(); } // Determine if a LANGID was specified LANGID wLangID = LANGID((LANGID(-1) == GetLanguageID()) ? MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US) : GetLanguageID()); // Determine if a code page was specified WORD rgwCodePages[] = { 1200, // Unicode 1252, // Windows Multilingual 0000, // Neutral }; int cCodePages = sizeofArray(rgwCodePages); if (WORD(-1) != m_wCodePage) { rgwCodePages[0] = m_wCodePage; cCodePages = 1; } // Format the base sub-block string TCHAR szBase[32]; _stprintf_s(szBase, 32, TEXT("\\StringFileInfo\\%04X"), wLangID); // Loop thru each code page for (int iCP = 0; iCP < cCodePages; ++iCP) { // Format a sub-block string TCHAR szSubBlock[_MAX_PATH * 2]; _stprintf_s(szSubBlock, _MAX_PATH * 2, TEXT("%s%04X\\%s"), szBase, rgwCodePages[iCP], pszKey); // Query the value UINT cbValue = 0; LPCTSTR pszValue = NULL; if (VerQueryValue(m_pVerInfo, szSubBlock, (void**)&pszValue, &cbValue)) { // Indicate that the key exists if (pbExists) *pbExists = true; // Indicate success SetLastError(0); return ZString(pszValue); } } // Indicate success SetLastError(0); return ZString(); }
bool ZConfiguration::LoadSystem(const char* szFileName) { char *buffer; MZFile mzFile; MXmlDocument xmlConfig; xmlConfig.Create(); if( !mzFile.Open( szFileName, ZApplication::GetFileSystem())) { xmlConfig.Destroy(); return false; } buffer = new char[ mzFile.GetLength()+1]; buffer[mzFile.GetLength()]=0; mzFile.Read( buffer, mzFile.GetLength()); mlog( "Load XML from memory : %s", FILENAME_SYSTEM ); if( !xmlConfig.LoadFromMemory( buffer, GetLanguageID(m_Locale.strDefaultLanguage.c_str())) ) { mlog( "- FAIL\n"); xmlConfig.Destroy(); return false; } delete[] buffer; mzFile.Close(); mlog( "- SUCCESS\n"); MXmlElement parentElement = xmlConfig.GetDocumentElement(); MXmlElement serverElement, childElement; int iCount = parentElement.GetChildNodeCount(); if (!parentElement.IsEmpty()) { m_ServerList.clear(); m_nServerCount = 0; while ( 1) { char szText[ 256]; sprintf( szText, "%s%d", ZTOK_SERVER, m_nServerCount); if (parentElement.FindChildNode( szText, &serverElement)) { char szServerIP[ 32]; char szName[ 32]; int nServerPort; int nServerType; serverElement.GetChildContents( szServerIP, ZTOK_IP); serverElement.GetChildContents( &nServerPort, ZTOK_PORT); serverElement.GetChildContents( &nServerType, ZTOK_TYPE); serverElement.GetChildContents( szName, ZTOK_NAME); ZSERVERNODE ServerNode; strcpy( ServerNode.szAddress, szServerIP); strcpy( ServerNode.szName, szName); ServerNode.nPort = nServerPort; ServerNode.nType = nServerType; m_ServerList.insert( map<int,ZSERVERNODE>::value_type( m_nServerCount, ServerNode)); m_nServerCount++; } else break; } if (parentElement.FindChildNode(ZTOK_LOCALE_BAREPORT, &childElement)) { childElement.GetChildContents( m_szBAReportAddr, ZTOK_ADDR); childElement.GetChildContents( m_szBAReportDir, ZTOK_DIR); } if (parentElement.FindChildNode(ZTOK_LOCALE_XMLHEADER, &childElement)) { childElement.GetContents(m_Locale.szXmlHeader); } if (parentElement.FindChildNode(ZTOK_SKIN, &childElement)) { childElement.GetContents(m_szInterfaceSkinName); } if (parentElement.FindChildNode(ZTOK_LOCALE_DEFFONT, &childElement)) { childElement.GetContents(m_Locale.szDefaultFont); } if (parentElement.FindChildNode(ZTOK_LOCALE_IME, &childElement)) { childElement.GetContents(&m_Locale.bIMESupport); MEvent::SetIMESupport( m_Locale.bIMESupport); } if (parentElement.FindChildNode(ZTOK_LOCALE_HOMEPAGE, &childElement)) { childElement.GetChildContents( m_Locale.szHomepageUrl, ZTOK_LOCALE_HOMEPAGE_URL); childElement.GetChildContents( m_Locale.szHomepageTitle, ZTOK_LOCALE_HOMEPAGE_TITLE); } if (parentElement.FindChildNode(ZTOK_LOCALE_EMBLEM_URL, &childElement)) { childElement.GetContents( m_Locale.szEmblemURL); } if (parentElement.FindChildNode(ZTOK_LOCALE_TEMBLEM_URL, &childElement)) { childElement.GetContents( m_Locale.szTEmblemURL); } if (parentElement.FindChildNode(ZTOK_LOCALE_CASHSHOP_URL, &childElement)) { childElement.GetContents( m_Locale.szCashShopURL); } if (parentElement.FindChildNode(ZTOK_LOCATOR_LIST, &childElement)) { m_pLocatorList->ParseLocatorList(childElement); } if (parentElement.FindChildNode(ZTOK_TLOCATOR_LIST, &childElement)) { m_pTLocatorList->ParseLocatorList(childElement); } } xmlConfig.Destroy(); m_bIsComplete = true; return true; }