通过资源文件对字符串进行Silverlight本地化,还是?

通过资源文件对字符串进行Silverlight本地化,还是?,silverlight,localization,Silverlight,Localization,关于如何实现Silverlight应用程序本地化的一般建议是什么 我的第一个想法是,我们可以在资源文件或将本地化存储在数据库的资源表中进行选择 每种方法的优缺点是什么?还有其他方法吗 由于不需要从Web服务检索字符串,因此资源文件的渲染速度会更快,并减少通信量 从数据库中可能更容易维护 假设我们需要实现3-4种不同的语言。您的选择是什么,…为什么?我知道这会得到很多传统的答案,但我也想提出一些完全原创的东西,我们尝试(并成功)使用附加属性而不是绑定来更有效地本地化Silverlight: 我们发

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

我的第一个想法是,我们可以在资源文件或将本地化存储在数据库的资源表中进行选择

每种方法的优缺点是什么?还有其他方法吗

由于不需要从Web服务检索字符串,因此资源文件的渲染速度会更快,并减少通信量

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


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

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

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

传统上,翻译是成批发送的,并由语言管理(具有唯一的键、翻译注释等)。(有一些工具可以简化资源的转换,但我们找到了更好的方法)

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

资源的优点:

  • 易于管理的小型项目
  • 不需要额外的代码
资源的缺点:

  • 对于任何简单的语言更改,他们都需要重新构建/重新部署应用程序
  • 所有的绑定解决方案都有很长的字符串(这会使Xaml膨胀)
  • 绑定解决方案为很少更改(或者只是一次更改)的项增加了巨大的通知开销
  • 使用未使用的语言下载Bloats SL
数据库的优点:

  • 任何语言的中央存储库
  • 通过下载新数据更改语言(在大型应用程序上,每种语言最多200kb)
  • 仅下载所需语言,并随时更改
  • 支持应用程序内翻译人员编辑资源(确实需要额外的UI表单)
数据库的缺点:

  • 需要更多的初始工作来设置
  • 需要数据库和匹配服务
  • 需要一种将翻译放在正确位置的方法(请参阅上面的链接了解我们的解决方案)

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

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

传统上,翻译是成批发送的,并由语言管理(具有唯一的键、翻译注释等)。(有一些工具可以简化资源的转换,但我们找到了更好的方法)

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

资源的优点:

  • 易于管理的小型项目
  • 不需要额外的代码
资源的缺点:

  • 对于任何简单的语言更改,他们都需要重新构建/重新部署应用程序
  • 所有的绑定解决方案都有很长的字符串(这会使Xaml膨胀)
  • 绑定解决方案为很少更改(或者只是一次更改)的项增加了巨大的通知开销
  • 使用未使用的语言下载Bloats SL
数据库的优点:

  • 任何语言的中央存储库
  • 通过下载新数据更改语言(在大型应用程序上,每种语言最多200kb)
  • 仅下载所需语言,并随时更改
  • 支持应用程序内翻译人员编辑资源(确实需要额外的UI表单)
数据库的缺点:

  • 需要更多的初始工作来设置
  • 需要数据库和匹配服务
  • 需要一种将翻译放在正确位置的方法(请参阅上面的链接了解我们的解决方案)