847 lines of code to make no visible changes? Check.
Unblocking official theme translations.
Soā¦. the PR to swap out for the translation package behind theme translation went through earlier this week. This is the item identified previously by Hannah as a blocker for doing translation of official themes. Basically (but at 847 lines, it wasn't very basic), I set up Ghost to use i18next for theme translation (matching what's already being done elsewhere in the project), instead of an older home-built i18n package.
The PR will be in the release cut tomorrow (6.11, I think?), and should roll out to Ghost Pro next week on the usual schedule (mostly Tuesday).
IMPORTANT: None of this work changes anything you will see on your site, unless I made a mistake. It was a one for one replacement of existing functionality. Yep, if I did it perfectly, absolutely nothing will be different.
Furthermore, itās behind a private flag, which means it isnāt live on your site unless enabled.
I would love to have some folks running in languages other than English test it out. Hereās how:
If you self-host
After upgrading to 6.11 (available tomorrow)ā¦
- In your config.production.json:
"enableDeveloperExperiments": {
"enableDeveloperExperiments": true
}
(Docker users and others using environment variables would setenableDeveloperExperiments__enableDeveloperExperimentsto true.) - Restart Ghost.
- Find and toggle the āTheme Translationā toggle in /ghost > settings > labs to on to activate the new translations package. (Tip: You'll find additional tabs and toggles in labs. I don't recommend messing with these on sites you care about, because some are hidden because they're decidedly half-baked and may break things. Ask me how I know...)
If you are hosted by Ghost Pro
Send an email to their support address, asking to have the private themeTranslation turned on. Note that they will have lower staffing levels over the holidays, so you might want to make that request early next week.
If you are hosted by Synaps Media
Murat reports he'll be turning this feature on for all Synaps Media sites. š
If you are hosted by Magic Pages
Jannis says it'll be default-enabled for everyone once 6.11 rolls out to Magic Pages, but if you want it disabled to let him know.
What to expect
Again, the expected result of turning on this private beta is absolutely no change. Donāt email me to tell me that it isnāt working when nothing obvious happens. š Do email me if you notice anything translation-related thatās not right after you flip the toggle, but right when you turn it back off.
Yep. 847 lines of code, 20 files changed, and two rewrites for a PR that does absolutely nothing you can see on your site. 𤣠But itās the foundation for what comes nextā¦
Iām hoping weāll do official theme translation in early 2026. Iāve got a PR open, but weāve run up against the holiday code release freeze, so it wonāt be available before 2026.
If you are excited to contribute strings for Source, you can find a draft list of strings here:
On my to-do list is figuring out the best way to handle a set of shared strings across the official themes, so that (once we get everything wrapped for translations). Still thinking about that.
Did you read all the way to the end? Thanks, and sorry for the novel.
A small aside
I am not employed by the Ghost Foundation/Ghost Pro. I'm a community member and open source contributor who accidentally found herself managing translations. The work above was unfunded, and displaced paying work opportunities (and video games š®, and laundry š§¦). If youāre benefitting financially from my work and would like to see more of it, please consider supporting me. Hereās my š Github sponsors page š.
ā¤ļø A super huge shoutout to Magic Pages and Synaps Media for being monthly sponsors. I appreciate you! ā¤ļø
In case I don't manage another newsletter before the holidays, I wish you a joyous, peaceful, and/or restorative holiday season.
--Cathy