# Translating Discourse with Transifex

**URL:** https://meta.discourse.org/t/translating-discourse-with-transifex/15552
**Category:** Blog
**Created:** [May 12, 2014, 7:20am UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552 "2014-05-12T07:20:27Z")
**Posts on this page:** 14
**Page:** 1

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [May 12, 2014, 7:20am UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/1 "2014-05-12T07:20:28Z")

</div>

> ⚠ As of July 2020, Discourse has switched from using Transifex to [Crowdin](https://crowdin.com/) as a localization platform. Have a look at [Contribute a translation to Discourse](https://meta.discourse.org/t/contribute-a-translation-to-discourse/14882) for details about using the service.

In Localizing Discourse, I noted that we leveraged the mature, built in localization support in Rails to make it easier to translate Discourse into your preferred language. To better support large scale translations for Discourse, [we’re now using a crowdsourcing translation service, Transifex](https://www.transifex.com/projects/p/discourse-org).

* * *

This topic is for comments on the original blog entry at: [Translating Discourse with Transifex](http://blog.discourse.org/2014/05/translating-discourse-with-transifex/)

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [May 12, 2014, 8:49am UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/2 "2014-05-12T08:49:02Z")

</div>

Courtesy of @lidel, here is [an easy process to get started translating Discourse in Transifex](https://meta.discourse.org/t/polish-translation-english-phrases-instead-unclear-system-messages/19227/5). Reprinted here with his permission.

* * *

My priority is to translate user-facing labels first, so I focus on client (`client.*.yml`) strings:

1. Enable the selected language of your choice at your Discourse instance and start browsing it. We’ll call it by its language identifier, `{LANG}`

2. When you find missing translation such as `[{LANG}.categories.topics]` copy its key name (`categories.topics`)

3. Go to `https://www.transifex.com/projects/p/discourse-org/language/{LANG}` and click `client.en.yml`.

4. A Pop-up will open, click _Translate now_.

5. Translation interface should load and be ready for use.

6. You can just start translating, but usually you don’t know the context, or just do not care that much about super-rare message and want to fix a specific label.

And that is all.

Currently I repeat #6 for every missing label I see in my instance. I already filled most of irritating gaps, so it should be quite usable even at this stage.

If you want to fetch latest translation of `client.en.yml` there is _Download for use_ link in the pop-up mentioned in step #4. Or just wait for upstream Discourse update.

---

<div class="post-metadata">

### Author: ![jbruni](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jbruni/32/106798_2.png) [@jbruni](https://meta.discourse.org/u/jbruni)
#### Post date: [May 12, 2014, 1:53pm UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/3 "2014-05-12T13:53:48Z")

</div>

Thank you. I appreciate the unexpected [gift](http://sacred-economics.com/wp-content/uploads/2012/01/sacred-economics-book-text.pdf) a lot.

I have two boys (4yo and 6yo at the moment). When we arrive from the supermarket and they’re at home, they come near jumping, happy, and asking: “Daddy, what did you brought us?” - Knowing the sweets and pretzels they like, it is easy to make them - and us - happier.

I don’t know what Discourse’s gift will be; the gifting act by itself is praiseworthy. Yet, I feel like the kids, in expectation about what Daddy is bringing. 💝

---

<div class="post-metadata">

### Author: ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)
#### Post date: [May 12, 2014, 2:06pm UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/4 "2014-05-12T14:06:20Z")

</div>

Thanks again to @neil & co for giving us humble translators so much love and care 💗

I noticed the Norwegian translation is lagging behind. I aim to have it up to snuff in time before v1.0.

---

<div class="post-metadata">

### Author: ![jbruni](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jbruni/32/106798_2.png) [@jbruni](https://meta.discourse.org/u/jbruni)
#### Post date: [May 12, 2014, 5:06pm UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/5 "2014-05-12T17:06:19Z")

</div>

I’ve linked to a [book](http://sacred-economics.com/wp-content/uploads/2012/01/sacred-economics-book-text.pdf). I should have included its video teaser - here is it now (watch below).

It is all about **gifts** , **community** and, in my humble opinion, having a good [Civilized Discourse Construction Kit](http://www.discourse.org/about/) available in the greatest quantity of **languages** possible can certainly contribute to the mentioned **transition** :

[![](https://global.discourse-cdn.com/meta/original/4X/1/6/d/16d74f0b3938a5bab98ad710fbd02ad1aaa8c648.jpeg "Sacred Economics with Charles Eisenstein - A Short Film") ](https://www.youtube.com/watch?v=EEZkQv25uEs)

---

<div class="post-metadata">

### Author: ![Sander78](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sander78/32/296615_2.png) [@Sander78](https://meta.discourse.org/u/Sander78)
#### Post date: [May 12, 2014, 6:09pm UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/6 "2014-05-12T18:09:07Z")

</div>

In the end this is a nice way to translate such a large project. After almost a year of comparing commits for the Dutch translation I’m happy to use Transifex.

---

<div class="post-metadata">

### Author: ![paulmorriss](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paulmorriss/32/122568_2.png) [@paulmorriss](https://meta.discourse.org/u/paulmorriss)
#### Post date: [May 13, 2014, 8:06am UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/7 "2014-05-13T08:06:47Z")

</div>

When the original post on localising Discourse came out I was thinking I could be cheeky and submit a file with English (UK) translations. With this interface I could just submit the few words that would be different. So much easier.

---

<div class="post-metadata">

### Author: ![Onaldan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/onaldan/32/122541_2.png) [@Onaldan](https://meta.discourse.org/u/Onaldan)
#### Post date: [May 13, 2014, 8:29am UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/8 "2014-05-13T08:29:56Z")

</div>

Glad to help for the translation of this next decade software 🙂

And thanks to @neil for his work on the automatic integration !

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [May 13, 2014, 8:57am UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/9 "2014-05-13T08:57:18Z")

</div>

> [@paulmorriss](#):
>
> with this interface I could just submit the few words that would be different

And by “different” you mean “incorrect”, right 😉

---

<div class="post-metadata">

### Author: ![paulmorriss](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paulmorriss/32/122568_2.png) [@paulmorriss](https://meta.discourse.org/u/paulmorriss)
#### Post date: [May 13, 2014, 9:08am UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/10 "2014-05-13T09:08:31Z")

</div>

I mean “would now be correct”, but I was being diplomatic. 😃

---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [May 13, 2014, 2:47pm UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/11 "2014-05-13T14:47:09Z")

</div>

And thanks to all the translators who are generously donating their time to Discourse! Looking at the Transifex project right now, I see 19 pending requests from people who want to join translation teams. Amazing!

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [May 29, 2014, 9:46pm UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/12 "2014-05-29T21:46:03Z")

</div>

We have successfully transferred ownership of the Transifex project to Discourse, as well.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [December 15, 2020, 11:23pm UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/13 "2020-12-15T23:23:30Z")

</div>

As of July 2020, Discourse has switched from using Transifex to [Crowdin](https://crowdin.com/) as a localization platform. Have a look at [Contribute a translation to Discourse](https://meta.discourse.org/t/contribute-a-translation-to-discourse/14882) for details about using the service.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [December 15, 2020, 11:23pm UTC](https://meta.discourse.org/t/translating-discourse-with-transifex/15552/14 "2020-12-15T23:23:34Z")

</div>


