0

我有一个可以翻译成多种语言的 MFC 应用程序,我想使用以下字符:

  • 破折号(—;Windows:Alt+0151;Unicode:\u2014)

  • 破折号(–;Windows:Alt+0150;Unicode:\u2013)

对于以下语言,一切顺利:

en_GB.rc: #pragma code_page(1252)
pt_PT.rc: #pragma code_page(1252)

但它失败了:

ja-JP.rc: #pragma code_page(932) 
ko-KR.rc: #pragma code_page(949)
zh_CHS.rc: #pragma code_page(936)

我看到奇怪的字符。而且,在字符串只有破折号的情况下,它甚至不能用 CJK 语言编译。

是的,我知道可以使用这些字符创建字符串,例如

CString s= _T("\u2014");

但这破坏了拥有单独资源文件的目的,并且当破折号位于文本中间时不方便。

而且,如果我做类似更换的事情

IDS_HELLO_SHE_SAID_HOW_ARE_YOU " — Hello! — she said — How are you?"

IDS_HELLO_SHE_SAID_HOW_ARE_YOU " \u2014 Hello! \u2014 she said \u2014 How are you?"

我将在界面中(逐字)看到 \u2014,即使在支持破折号字符的语言中也是如此。所以,问题是:有没有一种方法可以直接将 em-dashes 和 en-dashes 放入使用那些中文、日文和韩文代码页的 .rc 文件中?

在此先感谢,塞尔吉奥

4

0 回答 0