繁体   English   中英

本地化混合应用程序的最佳策略:Razor、Angular、Typescript、.NET 和数据库层

[英]Best strategy for localizing a mixed application: Razor, Angular, Typescript, .NET and database layer

我们的应用程序是以下各项的组合:

  1. 前端:Asp .NET,有 Razor 个页面(父应用程序)和一些 Angular 页面(显示在 iFrame 中)以及 typescript。我知道这不是很好,但目的是将应用程序页面慢慢迁移到 Angular 中编写的 SPA
  2. 后端是.NET框架和.NET核心
  3. SQL 数据库

上面的所有 3 层都有分散的字符串,这些字符串显示在整个应用程序中。 我们迫切需要在接下来的几个月内对应用程序进行本地化,主要是为了:

  1. 具有支持的本地化语言的用户在从浏览器访问时获得本地化版本。 即德语 Chrome 获取德语版本的应用程序。
  2. 用户可以更改网站内的语言。

以上所有内容都应该动态发生(没有单独的语言构建),这意味着资源是动态加载的。

解决这个问题的最佳策略是什么? 我考虑过的一些项目:

  1. 使用 XLIFF 作为字符串的基本存储。 这是一个通用标准,因此可以在构建期间运行工具以生成 .resx 和其他格式
  2. 使用 .resx 并使用 javascript 中的翻译库来访问这些字符串(是否有这样的库可用)。 或者反过来 - 使用 xliff 和 .net 库来读取它。
  3. 数据库 - 带有语言列和 API 的字符串表,它计算出主要和后备语言。
  4. 其他策略,考虑到上述所有内容 - 我们必须进行就地迁移并在我们整合应用程序中的各种技术时使用上述解决方案。

这是您想在内部开发的东西还是您正在考虑第三方翻译管理系统? 我讨厌将这个问题用作宣传我公司的论坛,但我确实想到我们在Localize采取的方法适用于您的情况。

基础是我们构建了一个小部件,它解析出最终的 html 并根据用户的区域设置和他们的语言选择将字符串从一种语言替换为另一种语言。 这种方法意味着您使用哪个框架并不重要,因为我们只在生成(或在您的 SPA 代码中修改)后解析 dom。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM