クラウド翻訳サービスはもう不要!?オンデバイス翻訳 Translation API を使い倒そう
SwiftUI と Translation API を活用し、クラウドに依存しないオンデバイス翻訳の可能性に挑戦!このスライドでは、translationPresentation や TranslationSession を使った翻訳アプリ開発の実践例とともに、オンデバイス翻訳の利点や課題について詳しく解説しています。
主なトピック
1. translationPresentation の登場
iOS 17.4 で導入された、わずか 1 行のコードで翻訳ポップオーバーを表示できる新しいモディファイア。デモコードを交え、便利な標準 UI と翻訳自動検出の魅力を紹介しています。
2. TranslationSession を MVVM で活用する方法
iOS 18 で実装可能になった TranslationSession を ViewModel に統合。効率的な翻訳処理とライフサイクル管理のコツを解説します。
3. Translation API の活用例
翻訳機のようなアプリ構築や、大量の文字列を効率的に翻訳する手法について議論。オフライン翻訳の可能性を引き出すための具体例を示しています。
紹介アプリ: ワンタップ通訳アプリ『One通(ワンツー)』(https://apps.apple.com/jp/app/id6670566421)
4. 開発Tips
- 言語モデルのダウンロード方法と注意点
- 翻訳モデルの自動削除に対処する方法
- translationTask を活用した柔軟な翻訳実行の実装例
5. watchOSやウィジェットでの利用可能性
翻訳機能の制約を分析し、将来的な可能性を模索。
まとめ
- translationPresentation はシンプルな実装で便利な UI を提供しますが、自由度が低い場面もあることを説明。
- 一方、TranslationSession は開発の自由度を大幅に高めるが、View と密接なライフサイクル管理が必要。
- Translation API を活用したアプリ開発の可能性を探りながら、現時点での制約も明らかにしています。
登壇イベント: Chiba.swift #2 (https://chibaswift.connpass.com/event/331925/)