Contribute by Translating Volumio to your Language

We recently added multilanguage support to Volumio2, so if you want to see it in your language, every contribution is welcome!

Here’s a tutorial on how you can do that

Introduction

Translations are handled in 3 files:

So, in order to have a new translation available, we must edit those 3 files.

[b]How to:

IF YOU HAVE GIT KNOWLEDGE[/b]

  • Clone those 2 git repos:
    Backend: github.com/volumio/Volumio2 (it’s now in branch dev, but we’ll merge it to master soon)
    Frontend: github.com/volumio/Volumio2-UI (it’s now in branch dev, but we’ll merge it to master soon)

  • Copy the frontend file in /src/app/i18n/locale-en.json to /src/app/i18n/locale-XX.json , where XX is the lang code for your language (it for italian, de for deutsch etc )

  • Translate it by subsituting the english text with your translation

  • Do the same for the backend, the file will be app/i18n/strings_XX.json

  • Add your language to app/plugins/miscellanea/appearance/languages.json , where code is the code you placed instead of XX and name is your language name.

  • Copy all 3 files on your volumio system in the right location ,and restart it (killall node)

  • If everything looks fine, and your translations are appropriate. Send a pull request to the 2 repos involved

IF YOU DON’T HAVE GIT KNOWLEDGE

  • Download those 2 files:

raw.githubusercontent.com/volum … gs_en.json
github.com/volumio/Volumio2-UI/ … le-en.json

  • Edit the name of strings_en.json to strings_XX.json where XX is the lang code for your language (it for italian, de for deutsch etc )
  • Translate it by subsituting the english text with your translation
  • Do the same for the file locale-en.json
  • Attach those 2 files in this thread

TO TRY THE NEW TRANSLATION:

Edit accordingly the files on both the backend and the frontend. Then

BACKEND:

killall node

FRONTEND

Follow the instructions on how to develop the UI from its README
github.com/volumio/Volumio2-UI

Thanks to everyone that will be contributing!

Thanks to:
Balbuze - French translation
Dennis Hagens - Dutch Translation
ycat3 - Japanese Translation
ChristianFink - German Translation
zbeegniev - Polish Translation
tomatpasser - Danish Translation
FishTest - Chinese translation
Magnus kjez - Swedish translation

I can and will do the translation for Turkish [emoji1303]

But one thing makes me wonder. Lets say “FACTORY_RESET”:“Factory Reset”,
“FABRİKA_AYARLARINA_SIFIRLAMA”:“Fabrika Ayarlarına Sıfırlama”

Wouldn’t it be longer than it must and cause errors?

Ps: More words are often needed to tell the same thing in Turkish.
Ps2: There is no suitable translation for some words and sentences as they need an action after them. Such as ""the system “WILL” “” or IN. It is something with the structure of my language IMO.

Sent from my iPhone using Tapatalk

Hi Mair,
you don’t have to translate first part
“FACTORY_RESET”:“Factory Reset”,
would become
“FACTORY_RESET”:“Fabrika Ayarlarına Sıfırlama”

I undertand your problem of translation. If it’s too long it will appears on two lines or overlap the field…
But do your best, as you think it will be understandable for you. I won’t tell you if it’s well translated as I can’t speak turkish :wink:

Well I had translated Xduoo X3 (mp3 player) translation into Turkish and “How would be good in Turkish” was always in my mind. The same will apply for this translation as well. I am going to do the translation into the words I must see for this software and fields of use.

Thanks for providing such an opportunity to serve :slight_smile:

Sent from my iPhone using Tapatalk

Just created a pull request for Dutch translation. Hope I have created the pull request correctly.

Dear Woei, thank you very much for your translation!

I think I will add credits for translations, is that ok for you?

@Mair, I perfectly understand the difficulty of translating to other languages, and especially to the ones that have longer “representation” of the meaning we use in Volumio.

I think the general rule of thumb would be: adjusting and compromising the literal meaning with the required lenght of the space we have.
For example, in the side menu, Playback settings would have been translated in Italian to “Impostazioni di Riproduzione”, which would have moved that to two lines. I thought that “Riproduzione” would just be fine and stick to one line.
So I would suggest to compromise while just keeping it as short as possible. Remember that where possible, we have lines of text explaining what a particular settings does, and there’s no restriction of space there. So you can use them to better carry the meaning.

What do you think?

Hi michelangelo,

I added Japanese language support in GIT Hub.

languages.json
locale-ja.json
strings-ja.json

Cheers !!

Hi ycat3,
thanks! But I can’t see them… Could you send a Pull request?

Hi,

I attach zip file included those 3 files.
Documents.tar.gz (3.96 KB)

Thank you very much!! Added…

PS: I would suggest that the displayed choice would be the japanese word for japanese, instead of having “japanese”.
What would it be?

I call dibs on Polish language! :slight_smile:

Hi michelangelo,
Japanese word has double byte character.
This might cause some bad effect to Volumio2 appearance.
It seems Volumio2 OS does not have proper locale settings.
I have experienced some strange appearance when I use the languages.json file included Japanese word.
I attach the screen shots to show the problem.
Volumio2-RC2-3-firefox.PNG.jpg
Volumio2-RC2-2-chrome.PNG
Volumio2-RC2-2-firefox.PNG

Dear ycat3, in fact, my guide was missing one file, and I manually added today. So I confirm that everything is working as expected.

See:

PS
Anyway I attach the languages.json file translated to Japanese word as your reference.
languages.json.tar.gz (211 Bytes)

Hi.

I hope I can support your great work by creating the german languagefiles.

Keep it up

Christian
volumio_languages_de.tar.gz (3.71 KB)

Great work Christian.

I know German isn’t really known for its short words and phrases, “Rindfleischetikettierungsueberwachungsaufgabenuebertragungsgesetz” comes to mind :stuck_out_tongue:, but can any of those be shortened slightly? There are some really long strings in there that are going to make the UI look a bit weird and will overflow to new lines a lot.

Like Michelangelo said in places you may have to compromise and shorten things so it works, rather than make perfect grammatical sense.

I started with Spanish (from Spain). Is there a way to try the translations before releasing it? I would like to see if some of the text overflows or breaks the looks of the buttons. I was going to say that Spanish is another of those takes-long-to-say-something languages, but I think that all languages are compared to English.

Cheers

Maybe, if i can figure one thing out then i’ll post some instructions.

In the mean time if you use chrome you can open the developer console (F12) and edit the text inline and see what it looks like. That may be the easiest way for now.

I added the instructions on how to test languages in the first post of this thread… And I’m also looking on how to make it simpler…

As I am not a professional translator, I’ve been searching here and there for good translations. I am a native Spanish speaker, but I’ve been using software in English for so long that sometimes is difficult for me to translate some words sometimes (“red inalámbrica” sounds so awkward compared to wireless network to me now XD). Anyhoo, I found this:

getlocalization.com

Rocket Player uses it to crowdsource their translations. I’m sure there is more out there, so maybe using one of these platforms could be a good idea. Of course, it’s a lot of work to set up, so I’m more than happy to go through the “chore” of checking after new versions are released, but in a middle term, when efforts are not required in more important areas, it could be an option. It is not only useful as a list of “not translated yet words”, but as a discussion tool, if the translation for a particular word is not the best.