# farmOS translation (i18n)

**URL:** <https://farmos.discourse.group/t/farmos-translation-i18n/91>\
**Category:** Development\
**Created:** [August 17, 2019, 5:36pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91 "2019-08-17T17:36:33Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![rafaeltcc](https://avatars.discourse-cdn.com/v4/letter/r/3bc359/32.png) [@rafaeltcc](https://farmos.discourse.group/u/rafaeltcc)\
**Post date:** [July 7, 2020, 1:46pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/22 "2020-07-07T13:46:20Z")

</div>

@tmoreira Haveyou done any progress in this? I am willing to help.

Thanks,

Rafael

---

<div class="post-metadata">

**Author:** ![rafaeltcc](https://avatars.discourse-cdn.com/v4/letter/r/3bc359/32.png) [@rafaeltcc](https://farmos.discourse.group/u/rafaeltcc)\
**Post date:** [July 9, 2020, 7:06pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/23 "2020-07-09T19:06:12Z")

</div>

Hi,

I have a question regarding Field Kit App translation, but though it was not worth a new thread. Is it done in the server size, with everything else? Or is there some strings in the client app that needs translation?

I am willing to help in translation to pt\_Br. I think I can do it in a few days. I already took notice of the steps to use drupal translation module, and I am going to try. But if I could have access to the .po file, i could edit it in my text editor and send it back to be merged. @mstenta do you thing this is possible?

Thanks,

Rafael

---

<div class="post-metadata">

**Author:** ![jgaehring](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/jgaehring/32/927_2.png) [@jgaehring](https://farmos.discourse.group/u/jgaehring)\
**Post date:** [July 12, 2020, 7:03pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/24 "2020-07-12T19:03:49Z")

</div>

Hi @rafaeltcc,

Unfortunately, Field Kit is a little more complicated. We have an issue open for it, but haven’t made much traction:

> <https://github.com/farmOS/farmOS-client/issues/214>
>
> As we get closer to making farmOS-client an integral part of farmOS itself, one thing we need to consider is how...

We’ve talked about the possibility of hooking into the server-side translation services, but that could be difficult to set up, since the server is a Drupal application written in PHP, and Field Kit is a Vue app written in JavaScript. Slightly easier setup would be to use a Vue plugin, such as [vue-l18n](http://kazupon.github.io/vue-i18n/), which would be a better fit for a Vue, but those translations would have to be maintained separately from the server. They would also be tightly coupled to the application code, meaning substantial code rewrites and continual maintenance. Even after initial setup, that work wouldn’t be possible without at least minimal JS knowledge.

Also, as mentioned in the GitHub issue, we’re in the process of getting FK ready for 1.0.0 release, along with a new architecture, Field Modules. All this adds complexity, but it’s possible with that work out of the way we could develop some kind of more centralized system which could work with the Drupal translation module, since the Field Modules would be served from the server.

Translations are definitely a priority, but being in the beta phase with Field Kit, we’re still working on a lot of the basic functionality, so there are a lot of competing priorities too. It’s just a matter of time though. I really hope we can take advantage of the many folks in the community who’ve offered to provide translations, when that time comes.

Best,

Jamie

---

<div class="post-metadata">

**Author:** ![rafaeltcc](https://avatars.discourse-cdn.com/v4/letter/r/3bc359/32.png) [@rafaeltcc](https://farmos.discourse.group/u/rafaeltcc)\
**Post date:** [July 14, 2020, 3:07pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/25 "2020-07-14T15:07:07Z")

</div>

HI @jgaehring,

Thanks for your explanation. I don’t know a lot about Drupal, the little experience I have, including in translating addons is with Plone.

I am going to be until the until December living in a fam and I wan’t to implement farmOs here and thus contribute somehow with the project and involve myself with the community.

The Field Kit is very interesting for us, the possibility of logging an event with geolocation coordinates would help a lot. But, translation to portuguese is an obligatory requisite.

As I have a deadline, I even thought about forking the app and hardcoding my translation as an workaround. I don’t know if this would be a transitory possibility, a cloned translated app … What do you think?

Anyway, as soon as you decide wich way to go (vue plugin, or server side i18n), I am ready to help with translation to portuguese and maybe help developing. I don’t have experience with PHP, but I know a little Python. I think I could handle task such as creating tags for i18n in strings in code.

Regarding the FarmOs translation to portuguese in general, I am still waiting some signal of life from @tmoreira and @sonwander to see if they have advanced in this translation, and have anything to share, otherwise I will start translating the .po file from [localize.drupal.org](http://localize.drupal.org).

Thanks,

Rafael

---

<div class="post-metadata">

**Author:** ![sonwander](https://avatars.discourse-cdn.com/v4/letter/s/ec9cab/32.png) [@sonwander](https://farmos.discourse.group/u/sonwander)\
**Post date:** [July 14, 2020, 4:35pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/26 "2020-07-14T16:35:29Z")

</div>

Hello, Rafael! Email me: sonwander@yahoo.com.br  
Or send me a message via WhatsApp 5531975631347

---

<div class="post-metadata">

**Author:** ![jgaehring](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/jgaehring/32/927_2.png) [@jgaehring](https://farmos.discourse.group/u/jgaehring)\
**Post date:** [July 14, 2020, 7:11pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/27 "2020-07-14T19:11:23Z")

</div>

@rafaeltcc, if you’re interested in forking Field Kit and translating it within the codebase, perhaps it would make sense to create a i18n branch that uses the Vue plugin to get started. That might have the best chance of being reintegrated into the app down the road, and would help more folks who might be interested in using your Portuguese translation or providing their own translation in the future.

I’d be happy to help you get started by creating a branch in the official repo to get started. Just let me know if that sounds good to you.

Also cc’ing @walt in case this might be of some interest to him.

---

<div class="post-metadata">

**Author:** ![rafaeltcc](https://avatars.discourse-cdn.com/v4/letter/r/3bc359/32.png) [@rafaeltcc](https://farmos.discourse.group/u/rafaeltcc)\
**Post date:** [July 14, 2020, 8:52pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/28 "2020-07-14T20:52:18Z")

</div>

HI Jamie,

I think that I can do that following the documentation of vue plugin. I will also watch the farmos developing tutorial in video to get a broad view on the architecture and to take note of the editing tools used. Can you create this branch and give me permission?

Thanks,

Rafael

---

<div class="post-metadata">

**Author:** ![jgaehring](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/jgaehring/32/927_2.png) [@jgaehring](https://farmos.discourse.group/u/jgaehring)\
**Post date:** [July 14, 2020, 9:29pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/29 "2020-07-14T21:29:36Z")

</div>

Great! I’ll whip up a branch with the beginnings for the i18n plugin tonight.

I assume you’re on GitHub? If you are, I think the best thing is for you to fork the `farmOS-client` repository, along with that branch (once its ready), and then as you make progress, we can merge your fork back into the official repo from time to time. I also think it would be great if we document this process in a GitHub issue for that repository, as a sort of guide for others who want to contribute translations.

And are you referring to this tutorial on developing farmOS?

> [@Video: Developing farmOS](https://farmos.discourse.group/t/video-developing-farmos/299):
>
> On the farmOS Monthly Call for April 2020, we recorded an overview of some of the ways that you can customize/modify farmOS. This is intended for advanced audiences and developers. This is “Part 1”, which covers a lot of the things that can be customized directly in the farmOS UI, without requiring code or custom module development. The intention is to cover those topics in “Part 2” on the May 2020 Monthly Call. Part 1: [https://youtu.be/V1oTO3QSSWY](https://youtu.be/V1oTO3QSSWY) Update Part 2: [https://youtu.be/iypN8X0Nf9k](https://youtu.be/iypN8X0Nf9k)

Just so you know, that will not be relevant to working in Field Kit, which is a separate codebase that merely connects to farmOS via API. It’s great stuff to dig into, as it gives you a sense of the overall architecture and how farmOS works, but probably won’t be of much help for providing Field Kit translations or working with the Vue plugin; that stuff will all be done in the Field Kit codebase.

I’m happy to do a walk-through of how Field Kit and Vue work. It’s all in JavaScript, but if you’ve had a some Python experience I think you should be able to pick up enough JS for what will be involved here. If you want to do that walk-through, just send me a direct message through the forum and we can coordinate a call.

---

<div class="post-metadata">

**Author:** ![mstenta](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/mstenta/32/4_2.png) [@mstenta](https://farmos.discourse.group/u/mstenta)\
**Post date:** [July 15, 2020, 12:43pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/30 "2020-07-15T12:43:58Z")

</div>

Hi all, just catching up here… I will argue for leveraging Drupal’s translation system. I’m not sure if/how that might relate to Vue’s I18N plugin (eg: perhaps they can work together?) but we absolutely should avoid having to maintain two separate repositories of translations, IMO. The [localize.drupal.org](http://localize.drupal.org) repository is designed to serve this need, and Drupal can already provide translations to JavaScript. I think it will just be a matter of thinking through the best way to link that into Field Kit. I posted a comment to the Field Kit translations issue here describing how Drupal translations in JavaScript work: [https://github.com/farmOS/farmOS-client/issues/214#issuecomment-658740776](https://github.com/farmOS/farmOS-client/issues/214#issuecomment-658740776)

That said, there’s probably no harm in creating a fork @rafaeltcc for your purposes. We should just give thought to how we can get those translations into whatever final form they need to be. It’s a bit tricky, and I would probably suggest doing this in your fork and not in the official repository - at least until we have a better sense of the final solution we’re aiming for.

@jgaehring would it make sense for you to create an i18n branch in your fork, which @rafaeltcc can fork from and continue? That way we keep the official repo clean clean and we’re not implying that it’s an official branch.

---

<div class="post-metadata">

**Author:** ![jgaehring](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/jgaehring/32/927_2.png) [@jgaehring](https://farmos.discourse.group/u/jgaehring)\
**Post date:** [July 15, 2020, 12:58pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/31 "2020-07-15T12:58:21Z")

</div>

> [@mstenta](#):
>
> @jgaehring would it make sense for you to create an i18n branch in your fork, which @rafaeltcc can fork from and continue? That way we keep the official repo clean clean and we’re not implying that it’s an official branch.

That sounds good to me! I got caught up on other work so I’ve not been able to do this yet anyways. So yea, I’ll do it that way.

> [@mstenta](#):
>
> I’m not sure if/how that might relate to Vue’s I18N plugin (eg: perhaps they can work together?)

It seems very possible. I need to look over the Drupal docs to make sure I understand that, but I’ll follow up on GH on how I think it might happen.

> [@mstenta](#):
>
> Drupal can already provide translations to JavaScript

Right, but for Field Kit to use them, it needs to be able to send them over the wire. Can Drupal/restws do that?

---

<div class="post-metadata">

**Author:** ![mstenta](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/mstenta/32/4_2.png) [@mstenta](https://farmos.discourse.group/u/mstenta)\
**Post date:** [July 15, 2020, 1:05pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/32 "2020-07-15T13:05:32Z")

</div>

> [@jgaehring](#):
>
> Right, but for Field Kit to use them, it needs to be able to send them over the wire. Can Drupal/restws do that?

Yea this is the big challenge, specifically with regard to the way we are deploying Field Kit right now, as a separate app on [https://farmOS.app](https://farmOS.app) and packaged into iOS/Android apps.

However, if we were serving Field Kit directly from farmOS (eg: [https://myfarm.farmos.net/app](https://myfarm.farmos.net/app)) then this would be a LOT easier. We would then have the ability to call `Drupal.t()` directly from Field Kit’s code.

I’ll add these ideas to the Field Kit issue too - better to focus the technical discussion/considerations over there, I agree.

---

<div class="post-metadata">

**Author:** ![rafaeltcc](https://avatars.discourse-cdn.com/v4/letter/r/3bc359/32.png) [@rafaeltcc](https://farmos.discourse.group/u/rafaeltcc)\
**Post date:** [July 16, 2020, 3:27pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/33 "2020-07-16T15:27:42Z")

</div>

> [@jgaehring](#):
>
> > [@mstenta](#):
> >
> > @jgaehring would it make sense for you to create an i18n branch in your fork, which @rafaeltcc can fork from and continue? That way we keep the official repo clean clean and we’re not implying that it’s an official branch.
> 
> That sounds good to me! I got caught up on other work so I’ve not been able to do this yet anyways. So yea, I’ll do it that way.

To me too.

---

<div class="post-metadata">

**Author:** ![jgaehring](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/jgaehring/32/927_2.png) [@jgaehring](https://farmos.discourse.group/u/jgaehring)\
**Post date:** [July 16, 2020, 8:39pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/34 "2020-07-16T20:39:05Z")

</div>

Sorry, @rafaeltcc, I got tied up in some other issues and am just looking at our options again now. It’s actually made think how best to embark on this project…

Right now we’re in the process of rolling out a few big releases and lots of stuff is getting merged and updated. I expect this all to settle down within a week or two, which would probably be the best time to start making changes to any of the markup, but I have some thoughts on some preliminary steps we can take in the mean time.

This discussion is going to get more technical and off-topic for this forum thread, so I’d like to take the conversation over to this GitHub issue, if you don’t mind: [https://github.com/farmOS/farmOS-client/issues/214](https://github.com/farmOS/farmOS-client/issues/214)

@mstenta and I have already started a conversation there. If you have a moment, glance over that discussion and leave a comment. I’m posting some more comments there shortly, with a more detailed plan of action. Then we can figure out where to go from there.

---

<div class="post-metadata">

**Author:** ![ruirodrigues](https://avatars.discourse-cdn.com/v4/letter/r/e79b87/32.png) [@ruirodrigues](https://farmos.discourse.group/u/ruirodrigues)\
**Post date:** [July 27, 2020, 1:29pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/35 "2020-07-27T13:29:25Z")

</div>

I could also assist on the translation, if needed be. From Luanda, Angola

---

<div class="post-metadata">

**Author:** ![jgaehring](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/jgaehring/32/927_2.png) [@jgaehring](https://farmos.discourse.group/u/jgaehring)\
**Post date:** [July 27, 2020, 8:25pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/36 "2020-07-27T20:25:46Z")

</div>

Thanks @ruirodrigues! So you’d be interested in helping with the Portuguese translation? Are you more interested in helping with farmOS itself, or the solution we’re working on in Field Kit?

---

<div class="post-metadata">

**Author:** ![ruirodrigues](https://avatars.discourse-cdn.com/v4/letter/r/e79b87/32.png) [@ruirodrigues](https://farmos.discourse.group/u/ruirodrigues)\
**Post date:** [July 28, 2020, 5:36pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/37 "2020-07-28T17:36:05Z")

</div>

I am available for all what concerns translation. I’m in the agriculture field and willingly to help where I find to be able. Whatever the solution is ok with me. My knowledge about software development is null…

Jamie Gaehring via farmOS \<[farm\_os@discoursemail.com](mailto:farm_os@discoursemail.com)\> escreveu no dia segunda, 27/07/2020 à(s) 21:35:

---

<div class="post-metadata">

**Author:** ![jgaehring](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/jgaehring/32/927_2.png) [@jgaehring](https://farmos.discourse.group/u/jgaehring)\
**Post date:** [July 30, 2020, 2:26pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/38 "2020-07-30T14:26:20Z")

</div>

Glad to hear it!

If you’re interested in contributing to Field Kit translations, just be forewarned, it’s somewhat uncharted territory, and will require at least looking through the code to find strings that need translating. It shouldn’t be too hard, and I’m happy to walk you through it, but just so you know. There are more details [on GitHub](https://github.com/farmOS/farmOS-client/issues/214). I think we’d be ready to start working on that possibly as soon as next week, if @rafaeltcc is still interested in working on it.

Otherwise, please feel free to work on translations for farmOS. Eventually the plan is to integrate those translations with Field Kit, too, so it’s a great place to contribute.

---

<div class="post-metadata">

**Author:** ![rafaeltcc](https://avatars.discourse-cdn.com/v4/letter/r/3bc359/32.png) [@rafaeltcc](https://farmos.discourse.group/u/rafaeltcc)\
**Post date:** [July 30, 2020, 6:39pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/39 "2020-07-30T18:39:45Z")

</div>

I am organizing myself to contribute 1 night per week to farmOs, so I can contribute with FieldKit. Let´s schedule a day so you can walkthrough me?

I have already prepared my workspace to develop farmOs with phpstorm. But FieldKit is javascript, correct? Do I need to emulate a android environment to debug it in my laptop? Or is there a faster way to start coding?

---

<div class="post-metadata">

**Author:** ![andifi](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/andifi/32/242_2.png) [@andifi](https://farmos.discourse.group/u/andifi)\
**Post date:** [August 2, 2020, 11:24am UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/40 "2020-08-02T11:24:25Z")

</div>

Sorry for being really late to the discussion..

> [@mstenta](#):
>
> Hi all, just catching up here… I will argue for leveraging Drupal’s translation system. I’m not sure if/how that might relate to Vue’s I18N plugin (eg: perhaps they can work together?) but we absolutely should avoid having to maintain two separate repositories of translations, IMO. The [localize.drupal.org](http://localize.drupal.org) repository is designed to serve this need, and Drupal can already provide translations to JavaScript. I think it will just be a matter of thinking through the best way to link that into Field Kit. I posted a comment to the Field Kit translations issue here describing how Drupal translations in JavaScript work: [Pull translations from the farmOS server · Issue #214 · farmOS/field-kit · GitHub](https://github.com/farmOS/farmOS-client/issues/214#issuecomment-658740776)

Also dont forget that it can be really confusing if FarmOS uses a different wording then the FieldKit App (like at the moment). At some moments i opened FarmOS and the App side by side to understand thats the meaning of that Category/Unit.  
So one source (even if its not perfect) would be better.

---

<div class="post-metadata">

**Author:** ![jgaehring](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/jgaehring/32/927_2.png) [@jgaehring](https://farmos.discourse.group/u/jgaehring)\
**Post date:** [August 2, 2020, 4:06pm UTC](https://farmos.discourse.group/t/farmos-translation-i18n/91/41 "2020-08-02T16:06:24Z")

</div>

> [@andifi](#):
>
> Also dont forget that it can be really confusing if FarmOS uses a different wording then the FieldKit App (like at the moment).

Thanks, @andifi, I’d love to know where there are discrepancies between farmOS and Field Kit. I’m not sure if you’re inferring that Categories and Units are the same; they are distinct, but perhaps you meant something else?

[Previous page](https://farmos.discourse.group/t/farmos-translation-i18n/91.md?page=1)

[Next page](https://farmos.discourse.group/t/farmos-translation-i18n/91.md?page=3)
