🗣️
PythonのlangdetectをChatGPTで変換してflutterパッケージに移植しました
Pythonのlangdetect
ライブラリを移植して、flutter用の言語検出パッケージを作成しました。その名も、flutter_langdetectです。
https://pub.dev/packages/flutter_langdetect
(移植作業の80%はChatGPT-4を使ってPythonからdartへの変換を行っています。)
特徴
- 55言語を検出可能
- 軽量で高速
インストール方法
まず、pubspec.yaml
の依存関係にflutter_langdetect
を追加します。
dependencies:
flutter_langdetect: ^0.0.1
その後、flutter pub get
を実行してパッケージをダウンロード・インストールします。
使用方法
import 'package:flutter/widgets.dart';
// 'as langdetect'としてインポートすることをお勧めします(単純な関数名'detect'を提供しているため)
import 'package:flutter_langdetect/flutter_langdetect.dart' as langdetect;
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await langdetect.initLangDetect(); // これはアプリケーションで一度だけ必要です(ensureInitialized()の後)
String text = 'こんにちは、世界!';
final language = langdetect.detect(text);
print('検出された言語: $language'); // -> "ja"
final probs = langdetect.detectLangs(text);
for (final p in probs) {
print("言語: ${p.lang}"); // -> "ja"
print("確率: ${p.prob}"); // -> 0.9999964132193504
}
}
開発の経緯
Mimino666氏によって作成されたPythonライブラリlangdetect
は与えられたテキストの言語判定を行う非常に強力なライブラリです。
さらにlangdetect
は、Nakatani Shuyo氏がJavaで書いたlanguage-detection
ライブラリの移植版となっています。(解説資料)
これらのライブラリは、非常に軽量・高速に言語判定ができるため、スマートフォンアプリなどへの組み込みに適していると考えました。
今回、個人的に必要になりましたので、これをdart化しflutterで使えるパッケージとして公開しました。
フィードバックなどありましたら、issue・プルリクなどお気軽に。
Discussion