我们正在开发一种远程管理软件。我们需要比较从远程系统获得的数据。我们使用C ++和WMI从远程系统获取数据。在处理数据时,我们可能需要从远程系统收集的数据中比较某些单词(对于我们所拥有的常量单词)。当主机和目标系统使用英语时,我们在比较字符串方面没有任何问题。
但是当远程计算机返回英语以外的数据时,我们的比较失败了。我们考虑实现本地化并保留所有可能的语言字符串。如果,我们列表中的一个字符串,我们可以继续。但这是一个非常繁琐的过程。
有没有办法比较C ++或WMI中两种不同语言的字符串......?
任何API ..?或解决方法......?
请帮忙!
答案 0 :(得分:0)
有一些c#工具用于比较语言环境中的字符串或特定于文化的方式,请参阅this ,其中给出了两个德语字符串之间的比较示例,用于处理“ss”和essettz字符的不同表示形式ß'相当于。
要做到这一点,你需要掌握主机语言的知识,如果你不用德语,你应该对待ss和'ß'是值得商榷的。
但我不清楚你是否有这种问题。你实际上是希望真正翻译你收到的文本吗?所以在你的机器上你有一个字符串列表:
RED
GREEN
WHITE
您可能会收到主机RED或ROUGE或ROT。在这种情况下,我真的没有看到你有多少选择,但保留一个翻译表。
答案 1 :(得分:0)
您应该使用std::locale及其各种功能(operator())。我想你也想使用std :: wstring而不是通常的std :: string来支持类似UTF的字符。
答案 2 :(得分:0)
我认为你正在寻找Windows Management Instrumentation: International Support Overview。之前已经注意到对本地化的需求以及由此产生的对跨地区支持的需求。