我是入門級程序員,也是QT的新手。我有一個項目,我很難將我的編程編碼爲三種不同的語言。我在弄清楚如何硬編碼俄文而不是字母,我得到了一個問題???。我的代碼被分解成FR.h SP.h German.h Russian.h - >我理解其他人使用拉丁編解碼器,但俄羅斯不English.h下面的文件是如何的例子來看,每個字定義硬編碼俄文翻譯qt C++
#ifndef EN_H
#define EN_H
#define TR_PRG_EN "Program"
#define TR_HELP_EN "Help"
#define TR_PASSRW_EN "Pass: R/W"
#define TR_ALLOWWRITE_EN "Allow Write"
#define TR_SERIAL_EN "Serial #"
#define TR_ALLOWREAD_EN "Allow Read"
#define TR_PRO_EN "Product #"
#define TR_MEMSIZE_EN "Mem. Size"
#define TR_TRIP_EN "Trip #"
#define TR_RANGE_EN "Range"
#define TR_DESCR_EN "Description"
#define TR_LOGSET_EN "Logger Settings"
#define TR_INTTEMP_EN "Int. Temp (NTC)"
#define TR_HHIGH_EN "HHigh(°F)"
#define TR_HIGH_EN "High(°F)"
#define TR_LOW_EN "Low(°F)"
#define TR_LLOW_EN "LLow(°F)"
與russian.h
#ifndef RU_H
#define RU_H
#define TR_ENCODING "utf-8"
#define TR_PRG_RU "??????????"
#define TR_HELP_RU "Help"
#define TR_PASSRW_RU "?????????"
#define TR_ALLOWWRITE_RU "????????"
#define TR_SERIAL_RU "???????? #"
#define TR_ALLOWREAD_RU "????????? ??????"
#define TR_PRO_RU "??????? #"
#define TR_MEMSIZE_RU "?????? ?????? "
#define TR_TRIP_RU "??????? #"
#define TR_RANGE_RU "????????"
#define TR_DESCR_RU "????????"
然後我有Clang.cpp(類,with.h文件)文件,該文件我把話成的QList>(2D陣列) - >下面是一個例子
const char *trOK[NB_LAN]={TR_OK_EN,TR_OK_FR,TR_OK_SP,TR_OK_IT,TR_OK_RU,TR_OK_GR,TR_OK_PR};
const char *trName[NB_LAN]={TR_NAME_EN,TR_NAME_FR,TR_NAME_SP,TR_NAME_IT,TR_NAME_RU,TR_NAME_GR,TR_NAME_PR};
const char *trDesc[NB_LAN]={TR_DESC_EN,TR_DESC_FR,TR_DESC_SP,TR_DESC_IT,TR_DESC_RU,TR_DESC_GR,TR_DESC_PR};
const char *trLL[NB_LAN]={TR_LL_EN,TR_LL_FR,TR_LL_SP,TR_LL_IT,TR_LL_RU,TR_LL_GR,TR_LL_PR};
const char *trL[NB_LAN]={TR_L_EN,TR_L_FR,TR_L_SP,TR_L_IT,TR_L_RU,TR_L_GR,TR_L_PR};
const char *trH[NB_LAN]={TR_H_EN,TR_H_FR,TR_H_SP,TR_H_IT,TR_H_RU,TR_H_GR,TR_H_PR};
const char *trHH[NB_LAN]={TR_HH_EN,TR_HH_FR,TR_HH_SP,TR_HH_IT,TR_HH_RU,TR_HH_GR,TR_HH_PR};
CLang::CLang()
{
for(int i=0;i<NB_LAN;i++)
{
strTab << QStringList();
strTab[i] << trPrg[i]; //m_tabLogger
strTab[i] << trHelp[i]; //m_textBrowserHelp
strTab[i] << trPassrw[i]; //label_13
strTab[i] << trAllowWrite[i]; //m_checkBoxLoggerAllowWrite
strTab[i] << trSerial[i]; //label_2
strTab[i] << trAllowRead[i]; //m_checkBoxLoggerAllowRead
strTab[i] << trPro[i]; //label_3
strTab[i] << trMemSize[i]; //label_5
strTab[i] << trTrip[i]; //label_6
strTab[i] << trRange[i]; //m_labelRange
strTab[i] << trDescr[i]; //label_7
strTab[i] << trLogSet[i]; //m_groupBoxSettings
然後我把它在主窗口中,所以我的疑問句我怎麼讓俄語顯示字母 我有另一個問題是我多個窗口(GUI)我如何稱這些翻譯在這些不同的窗口(GUI)
您已選擇翻譯最難的方法。雖然QT本身提供了最簡單的維護! –
它想要什麼,我想我會喜歡用qLing。但它給了我的問題在這個意義上,我不得不說是一種資源的HTML – user1741867
Qt提供了資源嵌入到二進制支持文本,所以你可以做的是用'.qm'文件,如果你想有一個二進制文件。 –