Tulkki:用 DeepSeek 在客户端翻译聊天内容的 Android XMPP 客户端
bqv/tulkki
Tulkki 是一款 Android XMPP 客户端,在客户端层面用 DeepSeek 翻译聊天:收到的消息按应用语言显示,发出的消息翻译成会话语言,原文仅存储不展示。
Tulkki is an Android XMPP client that translates chat at the client level with DeepSeek: everything
received renders in the app language (a setting, NONE on a fresh install), and everything sent is
translated into the conversation's own language. The original text is stored and never displayed —
there is no "show original" affordance.
The interpreter is a feature, not the app. It is on exactly when the app language and the study
language differ, and off when the two are equal or either is NONE. A fresh install starts off — the
app language is that sentinel, nothing chosen, and the study language is the one that follows the
device's current locale until the owner sets it — so there is no shipped pair: the pair is whatever
the owner sets.
Package uk.xa0.tulkki, app label Tulkki.
Building
./gradlew assembleTulkkiDebug
The Gradle wrapper is tracked, so that command runs as written; this checkout additionally routes
the build and tests through a tools/build wrapper that takes a lock and captures output, and
that wrapper is not part of the repository.
That is the only build this project runs: the tulkki flavour, the debug variant, one APK, signed
with the release key when signing.properties is present in the checkout root (gitignored). The
release configuration is unverified — R8, shrinking and the ABI splits have not been exercised
since long before the current tree — so the debug build is what gets built and run.
The build needs:
- Toolchain: JDK 21, Gradle wrapper 9.4.1, AGP 9.0.1, Kotlin 2.3.21,
compileSdk 36, NDK28.2.13676358. - Android SDK: an SDK installation with platform 36, reached through
ANDROID_HOMEorlocal.properties. - Output:
build/outputs/apk/tulkki/debug/.
The launcher icon's source artwork is identity/icon; the Android resources built from it are generated by a script that is not part of this repository.
Tests
./gradlew testTulkkiDebugUnitTest testDebugUnitTest
Both names, not belt-and-braces: the application module's unit-test task is
testTulkkiDebugUnitTest, while every library's is testDebugUnitTest, so the first name alone
reaches only :app.
Licence
Tulkki is GPL-3.0-only; the full licence text is in LICENSE.
来源:GitHub · github.com