Flutter翻译引擎插件translation_engine_deepl的使用

发布于 1周前 作者 nodeper 来自 Flutter

Flutter翻译引擎插件translation_engine_deepl的使用

translation_engine_deepl 是一个用于在 Flutter 应用中集成 DeepL 翻译功能的插件。它可以帮助开发者快速实现多语言支持,并通过 DeepL API 提供高质量的翻译服务。

特性

  • 支持多种语言之间的翻译。
  • 基于 DeepL 的强大翻译引擎。
  • 易于集成到现有的 Flutter 项目中。

安装

pubspec.yaml 文件中添加以下依赖:

dependencies:
  translation_engine_deepl: ^1.0.0

然后运行以下命令以安装依赖:

flutter pub get

使用示例

以下是一个完整的示例,展示如何在 Flutter 中使用 translation_engine_deepl 插件进行翻译。

示例代码
import 'package:flutter/material.dart';
import 'package:translation_engine_deepl/translation_engine_deepl.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: TranslationExample(),
    );
  }
}

class TranslationExample extends StatefulWidget {
  [@override](/user/override)
  _TranslationExampleState createState() => _TranslationExampleState();
}

class _TranslationExampleState extends State<TranslationExample> {
  String _sourceText = "Hello, world!";
  String _translatedText = "";
  bool _isLoading = false;

  Future<void> translateText() async {
    setState(() {
      _isLoading = true;
    });

    try {
      // 初始化翻译引擎
      final translator = TranslationEngineDeepl();

      // 调用翻译方法
      String translatedText = await translator.translate(
        text: _sourceText,
        sourceLanguage: "EN",
        targetLanguage: "ZH", // 目标语言为中文
      );

      setState(() {
        _translatedText = translatedText;
        _isLoading = false;
      });
    } catch (e) {
      setState(() {
        _isLoading = false;
      });
      print("Translation failed: $e");
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("DeepL 翻译示例"),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            TextField(
              decoration: InputDecoration(hintText: "请输入要翻译的文本"),
              onChanged: (value) {
                setState(() {
                  _sourceText = value;
                });
              },
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: translateText,
              child: _isLoading
                  ? CircularProgressIndicator()
                  : Text("翻译"),
            ),
            SizedBox(height: 20),
            Text(
              "翻译结果: $_translatedText",
              style: TextStyle(fontSize: 18),
            ),
          ],
        ),
      ),
    );
  }
}

更多关于Flutter翻译引擎插件translation_engine_deepl的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter翻译引擎插件translation_engine_deepl的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


translation_engine_deepl 是一个 Flutter 插件,用于与 DeepL 翻译 API 进行交互,实现文本翻译功能。DeepL 是一个高质量的翻译服务,支持多种语言之间的翻译。使用这个插件,你可以轻松地将 DeepL 的翻译功能集成到你的 Flutter 应用中。

安装插件

首先,你需要在 pubspec.yaml 文件中添加 translation_engine_deepl 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  translation_engine_deepl: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

获取 DeepL API 密钥

在使用 translation_engine_deepl 之前,你需要一个 DeepL API 密钥。你可以通过以下步骤获取:

  1. 访问 DeepL API 页面。
  2. 注册或登录你的 DeepL 账户。
  3. 在开发者页面中获取你的 API 密钥。

使用插件

以下是一个简单的示例,展示如何使用 translation_engine_deepl 插件进行文本翻译:

import 'package:flutter/material.dart';
import 'package:translation_engine_deepl/translation_engine_deepl.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: TranslationDemo(),
    );
  }
}

class TranslationDemo extends StatefulWidget {
  [@override](/user/override)
  _TranslationDemoState createState() => _TranslationDemoState();
}

class _TranslationDemoState extends State<TranslationDemo> {
  final _translationEngine = DeepLEngine(apiKey: 'YOUR_DEEPL_API_KEY');
  String _translatedText = '';

  Future<void> _translateText() async {
    final textToTranslate = 'Hello, world!';
    final translatedText = await _translationEngine.translate(
      textToTranslate,
      sourceLanguage: 'EN',
      targetLanguage: 'DE',
    );

    setState(() {
      _translatedText = translatedText;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('DeepL Translation Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text('Translated Text: $_translatedText'),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: _translateText,
              child: Text('Translate'),
            ),
          ],
        ),
      ),
    );
  }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!