Tijd is an Android widget for showing the time in spoken words. It uses the shared C++20 library through JNI, with 91 language, script, and regional choices.
- Each widget saves its own language, initially selected from the current device locale. Unsupported locales fall back to English. Saved defaults can override the initial selection for future widgets.
- Independent styles for every widget: 40 curated colors, available system fonts, text size and alignment, and optional translucent panels.
- Transparent background and wallpaper-aware text color by default. Rounded panels require Android 12 or newer.
- Compact and single-row layouts, with automatic sizing and whole-word wrapping.
- Material 3 screens with Android toolbars, outlined controls, and a swipeable layout picker.
- Live style previews and a My widgets list for editing installed widgets. Save a style as the default for future widgets without changing existing ones.
- Tap the widget to open your clock app.
- Works offline, with no ads, accounts, or data collection.
Open the app, allow Alarms & reminders, then add a widget to your home screen. Requires Android 6.0 or newer. Updates may pause while your phone sleeps to save battery.
Edit a widget from My widgets, or use your launcher’s widget settings where available. Tap a preview card to edit it. Changes save automatically, and the searchable language picker includes native names and flag hints. Lock Screen widgets can have their own styles on devices that provide a Lock Screen widget picker.
cpp-spoken-timeis the platform-neutral C++20 library with 91 language, script, and regional entries.androidcontains the Android widget and its CMake/JNI bridge tocpp-spoken-time.WidgetStyle,StyleCatalog, andWidgetStyleStoredefine validated settings, the curated palette, and atomic per-widget storage. Defaults are copied when a widget is created.ClockFont,StableClockText, andClockViewsrender native text and fit every possible time phrase. Font-specific XML layouts keep host rendering and measurement identical without rasterizing text.WidgetConfigurationActivitysaves each edit immediately;WidgetPreviewuses the same renderer as the host.MainActivitylists installed widgets.ClockUpdatesserializes publications and includes the style in its layout identity, so editing triggers a complete update and later minute ticks preserve the style.
The Google Play title is Tijd: Word Clock Widget; the installed app name is Tijd. See the first-release checklist, store listing draft, and icon generation prompt.
Source: https://github.com/podkovyrin/tijd
The privacy policy is also bundled in the app. See the GitHub Pages setup guide for publication and updates.
Mise pins the JDK, CMake, Ninja, and C++ formatting tools used by the repository. After installing Mise, run:
mise install
mise run bootstrap
mise run checkAndroid native builds use NDK 28.1.13356709 and SDK CMake 4.1.2, installed automatically by Gradle when SDK licenses are accepted.
Use mise run build to build both host C++ and Android debug artifacts, or run the scoped
build:cpp, build:android, check:cpp, and check:android tasks. Run
./android/gradlew -p android connectedDebugAndroidTest with an emulator for native rendering,
configuration, and widget lifecycle checks.
The original project code and documentation, including the C++ library and Android app, are licensed under the MIT License. Third-party components retain their own licenses.
Anastasiia I. Puchkova's “Clock time expression in languages of Europe” (2025)
was consulted while developing the C++ formatters. See NOTICE for the full
acknowledgment, source license, and description of the project's use of the article.
Android includes these notices under License and acknowledgments; C++ installations
include them under share/doc/spoken_time.
See localization and publishing for all supported app locales, generated Google Play metadata, validation and fastlane upload lanes. The English ASO rationale records the keyword choices and shorter description before translation.