farmOS translation (i18n)

Hello farmOS devs! I’m interested in the farmOS and I come from a family of coffee farmers. I presented few videos and they seem to be interested. I see that farmOS doesn’t have modules or info covering coffee specifics, so I am interested to see how I can collaborate and I also want to translate to pt-BR as very few Brazilian workers in this area speak English.

Is anyone already working on i18n for the modules? If so, how can I help? If not, does anybody knows how can I start?

Any information is greatly appreciated. I am an experienced software engineer but never worked with Drupal before.

Thank you ! I am looking forward to collaborating to this great project.


Thanks for starting this post @tmoreira! There has been a lot of interest in translation since the beginning of farmOS. Because farmOS is built on Drupal, there are some good options for doing so already! Now we are in the process of coming up with some standard and recommended workflows around doing it. Also, we need translators!

Let me first point to this conversation on GitHub:

And the documentation page that was produced from that:

That mainly covers how to download and enable translations, but we need more instructions on how to contribute translations. Although a lot of this is already documented in a general way on, which is where our translations would be hosted.

Hello Folks! Im also interested in translating farmOS to Pt_BR: you can count on me @tmoreira

The instructions are to create a git hub issue, right?


1 Like


I’m trying to get farmos in German language, but I’m stumbling over serveral problems.
I have installed the modules (locale and l10_update) as discussed in this github issue
I was then able to download a German translation to my farmos. However a lot of strings are still not translated.
Now I’m trying to figure out how to provide my translations.
There are serveral observations I have made so far:

  1. String seems to be translated, but showing English term in the web interface
    Example: on /log/add?destination=farm the various types of logs are listed - all in English. e.g. “Harvest”
    If I search for “Harvest” on admin/config/regional/translate/translate I get some results. The first one appears to be
    the one I’m looking for. If I click on edit, I can see that it has a German translation.
    Why is this translation not applied? Is this the wrong string? If yes, which one is the correct “Harvest” string?
  2. String appears in English language, but can not be found on
    Example: on /log/add?destination=farm above the log types farmos shows the instruction “Select a type of log to create.”
    Now I’m searching for “Select a type” on
    in order to provide a translation, but I do not get the result for “Select a type of log to create.”
    Strange: on my local farmos translation page admin/config/regional/translate/translate I do find an entry.
  3. Different translations for the same term
    Example: On /farm/assets/plantings the translation for “Plantings” is “Plfanzungen” (it has a typo, but it is more or less the correct term).
    On the same page the button for “Add planting” is translated with “Add Kultur”. “Kultur” is a better translation for “Planting”, but why does
    the German translation contain the English word “Add”? Searching for “Add kultur” on admin/config/regional/translate/translate reveals that
    there is an entry for “Add kultur” that does not have a German translation… very strange.
  4. String cannot be found in translate page
    Example: On farm/logs/all there is a Filter/Sort section. This is written in English as “Filter/Sort”.
    I try to provide a German translation, but if I check admin/config/regional/translate/translate I don’t find the
    right entry.

    Can anybody explain these observaton and provide help? I feel like I’m doing something wrong the translations but I cannot figure out what.
    Thank you!

Thanks for jumping in and giving this a try @PDorfFarm!

I’m not sure what the exact causes are of the specific issues you encountered, but I’m sure with a little digging we can figure it out. It will probably be a process of looking for those strings in the code as well, to understand where and how they are being created. In Drupal, translatable strings must all be wrapped in the t() function. This is what makes them show up on, from what I understand.

We may need some help from someone who has more experience with the Drupal 7 localization process. I would love to see someone step forward to help steward this process in both Drupal 7 and Drupal 8 (which will hopefully be easier, because a lot of these systems are in Drupal 8 core now, and are much more mature).