当前位置:首页 > 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

    示例代码:

    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

    示例代码:

    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
    语言检测+翻译组合:

    js实现翻译语言

    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实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…

js分页实现

js分页实现

分页的基本原理 分页的核心是通过计算当前页码和数据偏移量,从服务器或本地数据中截取对应范围的数据进行展示。通常需要以下参数:当前页码(currentPage)、每页条数(pageSize)、总数据量(…

js实现轮播代码

js实现轮播代码

基础轮播实现 使用HTML、CSS和JavaScript创建一个简单的轮播效果。HTML部分定义轮播容器和图片元素。 <div class="carousel"> <div c…

js 实现图片 放大

js 实现图片 放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性可以实现图片的平滑放大效果。结合 JavaScript 监听鼠标事件控制放大状态: con…

js实现左右滑动

js实现左右滑动

实现左右滑动的 JavaScript 方法 监听触摸事件 通过 touchstart、touchmove 和 touchend 事件来检测用户的手势操作。记录触摸的起始位置和移动距离,判断滑动方向。…

js实现乘法

js实现乘法

实现乘法运算的方法 在JavaScript中实现乘法运算可以通过多种方式完成,以下列举几种常见方法: 基础运算符 直接使用乘法运算符*是最简单的方式: let result = 3 * 5; //…