按资源文件或?的Silverlight本地化字符串

时间:2011-09-07 06:58:55

标签: silverlight localization

关于如何实现Silverlight应用程序本地化的一般建议是什么?

我首先想到的是,我们可以在资源文件之间进行选择,或者将本地化存储在数据库的资源表中。

每种方法的专家和骗局是什么?还有其他方法吗?

资源文件可以更快地渲染并减少流量,因为您不需要从Web服务中检索字符串。

从数据库中可能更容易维护。

假设我们需要实现3-4种不同的语言。你会选择什么,为什么?

1 个答案:

答案 0 :(得分:1)

我知道这会得到很多传统的答案,但我还想提出一些完全原创的东西,我们尝试(并成功)使用附加属性而不是绑定来更有效地本地化Silverlight:

Link: Localisation of Silverlight projects after completion

我们发现资源和绑定解决方案既繁琐又不灵活,因为它们都需要在项目中设置转换(因此需要在应用程序更改时重新部署应用程序)。

传统上,翻译是分批发送的,并由语言管理(使用唯一键,翻译笔记等)。 (有一些工具可以更轻松地转换为资源,但我们找到了更好的方法)。

我们的解决方案意味着我们在中央服务器数据库中管理本地化,但也可以在应用程序本身内提供本地化编辑器,供翻译人员在使用应用程序时使用。

资源优势:

  • 易于管理小型项目
  • 无需额外代码

资源缺点:

  • 他们需要重建/重新部署应用以进行任何简单的语言更改
  • 关于所有的绑定解决方案都有很长的字符串(使Xaml膨胀)
  • 绑定解决方案为很少更改的项目(或者只是一次性更改所有项目)添加了巨大的通知开销。
  • Bloats SL下载未使用的语言

数据库优点:

  • 任意数量语言的中央存储库
  • 通过下载新数据更改语言(大型应用上每种语言最多200kb)
  • 仅下载所需语言并即时更改
  • 支持翻译人员对应用内资源进行编辑(需要额外的UI表单)。

数据库缺点:

  • 需要更多初步设置工作
  • 需要数据库和匹配服务
  • 需要一种将翻译放入正确位置的方法(参见上面的解决方案链接)