BOOL fsLangMgr::LoadLng(int iIndex)
{
	try 
	{
		CStdioFile file (m_strLngFolder + m_vLngFiles [iIndex].strFileName, CFile::modeRead | CFile::typeText | CFile::shareDenyNone);
		CString str;

		
		do
		{
			if (FALSE == file.ReadString (str))
				return FALSE;

			if (str.GetLength () && str [0] != LNG_COMMENT_CHAR)
				break;
		}
		while (TRUE);

		m_vStrings.clear ();

		
		while (file.ReadString (str))
		{
			if (str.GetLength () == 0 || str [0] == LNG_COMMENT_CHAR)
				continue; 

			PreprocessLanguageString (str);

			m_vStrings.add (str);
		}

		m_iCurLng = iIndex;

		return m_vStrings.size () != 0;
	}
	catch (const std::exception& ex)
	{
		ASSERT (FALSE);
		vmsLogger::WriteLog("fsLangMgr::LoadLng " + tstring(ex.what()));
		return FALSE;
	}
	catch (...)
	{
		ASSERT (FALSE);
		vmsLogger::WriteLog("fsLangMgr::LoadLng unknown exception");
		return FALSE;
	}
}
void fsLangMgr::LoadBuiltInLngStrings()
{
	HGLOBAL hResource;
	HRSRC hRes;
	LPBYTE pbRes;

	hRes = FindResource (NULL, MAKEINTRESOURCE (IDR_ENG_LNGSTRINGS), "RT_LNGSTRINGS");
	if (hRes == NULL)
		return;

	hResource = LoadResource (NULL, hRes);
	pbRes = (LPBYTE) LockResource (hResource);
	LPBYTE pbResEnd = pbRes + SizeofResource (NULL, hRes);

	LPCSTR psz = (LPCSTR) pbRes;
	LPCSTR pszE = (LPCSTR) pbResEnd;
	bool bLngNamePassed = false;

	while (psz < pszE) 
	{
		CString str;
		while (psz < pszE && *psz != '\n' && *psz != '\r')
			str += *psz++;
		while (psz < pszE && (*psz == '\n' || *psz == '\r'))
			psz++;

		if (str == "" || str [0] == LNG_COMMENT_CHAR)
			continue;

		if (bLngNamePassed == false) {
			bLngNamePassed = true;
			continue;
		}

		PreprocessLanguageString (str);
		m_vBuiltInStrings.add (str);
	}
}
Example #3
0
BOOL fsLangMgr::LoadLng(int iIndex)
{	
	vmsFile file;
	if (file.open (m_vLngFiles [iIndex].strFileName.c_str ()))
	{
		std::string str;

		
		do
		{
			if (FALSE == file.read (str))
				return FALSE;

			if (str.length () && str [0] != LNG_COMMENT_CHAR)
				break;
		}
		while (TRUE);

		m_vStrings.clear ();

		
		while (file.read (str))
		{
			if (str.length () == 0 || str [0] == LNG_COMMENT_CHAR)
				continue;

			PreprocessLanguageString (str);
			m_vStrings.add (str);
		}

		m_iCurLng = iIndex;

		return m_vStrings.size () != 0;
	}

	return FALSE;
}