调用Google Place Details API时评论未按原语言显示的解决咨询
解决Google Places API评论自动翻译及多语言展示问题
1. 修改API请求,获取原始语言评论
你遇到的孟加拉语评论被转成英文的问题,是因为Google Places API默认会根据请求上下文自动翻译评论。要获取原始语言的评论,只需在请求URL中添加review_translate=no参数,强制API返回评论的原始内容:
修改后的请求示例:
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJDzcum_mb_DkRk5QKN0b39C4&key=api_key&review_translate=no
如果需要场所的基础信息(如名称、地址)保持英文显示,可额外添加language=en参数,这样评论保留原语言,基础信息按指定语言返回:
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJDzcum_mb_DkRk5QKN0b39C4&key=api_key&review_translate=no&language=en
2. 前端适配多语言显示
API返回的每条评论会包含language字段(比如孟加拉语对应bn,英文对应en),你可以基于这个字段做以下处理:
- 直接渲染评论的
text字段(此时返回的就是原始语言内容),确保你的页面已设置<meta charset="UTF-8">,浏览器会自动识别并正确显示对应语言的字符。 - 针对不同语言优化字体:比如孟加拉语需要专用字体,可通过CSS为对应语言的评论添加样式:
渲染时给评论容器加上语言标识:.review[data-lang="bn"] { font-family: "Noto Sans Bengali", "Siyam Rupali", sans-serif; }<div class="review" data-lang="{{评论的language字段}}"> {{评论的text内容}} </div>
3. 自有网站用户评论的原语言展示
对于自有网站用户提交的评论,存储时要同步保存:
- 评论的原始文本
- 评论的语言信息(可通过前端
navigator.language获取浏览器语言,或让用户手动选择,也可借助后端语言检测工具确认)
展示时直接读取原始文本,结合语言信息设置对应字体和编码,确保页面UTF-8编码正常,即可正确显示原语言内容。
内容的提问来源于stack exchange,提问作者AlAmin
相关产品推荐
相关产品推荐

