【问题标题】:Flask RESTful API TranslationsFlask RESTful API 翻译
【发布时间】:2020-08-10 14:20:43
【问题描述】:

我有一个 API,当导航到http://www.example.com/list 的 URL 时,它会返回一个 JSON 列表。

示例 JSON 列表如下:

{
   "name": "This is a name"
}

但我也想用另一种语言提供这个确切的 JSON 列表,例如法语:

{
   "name": "C'est un nom"
}

我设法做的是拥有 2 个不同的网址:

1 表示英语:http://www.example.com/en/list。 1 代表法语:http://www.example.com/fr/list

然后在我的代码中,我有两个类,1 个用于英语,1 个用于法语:

class ItemList_En(Resource):

def get(self):
    return {"name": "This is a name"}

class ItemList_Fr(Resource):

def get(self):
    return {"name": "C'est un nom"}

api.add_resource(ItemList_En, "/en/list")
api.add_resource(ItemList_Fr, "/fr/list")

我想知道这是否是唯一的方法?有没有更好的方法我不知道,因为我是 Python 和 Flask 的新手。如果有人可以帮助我,感激不尽。

【问题讨论】:

  • 也许你可以试试这个,有一个翻译过程的类,从 url 路径获取语言值并在其中有条件语句。喜欢:/<lang>/list 其中lang 可以是“en”、“fr”等。链接:stackoverflow.com/a/41493168/3523510
  • 哦,是的,这似乎可行。非常感谢!

标签: python api flask-restful language-translation


【解决方案1】:

您可以使用 Flask-Babel 包来支持多语言。 https://pythonhosted.org/Flask-Babel/

【讨论】:

  • 我想这就是我想要的!我会试试这个并回复给你。非常感谢您的帮助
猜你喜欢
  • 2013-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-26
相关资源
最近更新 更多