amisadmin / fastapi-amis-admin-demo

An example fastapi-amis-admin application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

多语言的切换

wanghaisheng opened this issue · comments

i18n.set_language(settings.language)

我看到项目启动会加载配置文件中的语言设置
能否在界面上放一个简单按钮或者下拉菜单 允许启动以后从默认语言切换到其他语言

另外就是我自己从blog app中拓展出来的app 多语言的标签怎么管理

@amisadmin

  1. 目前只能在项目启动之前设置语言,动态切换多语言暂时没有太好的方案.
  2. 项目自定义的多语言配置可以通过pybabel这个库来生成.

@amisadmin
假如我定义
admin-cn.py
admin-en.py
可否通过router_prefix
比如
/blog/en
/blog/cn
来实现暂时性的

动态切换语言的关键在于,非函数方法内部的字符常量的翻译过程,这部分字符常量的翻译过程在项目启动的过程中就完成了.

  • 例如: 数据库模型中字段标题,描述等.
class BaseUser(UserEmail, UserPassword, UserUsername, SQLModelTable):
    __tablename__ = 'auth_user'
    __table_args__ = {'extend_existing': True}
    is_active: bool = Field(default=True, title=_('Is Active'))
    nickname: str = Field(None, title=_('Nickname'), max_length=32)

我的 理解太浅了