我应该在数据库中存储桌面应用程序的本地化数据吗?

塞巴斯蒂安·克利希(SebastianKliś)

在我的办公室,我们正在讨论什么是处理桌面应用程序本地化的最佳方法。

虽然使用资源文件似乎是一个显而易见的选择,但是我们有了一个想法,可以使用数据库进行集中式本地化管理。应用程序将在开始时连接到数据库以下载所有必需的翻译,也可以在呈现控件时按需下载翻译。

应用程序(使用C#创建)部署在高度受控的环境中,以借助可处理发布本身以及实时更新的工具在内部使用。我们有一个文件分发存储库和一个数据库服务器来处理少量卫星站点。

数据库将成为在桌面应用程序中处理用户界面翻译的可行解决方案吗?

Mariovalens

您应该考虑几点

  • 预计应用程序将显着增长
  • 应用程序可能需要特殊情况(特定于客户的翻译)
  • 相同的translation_key在不同的屏幕/窗口/不同的上下文中具有不同的值
  • 本地文件中的手动管理很耗时,不容易/即开即用

如果以上的一个或多个点与应用程序的业务计划相匹配,则应考虑使用数据库和服务器缓存

假设您开始向应用程序添加一个新的屏幕(窗体)。在此表单中,您具有3个UI元素(element1,element2和element3)。应该有一个集中的本地化服务(业务对象),它可以执行以下操作

  • 阅读每份表格
  • 阅读表单中的每个元素(您可以在此处过滤可能包含标签,按钮等多语文本的相关元素,并排除面板)
  • 该应用程序是否处于客户模式?(假设您的应用在启动/登录时将为客户提供选择-不同的外观,不同的文字等)
  • 尝试从服务器内置的缓存中获取翻译密钥(基于字典的数据结构,其中包含applicationCode(或密钥),customerKeytranslationKeyvalue)。转换键可以是formName.uiElementName
  • 如果在缓存中找不到密钥,请尝试从数据库中获取密钥
  • 如果在数据库(新添加的表单及其UI元素)中找不到,请尝试在数据库中添加新条目(applicationKey,customerKey,transitionKey,空值)
  • 如果在数据库中找到,则将条目添加到缓存中
  • 您可能需要管理菜单来清除该缓存

现在构建一个集中式应用程序来管理本地化数据库。在此处管理文本,您可以将其用于当前正在运行的应用程序以及将来的应用程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我们的应用程序应该将图像属性存储在数据库中吗?还是应用程序应该在运行时生成它们?

来自分类Dev

我应该在应用程序前端遮盖数据库主键(ID)吗

来自分类Dev

我应该在Electron中使用本地存储进行数据库配置吗?

来自分类Dev

最佳实践:我应该在数据库中存储哪些信息?

来自分类Dev

我应该在git中存储用于自动化测试的数据库备份吗?

来自分类Dev

我应该在Web应用程序中的哪里存储静态数据

来自分类Dev

我应该在本地数据库中存储从贝宝交易中获得的哪种数据?

来自分类Dev

我应该在本地数据库中存储从贝宝交易中获得的哪种数据?

来自分类Dev

我应该在网站上使用 JavaScript 数组来存储数据库中的项目数据吗?

来自分类Dev

我应该在我的数据库中存储其他实体的用户特定信息吗?

来自分类Dev

我应该在应用程序的用户数据中存储什么以及如何存储?

来自分类Dev

我应该在数据库中输入什么日期

来自分类Dev

我应该在数据库中输入什么日期

来自分类Dev

您是否应该将当前应用程序状态存储在数据库中?

来自分类Dev

在Flask-SQLAlchemy中,我应该在哪里初始化和存储数据库对象?

来自分类Dev

我是否应该在应用程序的存储库中包含测试框架的源代码?

来自分类Dev

我是否应该在应用程序的存储库中包含测试框架的源代码?

来自分类Dev

PHP、MySQL 应用程序用户和凭据应该在应用程序还是数据库上运行?

来自分类Dev

我应该如何在本地 Java 应用程序中实现数据库

来自分类Dev

我应该为我的情况在数据库中存储com-sep数据吗?

来自分类Dev

我应该为我的情况在数据库中存储com-sep数据吗?

来自分类Dev

用于桌面应用程序的本地NoSQL数据库

来自分类Dev

我应该在哪里存储我的应用程序文件(数据,缓存,日志,崩溃等)

来自分类Dev

我应该在哪里正确放置sqlite数据库,这样它就不会在appstore的应用程序更新中被删除?

来自分类Dev

我应该在数据库端还是在客户端捕获异常?

来自分类Dev

我应该在iOS应用程序的git存储库中忽略哪些文件/文件夹?

来自分类Dev

我应该在iOS应用程序的git存储库中忽略哪些文件/文件夹?

来自分类Dev

我应该为VB .Net桌面应用程序选择哪种数据库类型?

来自分类Dev

我应该在查询中执行方程式,还是在本地执行方程式并更新数据库

Related 相关文章

  1. 1

    我们的应用程序应该将图像属性存储在数据库中吗?还是应用程序应该在运行时生成它们?

  2. 2

    我应该在应用程序前端遮盖数据库主键(ID)吗

  3. 3

    我应该在Electron中使用本地存储进行数据库配置吗?

  4. 4

    最佳实践:我应该在数据库中存储哪些信息?

  5. 5

    我应该在git中存储用于自动化测试的数据库备份吗?

  6. 6

    我应该在Web应用程序中的哪里存储静态数据

  7. 7

    我应该在本地数据库中存储从贝宝交易中获得的哪种数据?

  8. 8

    我应该在本地数据库中存储从贝宝交易中获得的哪种数据?

  9. 9

    我应该在网站上使用 JavaScript 数组来存储数据库中的项目数据吗?

  10. 10

    我应该在我的数据库中存储其他实体的用户特定信息吗?

  11. 11

    我应该在应用程序的用户数据中存储什么以及如何存储?

  12. 12

    我应该在数据库中输入什么日期

  13. 13

    我应该在数据库中输入什么日期

  14. 14

    您是否应该将当前应用程序状态存储在数据库中?

  15. 15

    在Flask-SQLAlchemy中,我应该在哪里初始化和存储数据库对象?

  16. 16

    我是否应该在应用程序的存储库中包含测试框架的源代码?

  17. 17

    我是否应该在应用程序的存储库中包含测试框架的源代码?

  18. 18

    PHP、MySQL 应用程序用户和凭据应该在应用程序还是数据库上运行?

  19. 19

    我应该如何在本地 Java 应用程序中实现数据库

  20. 20

    我应该为我的情况在数据库中存储com-sep数据吗?

  21. 21

    我应该为我的情况在数据库中存储com-sep数据吗?

  22. 22

    用于桌面应用程序的本地NoSQL数据库

  23. 23

    我应该在哪里存储我的应用程序文件(数据,缓存,日志,崩溃等)

  24. 24

    我应该在哪里正确放置sqlite数据库,这样它就不会在appstore的应用程序更新中被删除?

  25. 25

    我应该在数据库端还是在客户端捕获异常?

  26. 26

    我应该在iOS应用程序的git存储库中忽略哪些文件/文件夹?

  27. 27

    我应该在iOS应用程序的git存储库中忽略哪些文件/文件夹?

  28. 28

    我应该为VB .Net桌面应用程序选择哪种数据库类型?

  29. 29

    我应该在查询中执行方程式,还是在本地执行方程式并更新数据库

热门标签

归档