• 一种特殊的多语言解决方案


    一直以来多语言问题都是个让人头疼的问题,不是这个问题有多难,而是很繁琐,而我们目前的这个项目有点特殊,我希望最大限度的化繁为简,以下是我解决这个问题的方案。
    我们的项目有这样两个前提:
    1、要支持多语言但最多三种语言,一般情况下就两种语言,所以并没有随时切换语言的要求。
    2、我们希望有一种可以初期不用管语言问题,之后统一翻译的方案
    基于这么两点,我们提出了这样的方案:
    1、初期写程序时不用关心多语言的翻译工作,只要将所有使用到中文的地方都用{}扩上
    2、在数据库中Chinese会设置为唯一约束
    3、所有的翻译工作会在BasePage中的Render方法中作
    4、所有的页面会继承BasePage
    5、翻译时会根据当前的语言设置构建以language表中Chinese做key,相应的语言为value的字典,然后查找需要翻译的字符串是不是在字典中,如果不在就生成这一行。

     
    数据库设计四个字段

    ID,Chinese,English,Other

    BasePage源码

    BasePage


    这样设计的
    优点
    1、初期写程序时不用关心多语言的翻译工作,只要将所有使用到中文的地方都用{}扩上
    2、省去了大量命名相应文字的工作
    3、直接用中文标示要显示到页面的文字,容易理解

    缺点
    1、如果中文是一样的翻译,而其他语言翻译却不一样时不好解决,但这种情况似乎不常见


    源码下载

  • 相关阅读:
    配送单MYSQL ,一点都不机智
    强哥新周报SQL
    SQL 交叉连接与内连接
    pycharm git 提交使用情况
    MYSQL freedata 外联接
    SQL 添加字段
    邮件发送方法代码时
    调通有赞接口数据,翻页获取
    superset dashboard 设置自动刷新
    python 语法错误记录
  • 原文地址:https://www.cnblogs.com/nuaalfm/p/1378599.html
Copyright © 2020-2023  润新知