Blogr now speaks 10 languages (and your code is still code)
TL;DR
Blogr speaks 10 languages: one-click AI translation (LibreTranslate, Azure, Google, OpenAI), code remains preserved, quota counter. Truncated series with "see more" button (configurable threshold). Admin: editable path, pinned forms, 2FA in one command. Plugin system with toggle UI: blogr-gdpr and blogr-comments available. 1077 tests.
Table of contents
- Machine translation is coming
- Long-format series breathe easier
- Administration gains flexibility
- Plugins: you choose what you take with you
- Under the hood
- The program for the next few days
In one week, Blogr has released 7 versions — from v1.8.0 to v1.12.1. Not for the sake of numbers, but because multilingualism has just reached a new level.
Machine translation is coming
Until now, translating an article or a CMS page required you to enter everything by hand. As of this week, Blogr knows how to translate for you.
You choose your engine:
- LibreTranslate — you host it, zero external dependencies, your data stays at home
- Azure Translator — 2 million characters offered each month for one year
- Google Cloud Translation — 500,000 free characters per month
- OpenAI (GPT-4o-mini) — via your API key
From the editor of a CMS page or an article, a Translate with AI button does the job: title, content, blocks, slug, SEO. The source language is detected automatically, you choose the target.
And your code remains intact
echo 'hello world'; will not become écho 'bonjour le monde';. Code blocks (triple and single backticks) are automatically preserved during translation. Only natural text goes through the API.
A counter so you don't get caught out
Azure and Google have free quotas. Blogr follows them for you. In Settings > AI Translation, a monthly summary shows you how many characters you've already used and how many are left. LibreTranslate and OpenAI have no limits — you can translate without counting.
Long-format series breathe easier
When a series accumulates episodes, the page could become endless. Now the top 10 items are displayed, the next ones are hidden behind a Show X extra items button. One click is all it takes to display them all.
The threshold is set in Settings > Series. You can change it to 5, 20, 50 — depending on your style.
Administration gains flexibility
-
The path is no longer fixed. You wanted to
/admin?/backoffice?/redaction? It's in Settings > General*, and a commandphp artisan blogr:sync-admin-pathupdates the configuration file. -
Translation forms no longer run away from you.** The Save, Save & Back, and Cancel buttons remain visible at the very top of the editor — no more endless scrolling to find the save button.
-
Two-factor authentication is installed in one command.
php artisan blogr:install-breezyinstalls Filament Breezy, creates the theme, configures the provider, adds the trait to the User template, and migrates the database. All that remains is to donpm run buildto compile the assets.
Plugins: you choose what you take with you
Blogr has a real plugin system. Once installed with Composer, each extension can be activated or disabled from the interface, with a simple toggle — no code comments, no config files to edit. The deactivation is immediate: the plugin is put to sleep without breaking anything.
Two plugins are already available:
- blogr-gdpr — published on Packagist
happytodev/blogr-gdpr. Cookies consent, GDPR, user consent management. You activate it, it integrates; You deactivate it, it disappears. - blogr-comments —
happytodev/blogr-comments. Threads, votes, Markdown, moderation, multi-layered anti-spam (Turnstile, StopForumSpam, Akismet), email notifications. A complete commenting system, decoupled from the core.
The toggle is a real CSS switch with a sliding animation — a small visual pleasure that makes managing extensions almost satisfying.
Under the hood
This week, it's also 1077 tests that are running (3236 assertions), bug fixes on the display of translation links in the admin, and a redesign of the BlockTranslator so that each type of CMS block is correctly translated (hero, team, pricing, blog_posts... the 15 types).
All 9 social media URL fields in the footer have been cleaned up — the Chrome error "invalid form control not focusable" that appeared in the console when you saved the settings is a thing of the past.
The program for the next few days
- Deploy AI translation capabilities on happyto.dev
- Finalization of the comments plugin (
happytodev/blogr-comments) - Advanced testing on Azure Translator and Google Cloud Translate
Blogr v1.12.1 — PHP 8.3+, Laravel 12+, Filament v4 Any hesitation? Any idea? Open an issue.
About the author
Happytodev
Cześć, jestem Fred, ale znacie mnie po przezwisku: HappyToDev.
Moje biografie
Mąż i dwukrotny tata 💪
Była francuska 🫡 marynarka wojenna
Pasjonuję się komputerami od dziesiątego roku życia, mam kod we krwi. Zawsze jestem chętna na nową 😉 laravelę
Twórca newslettera 🗞️
- Co tam, deweloperzy?
- Laravel w codziennym życiu
- Dzień z Laravelem
Twórca 🦸🏽 ♀️🦸🏻 ♂️ ram Heroes
Od kilku miesięcy chciałem stworzyć tę stronę, aby dać początek portalowi ogłoszeń specjalizującym się w programistach korzystających z frameworków. Mam nadzieję, że spodoba Ci się ten koncept i że pomożesz mi go rozwinąć, przynosząc mi nowe pomysły.
Przydatne wyjaśnienie: dla deweloperów jest darmowy i możesz stworzyć swoją stronę profilową oraz udostępnić ją z unikalnym adresem URL. Oto mój przykład
Spójrz na Framework Heroes
Twórca GiftKeepr 🎁
Proste pytanie: czy otrzymujesz prezenty, których nie lubisz na urodziny, Boże Narodzenie lub inne okazje?
GiftKeepr jest tutaj, by upewnić się, że to się nigdy więcej nie powtórzy. I to jest bardzo proste!
- Stwórz swój profil
- Wypełnij prezenty, które chcesz
- Podziel się swoim adresem GiftKeepr z przyjaciółmi i rodziną
- Otrzymuj prezenty, których chcesz na wyznaczone przez Ciebie okazje Bułka z masłem!!
Comments ()
No comments yet. Be the first to comment!