我可以将字符串发送到 IME (Windows) 以获得翻译吗?

发布于 2024-09-07 10:19:12 字数 102 浏览 9 评论 0原文

例如(我正在使用韩语输入法)我可以通过发送“xodnek”(作为字符串)获得태우다吗?

如果不可能,我可以从它的单个字符ㅌㅐㅇㅜㄷㅏ(来自键“xodnek”)中得到태우다吗?

For example (I'm using Korean IME btw) can I get 태우다 from sending "xodnek" (as a string)?

If that isn't possible, can I get 태우다 from it's individual characters ㅌㅐㅇㅜㄷㅏ (which is from the keys "xodnek").

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

逆流 2024-09-14 10:19:12

如果您使用的是 .NET,则以下内容将起作用:

var s = "ㅌㅐㅇㅜㄷㅏ";
s = s.Normalize(NormalizationForm.FormKC);
// s now contains "태우다"

在本机 Win32 中,相应的调用为 NormalizeString

wchar_t *input = L"ㅌㅐㅇㅜㄷㅏ";
wchar_t output[100];
NormalizeString(NormalizationKC, input, -1, output, 100);

NormalizeString 仅在 Windows Vista+ 中可用。您需要“Microsoft 国际化如果您想在 XP 上使用它,请安装域名 (IDN) 缓解 API”(为什么它在 IDN 下载中,我不明白...)

请注意,这两种方法实际上都不需要使用 IME - 无论您是否安装了韩语输入法,它们都可以工作。

If you are using .NET, the following will work:

var s = "ㅌㅐㅇㅜㄷㅏ";
s = s.Normalize(NormalizationForm.FormKC);
// s now contains "태우다"

In native Win32, the corresponding call is NormalizeString:

wchar_t *input = L"ㅌㅐㅇㅜㄷㅏ";
wchar_t output[100];
NormalizeString(NormalizationKC, input, -1, output, 100);

NormalizeString is only available in Windows Vista+. You need the "Microsoft Internationalized Domain Name (IDN) Mitigation APIs" installed if you want to use it on XP (why it's in the IDN download, I don't understand...)

Note that neither of these methods actually requires use of the IME - they work regardless of whether you've got the Korean IME installed or not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文