You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Calendar API本地化问题:无法获取对应地区语言节假日列表

解决Google Holiday Calendar API返回英文事件名称的问题

你遇到的问题是调用马来西亚地区的假日日历API,但返回的事件名称还是默认英文,这是因为Google Calendar API默认会用英文返回内容,除非你明确指定目标语言参数。下面是具体的解决方案:

方案1:在URL中添加hl参数

Google Calendar API支持通过hl参数指定返回内容的语言,你只需要在请求URL末尾加上对应的语言代码即可。比如要获取马来语的节假日名称,使用语言代码ms(马来西亚标准马来语):

修改后的请求URL示例:

url = 'https://www.googleapis.com/calendar/v3/calendars/malaysia__mu@holiday.calendar.google.com/events?key=mykey&timeMin=2018-03-18T00:00:00Z&timeMax=2018-12-01T00:00:00Z&maxResults=24&orderBy=startTime&singleEvents=true&hl=ms'

如果需要获取马来西亚中文本地化的名称,可以替换hl参数值为zh-MY。

方案2:通过请求头指定Accept-Language

如果你的请求是通过HTTP客户端(比如Python的requests、JavaScript的fetch)发送的,也可以在请求头中设置Accept-Language字段来指定语言,这种方式更适合需要动态切换语言的场景:

以Python requests为例:

import requests

url = 'https://www.googleapis.com/calendar/v3/calendars/malaysia__mu@holiday.calendar.google.com/events'
params = {
    'key': 'mykey',
    'timeMin': '2018-03-18T00:00:00Z',
    'timeMax': '2018-12-01T00:00:00Z',
    'maxResults': 24,
    'orderBy': 'startTime',
    'singleEvents': True
}
headers = {
    'Accept-Language': 'ms'  # 指定返回马来语内容
}

response = requests.get(url, params=params, headers=headers)

效果验证

添加语言参数后,返回的事件名称会切换为对应语言。比如原来的"Easter Sunday"会变成马来语的"Hari Paskah","Isra and Mi'raj"会变成"Isra' dan Mi'raj"。如果某些事件没有对应语言的本地化名称,API会 fallback 到英文,但马来西亚的主流节假日基本都有完整的本地化名称。

内容的提问来源于stack exchange,提问作者Gaurav Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:47:57