tmk_translation_flutter 1.2.1
tmk_translation_flutter: ^1.2.1 copied to clipboard
Flutter plugin for integrating the Timekettle translation SDK on Android and iOS.
tmk_translation_flutter #
Timekettle Translation SDK 的 Flutter 插件,通过统一 Dart API 接入 Android 和 iOS 原生翻译能力。
安装 #
dependencies:
tmk_translation_flutter: ^1.2.1
flutter pub get
原生依赖均来自公开仓库,不需要 GitHub token、私有 Maven 凭据或私有 CocoaPods source。
Android 应用必须在 Gradle 仓库配置中同时声明 Maven Central 和公共 Jiagouyun Maven:
repositories {
google()
mavenCentral()
maven(url = "https://mvnrepo.jiagouyun.com/repository/maven-releases")
}
优先将上述仓库加入 settings.gradle.kts 的 dependencyResolutionManagement.repositories;若工程允许项目级仓库,也应在实际生效的 repositories 块中加入相同地址。Jiagouyun 仅用于解析原生 SDK 1.2.1 的公开传递依赖,不需要账号或 token。企业网络若启用仓库白名单,需要允许访问 mvnrepo.jiagouyun.com。
Requirements #
- Flutter 3.22 或更高版本、Dart 3.10 或更高版本。
- Android minSdk 28、Java 17;Timekettle Translation SDK 1.2.1 来自 Maven Central,其公开传递依赖通过公共 Jiagouyun Maven 解析。
- iOS 17.0 或更高版本;使用 CocoaPods Trunk 上的
TmkTranslationSDK1.2.1。
基本用法 #
import 'package:tmk_translation_flutter/tmk_translation_flutter.dart';
final settings = await TmkTranslationFlutter.getCurrentSettings();
final status = await TmkTranslationFlutter.initialize(settings: settings);
final languages = await TmkTranslationFlutter.getSupportedLanguages(
TmkLanguageSource.online,
);
final sessionId = await TmkTranslationFlutter.createSession(
const TmkSessionConfig(
scenario: TmkScenario.listen,
mode: TmkTranslationMode.online,
sourceLanguage: 'zh-CN',
targetLanguage: 'en-US',
useFixedAudio: false,
),
);
await TmkTranslationFlutter.startSession(sessionId);
订阅原生事件:
final subscription = TmkTranslationFlutter.events.listen((event) {
// Handle session state, recognition, translation, metrics, and error events.
});
使用完毕后停止、释放 session,并取消事件订阅。
架构 #
Flutter App
→ tmk_translation_flutter
→ tmk_translation_platform_interface
→ Android/iOS Timekettle Translation SDK 1.2.1
本包重新导出 platform interface 中的公共模型和枚举,业务应用无需额外导入 interface 包。
License #
本包中的 Flutter/Dart wrapper 源代码使用 Apache License 2.0。该许可证不适用于 Android/iOS 原生 Timekettle Translation SDK、翻译服务、账号凭据、翻译/离线模型及模型文件、Timekettle 商标或其他专有材料;这些内容继续受适用的 Timekettle SDK 与服务协议约束。