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

如何在Google Translate ML Kit中获取已下载语言名称列表?

获取已下载翻译模型的语言名称列表

你当前获取已下载模型的代码如下:

modelManager.getDownloadedModels(TranslateRemoteModel.class).addOnSuccessListener(new OnSuccessListener<Set<TranslateRemoteModel>>() {
    @Override
    public void onSuccess(Set<TranslateRemoteModel> translateRemoteModels) {
        Log.d("TAG56565", "onSuccess: " + translateRemoteModels.toString());
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception e) {

    }
});

要提取已下载的语言名称列表,可在onSuccess回调中遍历返回的模型集合,通过模型对象获取语言代码后转换为对应名称:

modelManager.getDownloadedModels(TranslateRemoteModel.class).addOnSuccessListener(new OnSuccessListener<Set<TranslateRemoteModel>>() {
    @Override
    public void onSuccess(Set<TranslateRemoteModel> translateRemoteModels) {
        List<String> downloadedLangNames = new ArrayList<>();
        for (TranslateRemoteModel model : translateRemoteModels) {
            // 获取模型对应的语言代码(如"en"、"zh")
            String langCode = model.getLanguage();
            // 将语言代码转换为本地易读的语言名称
            Locale locale = new Locale(langCode);
            String langName = locale.getDisplayName(Locale.getDefault());
            downloadedLangNames.add(langName);
        }
        // 此时downloadedLangNames即为已下载的语言名称列表
        Log.d("TAG", "已下载语言列表: " + downloadedLangNames.toString());
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception e) {
        e.printStackTrace();
    }
});

补充说明

  • TranslateRemoteModel.getLanguage()是Google ML Kit翻译模型类的标准方法,用于获取模型对应的目标语言代码。
  • Locale.getDisplayName(Locale.getDefault())会以当前系统语言显示名称(比如系统为中文时,"en"会显示为"英语"),若需要固定显示语言,可替换为指定Locale(如Locale.CHINESE)。

内容的提问来源于stack exchange,提问作者IT Student

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 04:35:28