Full translatability (i18n)
Every user-facing and admin string now goes through the translator — the extension is 100% translatable. Drop in a locale file for any language and the digest emails, unsubscribe pages, user settings, and the entire admin panel render in that language.
- Digest email: period words ("this day/week/month"), reply/post/vote/etc. counts, discussion meta ("Last reply by…", "Started by…"), the header badge, the "Visit" button, and the footer are now translated.
- Relative times ("1 hour ago") now localize with the recipient's language — Carbon's locale is set per recipient alongside the translator, so dates no longer stay English in a translated digest.
- Admin panel: settings, statistics, digest order, and the full server / queue / cron documentation are fully externalized.
locale/en.ymlships every key; other locales (fr.yml, etc.) can be filled in by translators.
Also included since 2.1.3
- Fix digests failing to send — unguard
UnsubscribeTokenmass assignment (was 2.1.5). - Audit fixes — honor disabled-frequency toggles; trim the leaderboard NEW-badge query (was 2.1.4).
Migrating from resofire/digest-mail
This is a drop-in-compatible fork — same database schema, idempotent migrations, and no subscriber data lost when you switch. See the "Migrating from resofire/digest-mail" section in the README for the full steps.
Install / update
composer require ernestdefoe/digest-mail:^2.2
php flarum migrate
php flarum assets:publish
php flarum cache:clear