2016-02-27 99 views
0

是否有編程語言轉換一個標準?如果這是一個廣泛的問題,然後專門爲我的例子:標準化語言轉換?

我設計了一個程序在C++ &硬編碼的英文單詞,但我希望適應這個以適應意大利語等效詞的顯示。我正在考慮像這樣使用一個簡單的Lang.ini文件;

English=Language 
Do=Fare 
Column=Colonna 
etc 

加載此&並在運行時換出單詞。沒有任何網絡相關。

會不會有更好的方法來做到這一點&我應該銘記的任何問題?

謝謝。

編輯: 澄清: 我希望我的程序中使用硬編碼的英文單詞自動轉換爲用戶PC上正在使用的任何語言。

+0

,我會保留標記一個答案,現在作爲當前的答案是有幫助的。爲了澄清,這些方法/方法是否會在運行時自動轉換爲本地給定語言? – ReturnVoid

回答

0

這是可能加載資源的語言,並保存字符串資源。 https://msdn.microsoft.com/en-us/library/cc194810.aspx

可用非標準lnaguage macroses:

WORD lang_id = MAKELANGID(primary, sublang) 
BYTE primary = PRIMARYLANGID(lang_id) 
BYTE sublang = SUBLANGID(lang_id) 

加載資源:

HRSRC hrsrc = FindResourceEx(hMod, RT_ICON, id, langID); 
HGLOBAL hglb = LoadResource(hMod, hrsrc); 
LPVOID lpsz = LockResource(hglb); 

語言初始化代碼:

static DWORD dwJapanese = 
MAKELCID(MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT)); 
// load Japanese resource 
SetThreadLocale(dwJapanese, SORT_DEFAULT) 

使用加載鏈功能,使用便捷的可能寫包裝函數像t ihs: http://www.codeproject.com/Tips/86496/Load-a-Windows-string-resource-into-a-std-string-o

0

您要查找的內容被稱爲「國際化」(或者,對於那些讚賞有點諷刺意味的國際化)。有相當數量的介紹材料,可能會發現使用谷歌。

主題所涉及的不僅僅是翻譯字。也有關於學習數值如何被輸出,貨幣被表示,等等等等

標準C和C++支持這些特徵的考慮。有關該主題的文章(來自C/C++用戶期刊)是http://www.angelikalanger.com/Articles/Cuj/Internationalization/I18N.html

與C++不同,windows也有其自己的功能,可用於應用程序的國際化。一個出發點是https://msdn.microsoft.com/en-au/library/windows/desktop/dd318661%28v=vs.85%29.aspx