【问题标题】:Unknown String value Translations to Other Languages WPF MVVM未知字符串值翻译成其他语言 WPF MVVM
【发布时间】:2014-12-10 08:08:43
【问题描述】:

在我的应用程序中,我将检索,比如说 3 个项目/字段。场 1、场 2、场 3。在这一点上,我不知道他们的价值观是什么。

只有在运行时检索这些字段后,才能知道这些值。

我应该如何将这些价值观翻译成另一种语言。我们现在只说葡萄牙语。

所有字段都是字符串。 这些字段将显示在 xaml 文件的 TextBlocks 中。

问题:我该怎么做?我在网上找到的所有示例都使用具有已知值的 resx 文件。

链接也会有所帮助。

提前致谢

【问题讨论】:

  • 我遇到了同样的问题,并使用资源文件“RESX”和转换器解决了它,如果您想使用 resx 文件,请告诉我发布正确的代码。
  • 使用 resx 文件,值不知道吗?
  • resx 文件将用作字典,您必须定义单词或短语及其翻译,否则,您想如何翻译未知单词?例如使用谷歌翻译 API?
  • developers.google.com/api-client-library/dotnet/apis/translate/…如果你想使用它,你也必须使用ValueConverter。
  • 这些是一些选项,但一些在线链接表明,如果不支付或注册您的应用程序,Google 翻译器和 Bing 翻译器将不再工作。

标签: wpf mvvm language-translation


【解决方案1】:

有两种方法可以达到您的要求。

第一个是您构建了一个自定义语言转换器类库,这是一个漫长的过程,需要大量编码。

第二个是使用 Google API。以下是使用 Google API 进行转换的链接:
Google API Example 1

Google API Example 2

【讨论】:

  • 您阅读我们上面的讨论了吗?他需要一个免费的 API 而谷歌翻译 API 不是!
【解决方案2】:

我决定采取便宜的方式。我创建了资源字典,其中包含所选语言的可能值列表(因为将输入的值或多或少是可预测的)。然后,我只需遍历字典以查找当前语言的值(即英语 - 名称(值)),然后获取密钥并使用它来遍历其他字典以获得所需的语言值。

这是一个很大的解决方法,但它给我带来的麻烦比我使用谷歌翻译时要少。

很抱歉给您带来不便。


编辑:


当我说循环时,我使用 foreach 循环遍历一个字典,获取值和键并使用它循环第二个字典。我说的是资源字典,但我的意思是 c# 编码中的普通字典

【讨论】:

    猜你喜欢
    • 2016-07-31
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多