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.
Tabla de contenidos
- 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
Hello I'm Fred, but you know me through my nickname: HappyToDev.
My bio
Husband and 2 times dad 💪
Former French 🫡 Navy
Passionate about computers since I was 10 years old, I have code in my blood. I'm always up for a new 😉 laravel
Newsletter 🗞️ Creator
- What's up, devs?
- Laravel in everyday life
- A Day with Laravel
Heroes Framework Creator 🦸🏽 ♀️🦸🏻 ♂️
I've been wanting to make this site for several months to give birth to a job board specialized in devs using frameworks. I hope you like the concept and that you will help me develop it by bringing me new ideas.
Useful clarification: for devs it's free and you can create your profile page and share it with a unique url. Here is mine as an example
Take a look at Framework Heroes
Creator of GiftKeepr 🎁
A simple question: do you receive gifts that you don't like on your birthday, Christmas or other occasions?
GiftKeepr is here to make sure that never happens again. And it's super simple!
- Create your profile
- Fill in the gifts you want
- Share your GiftKeepr address with your friends and family
- Receive the gifts you want for the occasions you have set Easy peasy!!
Comentarios ()
No hay comentarios aún. ¡Sea el primero en comentar!