我正在使用 swagger 和 mongoDB 在 Nodejs 中开发 REST API。
我正在寻找一个模块或一个好的实践来帮助我获得多语言支持。 集合中的每个对象都应该有自己的翻译,我不确定执行此操作的最佳方法。
我查看了几个模块,但我发现的所有内容都是静态数据。
翻译由用户决定,可以随时以任何语言发布。我需要确保用户可以用他发布的每种语言检索他的数据。
这是我想做的一个例子,但我不确定这是推荐的做法。
系列:公寓
英文数据:
var apartment = {
"id": "1x213"
"name": "Flat 1",
"price": 100000,
"rooms": 2,
"city": "paris",
"country": "france",
"zipcode": 75016,
"address": "11 avenue du general de Gaulles",
"description": "A wonderful apartment at 2 minutes from the eiffel tower"
}
法语数据:
var apartment = {
"id": "1x214"
"name": "Appartement 1",
"price": 100000,
"rooms": 2,
"city": "paris",
"country": "france",
"zipcode": 75016,
"address": "11 avenue du general de Gaulles",
"description": "Un magnifique appartement, à 2 minutes de la tour eiffel"
}
集合:多语言
var multilanguage = {
"id": "1y679"
"language": [{'en': '1x213' },
{ 'fr': '1x214'}]
}
我读到了一些其他实践 here但我不确定这是否适合大目的。我觉得有点乱。
谢谢
最佳答案
我最终选择了下面的方法。 我认为这是最简单且更具可扩展性的方法。 我从 Ruby on Rails 良好实践中汲取了灵感。
英文数据:
var apartment = {
"id": "1x213",
"group_id": "c3por2d2",
"language": "en",
"name": "Flat 1",
"price": 100000,
"rooms": 2,
"city": "paris",
"country": "france",
"zipcode": 75016,
"address": "11 avenue du general de Gaulles",
"description": "A wonderful apartment at 2 minutes from the eiffel tower"
}
法语数据:
var apartment = {
"id": "1x214",
"group_id": "c3por2d2",
"language": "fr",
"name": "apartment 1",
"price": 100000,
"rooms": 2,
"city": "paris",
"country": "france",
"zipcode": 75016,
"address": "11 avenue du general de Gaulles",
"description": "Un magnifique appartement, à 2 minutes de la tour eiffel"
}
我现在有了一个通用的 group_id,我可以查询它以获取用户发布的每种语言的数据,我还可以查询特定语言的数据。
关于node.js - 多语言 NodeJs API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34853800/