🌐 Tracking translations - help still needed!

Hey all!

Starting a new thread for visibility.

Tomorrow’s Ghost release (5.96) has lots to love. The actual release of search with translations (accidentally not released last week), RTL support for search, CJK character support for search, and a bunch of new translations and newly-translatable strings. But… you won’t see any of it if your language isn’t translated.

@9larsons and I cleared a TON of the PR backlog for translations this week. We’re tracking a few more that didn’t make the cutoff today, hoping to have more next week.

Below are the translations that exist in Ghost, as of today 10/3/2024. (Reminder: themes are handled separately. “ghost” in this case means mostly transactional email, not the strings controlled by your theme.)

Need to look up your language code?

So… that brings us to the request for help. Every single language on the list has some untranslated strings, due to recent additions of portal errors and all of search. Each column lists translated strings out of total strings available, so anywhere that they don’t match, we need help!

        Locale |        ghost |      portal | signup-form |    comments |      search | 
            af |      32 / 32 |   155 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            ar |      24 / 32 |    57 / 175 |       0 / 7 |      0 / 69 |       0 / 7 | 
            bg |      32 / 32 |   175 / 175 |       7 / 7 |     69 / 69 |       7 / 7 | 
            bs |      32 / 32 |   157 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            ca |      32 / 32 |   155 / 175 |       7 / 7 |     68 / 69 |       0 / 7 | 
            cs |      32 / 32 |   171 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            da |      32 / 32 |   157 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            de |      32 / 32 |   154 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
         de-CH |      32 / 32 |   147 / 175 |       7 / 7 |      3 / 69 |       0 / 7 | 
            el |      32 / 32 |   157 / 175 |       7 / 7 |     65 / 69 |       0 / 7 | 
            eo |      24 / 32 |    56 / 175 |       0 / 7 |      0 / 69 |       0 / 7 | 
            es |      32 / 32 |   155 / 175 |       7 / 7 |     68 / 69 |       0 / 7 | 
            et |      32 / 32 |   170 / 175 |       7 / 7 |     69 / 69 |       7 / 7 | 
            fa |      32 / 32 |   157 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            fi |      32 / 32 |   144 / 175 |       7 / 7 |     68 / 69 |       0 / 7 | 
            fr |      32 / 32 |   159 / 175 |       7 / 7 |     69 / 69 |       7 / 7 | 
            gd |      32 / 32 |   175 / 175 |       7 / 7 |     69 / 69 |       7 / 7 | 
            hr |      32 / 32 |   148 / 175 |       7 / 7 |     67 / 69 |       0 / 7 | 
            hu |      32 / 32 |   153 / 175 |       7 / 7 |     68 / 69 |       0 / 7 | 
            id |      32 / 32 |   157 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            is |      32 / 32 |   144 / 175 |       7 / 7 |      0 / 69 |       0 / 7 | 
            it |      32 / 32 |   156 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            ja |      32 / 32 |   157 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            ko |      32 / 32 |   145 / 175 |       7 / 7 |     61 / 69 |       0 / 7 | 
            lt |      32 / 32 |   157 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            mk |      32 / 32 |   157 / 175 |       7 / 7 |     65 / 69 |       0 / 7 | 
            mn |      24 / 32 |    56 / 175 |       0 / 7 |      0 / 69 |       0 / 7 | 
            ms |      32 / 32 |   142 / 175 |       5 / 7 |      0 / 69 |       0 / 7 | 
            nl |      32 / 32 |    86 / 175 |       7 / 7 |     68 / 69 |       0 / 7 | 
            nn |      32 / 32 |   144 / 175 |       7 / 7 |      0 / 69 |       0 / 7 | 
            no |      32 / 32 |   137 / 175 |       0 / 7 |      0 / 69 |       0 / 7 | 
            pl |      32 / 32 |   154 / 175 |       7 / 7 |     67 / 69 |       0 / 7 | 
            pt |      32 / 32 |   168 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
         pt-BR |      32 / 32 |   175 / 175 |       7 / 7 |     69 / 69 |       7 / 7 | 
            ro |      32 / 32 |   155 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            ru |      32 / 32 |   171 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            si |      32 / 32 |   151 / 175 |       7 / 7 |     68 / 69 |       0 / 7 | 
            sk |      32 / 32 |   133 / 175 |       7 / 7 |     67 / 69 |       0 / 7 | 
            sl |      24 / 32 |    57 / 175 |       0 / 7 |      0 / 69 |       0 / 7 | 
            sq |      32 / 32 |   139 / 175 |       0 / 7 |      0 / 69 |       0 / 7 | 
            sr |      24 / 32 |   117 / 175 |       0 / 7 |      0 / 69 |       0 / 7 | 
       sr-Cyrl |      32 / 32 |   171 / 175 |       7 / 7 |     65 / 69 |       0 / 7 | 
            sv |      32 / 32 |   155 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            th |      32 / 32 |   155 / 175 |       7 / 7 |     65 / 69 |       0 / 7 | 
            tr |      32 / 32 |   174 / 175 |       7 / 7 |     69 / 69 |       7 / 7 | 
            uk |      24 / 32 |    57 / 175 |       0 / 7 |      0 / 69 |       0 / 7 | 
            uz |      24 / 32 |    56 / 175 |       0 / 7 |      0 / 69 |       0 / 7 | 
            vi |      32 / 32 |   171 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 
            zh |      32 / 32 |   154 / 175 |       7 / 7 |     68 / 69 |       0 / 7 | 
       zh-Hant |      32 / 32 |   153 / 175 |       7 / 7 |     69 / 69 |       0 / 7 | 

If you’d like to use Ghost in your native language, we need your help!

Directions for how to translate are in the first post of the previous translation mega-thread: Help translate Ghost (beta)

The directions are pretty good! You don’t need to be crazy technical to do this!

Some requests for translators:
0) Please verify that your language actually needs translations before you start. It’s a good idea to look for pull requests for your language, too. (Link). Check for open and closed pull requests, as a recently merged request might just not be released yet. You’re welcome to use this thread to find collaborators and/or announce what you’re working on, so that we don’t duplicate effort…

  1. Please make sure you’re using the right locale code. (Link above.) Your translations /must/ go into the right folder with that locale code. (If you can’t figure yours out, feel free to PM me.) Don’t make something up.
  2. We are looking for translations from people who are fluent (ideally native speakers or close). While it’s possible to produce translations with AI, we think we can do better than that. (I wouldn’t be asking for your help if AI was good enough.)
  3. Please proofread. Seriously.
  4. Please make sure that you are checking the email you’ve used to register at Github. If there are questions, you’ll hear from us as a comment on your translation.
  5. If you need to make changes, please don’t submit an entirely new PR. (This confuses everyone!) Changes you make (following the directions linked above) should automatically show up in the PR, but please post below if you need help.

I am interested in reports of strings that are not getting translated. If you see a string, please copy exactly what it says. Then check the list of all strings here: Ghost/ghost/i18n/locales/context.json at main · TryGhost/Ghost · GitHub . Let me know of any search/email/portal/comments strings that do not appear on that list, and I’ll hunt them down. [Don’t tell me about theme strings – yet.]

Additional languages are welcome! Search is already RTL compatible. Other apps are lagging on RTL capability, but I think we’ll get there soon, so please put your translations in. :). Update: I’ve got a draft of Portal that can do RTL!

FAQ Why do I not see any translations?
Here are some possibilities to check:

  • You didn’t set your language (or have an incorrect locale code) in /ghost > settings > Publication language
  • You didn’t turn on the beta for portal translations. Do that in /ghost > settings (gear icon) > labs.
  • Your language doesn’t have a complete set of translations. Please help fix that!
  • Your language might be complete on Github, but it won’t be updated until the next Ghost release. Those are weekly.

Questions? Let’s hear them!

5 Likes

New languages in the works (possibly a partial list):

  • Urdu → will be available in the next release (5.97)
  • Bengali → will be available in the next release (5.97)
  • Swahili → will be available in the next release (5.97)
  • Hebrew → not yet!

(These are all older submissions with fewer strings, so if anyone wants to jump on and help complete these, that’d be great!)

1 Like

Just had a look at the release and wanted to send a huge thanks to you and everybody else involved. Lots of nice things being shipped :tada:

2 Likes