Skip to content

查询项目语言列表

查询当前 AppKey 所绑定项目的源语言已启用的目标语言。集成方在调用 创建翻译任务 之前建议先调一次本接口,拿到可用的 target_languages 集合,避免传了项目未启用的语言被 422 拒绝。

请求地址

GET {BASE_URL}/api/open/v1/languages

也支持 POST(body 留空)。

鉴权 Header

和其它开放平台接口一致(参见 签名协议):

Header
X-Loxily-AppKey项目 App Key
X-Loxily-TimestampUnix 秒(5 分钟有效)
X-Loxily-SignMD5(timestamp + "" + appSecret) —— GET 无 body,body 以空字符串参与签名

请求参数

无。项目从 X-Loxily-AppKey 自动解析。

响应

成功(HTTP 200):

json
{
  "success": true,
  "code": 0,
  "msg": "ok",
  "trace_id": "...",
  "data": {
    "project_id": "ls-dev-96ai",
    "source_language": "zh-hans",
    "target_languages": ["en", "ja", "ko", "zh-tw"],
    "all_languages": ["zh-hans", "en", "ja", "ko", "zh-tw"]
  }
}

字段说明

字段类型说明
project_idstring回显当前项目 ID
source_languagestring | null源语言代码;若项目未配置语言树则为 null
target_languagesstring[]项目已启用的目标语言列表(不含源语言),按语言树前序遍历顺序
all_languagesstring[]全量语言列表(含源语言),同样按前序遍历顺序

空配置的行为

若项目从未在控制台配置过语言树,接口仍返回 200data.source_language = nulltarget_languages = []。集成方在这种情况下应提示"请先在控制台配置语言"。

错误码

code说明
401签名校验失败或时间戳过期
404AppKey 无效
500系统错误

示例

cURL

bash
APP_KEY="5685414646a54423c891d87194d87f3f"
APP_SECRET="<你的 App Secret>"
BASE_URL="https://api.loxily.com"

TIMESTAMP=$(date +%s)
SIGN=$(printf '%s' "${TIMESTAMP}${APP_SECRET}" | md5)

curl -s "${BASE_URL}/api/open/v1/languages" \
  -H "X-Loxily-AppKey: ${APP_KEY}" \
  -H "X-Loxily-Timestamp: ${TIMESTAMP}" \
  -H "X-Loxily-Sign: ${SIGN}"

Node.js

javascript
import crypto from 'crypto';

const timestamp = Math.floor(Date.now() / 1000).toString();
const sign = crypto.createHash('md5')
  .update(`${timestamp}${process.env.LOXILY_APP_SECRET}`, 'utf8')
  .digest('hex');

const resp = await fetch(`${process.env.LOXILY_BASE_URL}/api/open/v1/languages`, {
  headers: {
    'X-Loxily-AppKey': process.env.LOXILY_APP_KEY,
    'X-Loxily-Timestamp': timestamp,
    'X-Loxily-Sign': sign,
  },
});
const { data } = await resp.json();
console.log('Source:', data.source_language);
console.log('Targets:', data.target_languages);

使用建议

典型集成流程:

  1. 进程启动或定时(如每小时)拉一次本接口,缓存 target_languages 列表
  2. 构造 创建翻译任务 请求时,对用户的目标语言输入做一次交叉校验
  3. 若用户请求的语言不在 target_languages 中,提前提示,不要直接丢给 /tasks/create

全局语言代码参考表

下表是 Loxily 全局支持的语言代码,所有 API 参数(如 target_languages)都从下表中选取。实际某个项目可用的子集以本接口的 target_languages 返回值为准。

Code中文EnglishNative
zh-hans简体中文Chinese (Simplified)简体中文
en英语EnglishEnglish
ja日语Japanese日本語
ko韩语Korean한국어
de德语GermanDeutsch
fr法语FrenchFrançais
es西班牙语SpanishEspañol
es-419西班牙语(拉丁美洲)Spanish (Latin America)Español (Latinoamérica)
zh-tw繁体中文Chinese (Traditional)繁體中文
zh-cn中文(大陆)Simplified Chinese中文
pt葡萄牙语PortuguesePortuguês
pt-pt葡萄牙语(葡萄牙)Portuguese (Portugal)Português (Portugal)
pt-br葡萄牙语(巴西)Portuguese (Brazil)Português (Brasil)
ru俄语RussianРусский
it意大利语ItalianItaliano
ar阿拉伯语Arabicالعربية
th泰语Thaiไทย
vi越南语VietnameseTiếng Việt
id印尼语IndonesianBahasa Indonesia
tr土耳其语TurkishTürkçe
pl波兰语PolishPolski
hi印地语Hindiहिन्दी
ms马来语MalayBahasa Melayu
fa波斯语Persianفارسی
fil菲律宾语FilipinoFilipino
ro罗马尼亚语RomanianRomână
af南非荷兰语AfrikaansAfrikaans

规范

  • 大小写:代码全部小写,如 zh-hanses-419
  • 分隔符:地区变体用短横线 -(不是下划线),如 pt-br 而不是 pt_br
  • 变体与基础语言es(通用西语)和 es-419(拉美)是不同的语言,翻译结果不互通。请按你目标受众选择合适的代码
  • 源语言:源语言由项目配置决定,API 无需(也不支持)通过参数指定

常见错误

现象原因
422 Unsupported target language: en-US代码必须小写 → 用 en-us 或更宽泛的 en
422 Unsupported target language: zh_CN用短横线 → zh-cn(但推荐更明确的 zh-hans
422 Unsupported target language: xxx 且代码正确该语言未在当前项目语言树中启用,请先在控制台开启,或用本接口确认项目实际启用的语言