是否可以使用C#在Microsoft Bot框架中开发本地化?

问题描述 投票:2回答:2

我想要一个支持多种语言的机器人。我知道通过本地化是可能的。但我找不到使用c#的解决方案。有一篇关于Microsoft Bot框架文档中的本地化的文章。 node.js有一个例子。但我在c#中实现。那么,任何人都可以给我一个想法或任何参考,通过它我可以在c#中实现本地化吗?

c# botframework
2个回答
0
投票

FormFlow Improved Sandwich Bot有一些C#BotFramework本地化文档。它可以在这里找到:https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-formflow-localize

本地化语言由当前线程的CurrentUICulture和CurrentCulture确定。默认情况下,文化来自当前消息的“语言”字段,但如果您愿意,可以更改它。根据您的机器人,最多可以有3种不同的本地化信息源,包括:PromptDialog和FormFlow的内置本地化。从表单中找到的静态字符串生成的资源文件。您使用字符串创建的资源文件,用于动态计算字段,消息或确认。

该页面还引用了IFormBuilder.SaveResource,rview工具以及Multilingual App Toolkit。这些都可以帮助简化机器人本地化。


0
投票

要完全本地化您的机器人,您需要考虑文本

  • 形式流程
  • 提示对话框
  • 正常消息给用户

表格流程本地化文档可以在https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-formflow-localize找到。

对于提示对话框和普通消息,请为您的默认语言创建Resources.resx文件。从那里你可以为其他语言创建另一个resx,例如Resources.fr.resx for french。考虑使用MAT Tool生成Resources.fr.resx。然后将代码更改为指向这些资源文件文本而不是硬编码文本。看看https://github.com/Microsoft/BotBuilder-Samples/tree/master/CSharp/demo-ContosoFlowers#localization。它的样本显示了我提到的内容。

© www.soinside.com 2019 - 2024. All rights reserved.