当前位置:首页 > JavaScript

js实现翻译语言

2026-03-01 14:22:43JavaScript

使用 JavaScript 实现语言翻译

浏览器原生 API(Translation API)

现代浏览器提供内置的翻译能力,可通过 translate 属性和 Intl API 实现简单翻译:

// 利用 translate 属性标记元素是否需要翻译
document.getElementById("content").translate = "yes";

// 使用 Intl.DisplayNames 获取语言名称翻译
const regionNames = new Intl.DisplayNames(['en'], { type: 'language' });
console.log(regionNames.of('fr')); // 输出 "French"

调用第三方翻译 API

主流云服务商提供翻译 API,需要注册获取 API key:

  1. Google Cloud Translation
    安装客户端库:

    npm install @google-cloud/translate

    示例代码:

    js实现翻译语言

    const { TranslationServiceClient } = require('@google-cloud/translate');
    const client = new TranslationServiceClient();
    async function translateText(text, targetLanguage) {
    const [response] = await client.translateText({
     parent: 'projects/your-project-id/locations/global',
     contents: [text],
     mimeType: 'text/plain',
     targetLanguageCode: targetLanguage,
    });
    return response.translations[0].translatedText;
    }
  2. Microsoft Azure Translator
    安装 SDK:

    npm install @azure/ai-text-analytics

    示例代码:

    js实现翻译语言

    const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
    const client = new TextAnalysisClient(
    "https://your-endpoint.cognitiveservices.azure.com/",
    new AzureKeyCredential("your-api-key")
    );
    async function translate(text, toLang) {
    const [result] = await client.analyze("Translation", [text], {
     targetLanguage: toLang
    });
    return result.translations[0].text;
    }

本地化库方案

对于不需要联网的场景,可使用以下库:

  1. i18next
    结合语言资源文件实现:

    import i18n from 'i18next';
    i18n.init({
    resources: {
     en: { translation: { "hello": "Hello" }},
     fr: { translation: { "hello": "Bonjour" }}
    },
    lng: 'fr'
    });
    console.log(i18n.t('hello')); // 输出 "Bonjour"
  2. Franc + Translate
    语言检测+翻译组合:

    import franc from 'franc';
    import translate from 'translate';
    translate.engine = 'libre'; // 使用 LibreTranslate
    const detectedLang = franc('Bonjour le monde');
    const translated = await translate('Hello world', { to: detectedLang });

注意事项

  • 云服务 API 有调用次数限制和费用产生
  • 浏览器原生 API 依赖用户浏览器设置
  • 本地化方案需要预置翻译词典
  • 敏感内容需自行处理隐私合规问题

性能优化建议

  • 对静态内容使用预编译翻译
  • 动态内容实现缓存机制
  • 批量请求代替多次单条调用
  • 使用 Web Workers 处理大量文本

标签: 语言js
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在H…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点…