Remember when I asked Anyone interested in translating an official theme?
I’ve got a better idea! How about if we do 18 at once!?
Rolling out over the next week or two are fully translation-wrapped official themes (done by yours truly), and tooling for maintaining a set of common strings that ALL themes can pull from. If you speak a language other than English fluently, you’re invited to participate!
We are ready to translate!!
![]()
All translation efforts for official themes can go into @TryGhost/Themes/theme-translations, and then a build step for all themes will provide those translated strings. Yes, for Source and Casper, too. Translating an already wrapped string — which is all most translation contributors will want to do — will happen in Themes/theme-translations. Since strings live in one place, a set of string translations will make all the official themes available in that language.
Shoutout to @vikaspotluri123 for the super useful gt3 tool (which I built on top of for tracking and combining strings), to @jannis for reviewing the string wrapping PR (a beast), and especially to @9larsons from the Ghost team for being a thought partner and for ongoing work to get all the build, deployment, and shipping bits sorted out.
Also a big shout-out to @Nino , who has been maintaining a fork of Source that includes translations. I hope someone using that project will contribute those existing translations over to the official version. (Note that there are some locale code differences in that fork for zh-*. Please match locales already in Ghost/ghost/i18n/locales at main · TryGhost/Ghost · GitHub if you decide to move those strings. Whether we are using the right set of locale codes is a conversation for another day.)
If you’d like to contribute to this community effort, Themes/packages/theme-translations at main · TryGhost/Themes · GitHub has a pretty good README.
If you’re not sure what a README is or haven’t used Github before, start instead with Help translate Ghost (beta), which has has an excellent video tutorial on how to translate Portal using GitHub (no downloads/installs required). The big differences from the video are:
- You should be working in TryGhost/Themes, not TryGhost/Ghost.
- You’ll find the files in packages/theme-translations/locales
- There aren’t language folders - you’ll find and copy en.json to make a file for your language (i.e. de.json. pt-BR.json), and edit that copy.
That’s pretty much it! If you have questions, pleas post below! If you’d like to coordinate work between translators or request that another person look at your work, that’s good to! Bring on the posts!
Thanks in advance for your help!
Cathy
p.s. Expectation management: Translations will not be live tomorrow. We’re still working on build and roll-out, but I thought it’d be more fun to get some translations done so that we can roll out with actually functional translations, instead of everything being the English fallback!