# LEARN A NEW SKILL: contribute to open source software by translating the app Power By The Hour

**URL:** <https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903>\
**Category:** Apps\
**Tags:** app, homey-pro\
**Created:** [July 12, 2022, 2:25pm UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903 "2022-07-12T14:25:41Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [July 12, 2022, 2:25pm UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/1 "2022-07-12T14:25:41Z")

</div>

The app Power By The Hour has become very popular over the last year. Maybe due to the energy (pricing) crisis. I would never had thought that this app, which was born out of my own frustration and originally created as quick and dirty as possible, would have thousands of users now.

> **[Power by the Hour](https://homey.app/en-gb/app/com.gruijter.powerhour/Power-by-the-Hour/)**
>
> Summarize the energy/water usage or (solar) production per hour, day, month and year. Use dynamic tariffs.

Anyhow, I think it is time to have the app translated to all possible Homey languages.

Danish (da): **Done by @Yestond**  
German (de): **Done by @DirkG**  
English (en): **Done**  
Spanish (es): Volunteer needed!  
French (fr): **Done by @sebyldino**  
Italian (it): **Done by @Alessandro_Rossi**  
Dutch (nl): **Done**  
Norwegian (no): **Done by @Kai_Engvik**  
Polish (pl): **In the works by @Jacek**  
Russian (ru): Volunteer needed!  
Swedish (sv): **Done by @Teddy**

So if you want to immortalize your name as contributor to this app let me know as a reply to this topic.

Basically anyone that can translate and has basic PC skills can do the translation. You definitely do not need to be a programmer or tech wizzard! I created a how-to below. Just follow that and you will have learnt how to contribute to a an open source software development. You can use your newly acquired digital skill on your resume 😉.

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [July 12, 2022, 2:25pm UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/2 "2022-07-12T14:25:50Z")

</div>

How to translate:

1. create a github account if you don’t already have one: [https://github.com](https://github.com)

2. Open the PBTH source page: [GitHub - gruijter/com.gruijter.powerhour: Homey app to summarize power meters per hour, day and month](https://github.com/gruijter/com.gruijter.powerhour)

3. Click on ‘create fork’. This will make a copy of all the source code in your own account  

4. go to your own copy (fork): [https://github.com/YOURNAME/com.gruijter.powerhour](https://github.com/YOURNAME/com.gruijter.powerhour)  
4a) If it has been a while since you created the fork, or you are redoing translations, make sure you have the latest copy of the master. There should be `0 commits behind gruijter:master`  

5. when your own copy has opened in Github press the decimal point . on your keyboard. This will open an online editor.  

6. right-click on the file `README.txt` and copy it in the same place. Rename it to `README.xx.txt` where xx is the 2-letter language abbreviation (e.g. `no` for Norwegian)

7. edit the content and replace it with the translated text. Note there is no need to click on a save button.

8. open the folder `.homeycompose` and edit the file `app.json`. **IMPORTANT: MAKE SURE TO EDIT FROM THE `.homeycompose` FOLDER**. The file `app.json` also exists in the root folder, but besides `readme.xx.txt` all language files MUST be edited from the `.homecompose` folder or from a `xxx.compose.json` file!  

9. in `app.json` copy the **full** line with English description, including the comma on the end, and insert it **before** the “nl” line:  
`"en": "Summarize the energy/water usage or (solar) production per hour, day, month and year. Use dynamic tariffs.",`  
Now replace “en” with the new language code, and replace the text with the translated version. **IMPORTANT: YOU SHOULD NOT SEE RED CURLY LINES**. If you do something is wrong (like a missing or misplaced comma)

10. open the `.homeycompose\capabilities` folder. Open each file and repeat step 9) for the title in each file.

11. open the `.homeycompose\flows` folder. Open each individual file and repeat step 9) for all places where there is an `"en"` text line.

12. open the `drivers` folder and find the file `driver.compose.json` in each of the drivers. There are 4 drivers, so step 9) has to be performed for all 4 files.

13. Check that you have translated all these files:

- `README.xx.txt` in the root folder
- `app.json` in folder `.homeycompose`
- all files in folder `.homeycompose\capabilities`
- all files in folder `.homeycompose\flows`
- all files named `driver.compose.json` under the folder `driver`

1. you can add your own name in the `"translators"` section of `.homeycompose\app.json`. Copy the **full** `GB` section **before** the `NL` section: ` { "name": "🇬🇧 Robin" },`  
off course replacing `Robin` with your own name, thereby making yourself immortal in PBTH 🥳

2. Check in the bottom left that the error count is at 0. If not: fix the problems 🙂  
 ![2022-07-12 (3)](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/c/8/c86d17a181c1ea7f42e01d4f03591edcbb309df3.jpeg)

3. Now commit (save) the changes by clicking on the source-control icon. Enter a description, e.g. `Norwegian translation` and click on the commit-and-push checkmark.  
 ![2022-07-12 (4)](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/a/fa52c67f539959ddd51899c790acc4aa9ff10eb9.jpeg)

4. Finally make sure that the changes you made in your own copy (fork) gets uploaded to the main code. Open the github page ` https://github.com/YOURNAME/com.gruijter.powerhour` (back in browser) and click on `Contribute - Open Pull Request`  
 ![2022-07-12 (5)](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/0/207b6039ac80638999da1a018553da856c8ed9b0.jpeg)  
Then in the next screen click on `Create pull request` and follow the instructions.  

And that is about it. I will get a message that you have created the translation, and I will integrate it in the next version of PBTH.

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [July 13, 2022, 6:12am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/3 "2022-07-13T06:12:49Z")

</div>

Hi @Gruijter, I could do the German translation.

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [July 13, 2022, 6:32am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/4 "2022-07-13T06:32:10Z")

</div>

Super! Let me know if the howto I created is incorrect or incomplete.

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [July 13, 2022, 7:55am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/5 "2022-07-13T07:55:52Z")

</div>

Oops, just realized I forgot to mention some files that need a lot of translation. `driver.compose.json`. This file can be found under the `/drivers` folder. PBTH has 4 drivers, so there are 4 files to be translated.

I’ll update the howto.

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [July 14, 2022, 8:29am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/6 "2022-07-14T08:29:34Z")

</div>

Does anyone know a German translation for the word “Summarizer”?

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [July 14, 2022, 8:52am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/7 "2022-07-14T08:52:53Z")

</div>

Zusammenfasser ?

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [July 14, 2022, 9:13am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/8 "2022-07-14T09:13:39Z")

</div>

> [@Gruijter](#):
>
> Zusammenfasser ?

Hm, I don’t like it that much.  
If I don’t get a word suggested, I’ll leave it at “Summarizer”.

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [July 14, 2022, 9:22am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/9 "2022-07-14T09:22:35Z")

</div>

Another question to all PBTH user.  
What does “Bidding zone” resp. “Biedzone” mean?

Info: I don’t use PBTH myself yet, so it’s sometimes a bit difficult to understand some terms.

---

<div class="post-metadata">

**Author:** ![Teddy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/teddy/32/13818_2.png) [@Teddy](https://community.homey.app/u/Teddy)\
**Post date:** [July 14, 2022, 9:28am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/10 "2022-07-14T09:28:06Z")

</div>

I can do the swedish translation for you. Have a couple under my belt already so one more app aint a huge problem 😉

---

<div class="post-metadata">

**Author:** ![Alessandro\_Rossi](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/alessandro_rossi/32/37432_2.png) [@Alessandro\_Rossi](https://community.homey.app/u/Alessandro_Rossi)\
**Post date:** [July 14, 2022, 10:01am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/11 "2022-07-14T10:01:12Z")

</div>

I can help with Italian translation. 🇮🇹  
Is it necessary to have programming skills, or is it enough to be an “average user” with a Github account? 😅

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [July 14, 2022, 10:06am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/12 "2022-07-14T10:06:04Z")

</div>

> [@DirkG](#):
>
> Bidding zone

It is related to the market where energy is sold. Usually each country has one or a few bidding zones.

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [July 14, 2022, 10:06am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/13 "2022-07-14T10:06:48Z")

</div>

> [@Teddy](#):
>
> I can do the swedish translation for you

Super! I will add you to the list Ted!

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [July 14, 2022, 10:24am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/14 "2022-07-14T10:24:54Z")

</div>

> [@Alessandro\_Rossi](#):
>
> Is it necessary to have programming skills,

No, see the first post. You only need basic PC skills. Just follow the how to.

Thx for translating Alessandro! I’ll put you on the list as well.

---

<div class="post-metadata">

**Author:** ![Teddy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/teddy/32/13818_2.png) [@Teddy](https://community.homey.app/u/Teddy)\
**Post date:** [July 14, 2022, 11:14am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/15 "2022-07-14T11:14:08Z")

</div>

@Gruijter : Have a question for you … do you want us to set the unit for the money capability translation in my case to Kr = Swedish kronor … I know you have the option in the settings for setting it individually … But do you want us to put in the default value for the country?

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [July 14, 2022, 11:23am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/16 "2022-07-14T11:23:08Z")

</div>

No, just leave it empty. Im removing the euro sign also.

---

<div class="post-metadata">

**Author:** ![Teddy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/teddy/32/13818_2.png) [@Teddy](https://community.homey.app/u/Teddy)\
**Post date:** [July 14, 2022, 11:26am UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/17 "2022-07-14T11:26:40Z")

</div>

ok, Will do! Would have saved many swedes to change it to Kr for every device. But anyway … ill leave it be for now.

---

<div class="post-metadata">

**Author:** ![Teddy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/teddy/32/13818_2.png) [@Teddy](https://community.homey.app/u/Teddy)\
**Post date:** [July 14, 2022, 2:07pm UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/18 "2022-07-14T14:07:20Z")

</div>

You have a pull request on Github now Robin for the Swedish translation 😉

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [July 14, 2022, 5:28pm UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/19 "2022-07-14T17:28:04Z")

</div>

Nice work @Teddy and @DirkG . The Swedish and German translations are now merged in the main code. I will wait for the others a bit to finish too before releasing it in the app store.

---

<div class="post-metadata">

**Author:** ![Teddy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/teddy/32/13818_2.png) [@Teddy](https://community.homey.app/u/Teddy)\
**Post date:** [July 14, 2022, 5:36pm UTC](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903/20 "2022-07-14T17:36:59Z")

</div>

Going to go over the translation one more time tomorrow for swedish. Just incase i had a brainfart going when i was translating it 😉 Cant hurt with a second go over. It should be ok but i am a litle paranoid that someone will some later on and tell me… Emm Ted how the … did you think there.

[Next page](https://community.homey.app/t/learn-a-new-skill-contribute-to-open-source-software-by-translating-the-app-power-by-the-hour/65903.md?page=2)
