Translation of Products, Units, etc

Hello everyone,

I just started testing invoice plane and so far I really like it.
There is just one thing I can’t figure out right now. I am sure there must be some way to enter stuff like product names, descriptions and so on in multiple langauges, right? I found the language files and renamed some stuff there in the custom file, but how can I do it for stuff that is entered through the web interface?

Thanks
Sebastian

Hi Sebastian,

Let’s say you have a product, let’s call them “meatballs”. You enter it in the ui and everything is great.
In InvoicePlane, there is no way to translate what’s in the database to another language

The only thing that’s translated is menu options, things like that (you already found the translation files).

All translations are done on crowdin.com
Go ahead and make your changes there and we’ll bring them in with next release

Thanks for the reply. Okay so that’s just not possible at the moment? It would be great if you could enter these things in multiple languages, I don’t want it to be auto translated anyway. Only workaround I can think about would be to add everything multiple times, once per language, but that’s not very practical if things like prices have to be updated.

The changes I made are special to my application, so it wouldn’t make sense to put them in a release.

It’s going to be difficult, but here’s the idea of multi-language (sorry for the duplicate text):

  1. create your ‘translations’ table
  2. save your product
  3. when saving your product, save the translations
    The editing of a product can have an extra tab: translations
    You should be able to enter the translations for that product
    When saving, save those translations for that product as well.
    When you look in the translations table you would have:
    product_id, language (probably string), translation

Hope it makes sense.

Maybe you can help us instead by making a nice, dark theme? :slight_smile:

In Laravel, someone made a package with migration and a model. Here’s the model class: https://github.com/spatie/laravel-translation-loader/blob/main/src/LanguageLine.php hope you’ll get what they did there.just gove your own spin on it, of course.

The reason the language is a string is because on the clients page (or the settings) it’s a string as well.

It reads available languages frkm the filesystem and stores it as a string in the database

Thank you for the help! I will look into it, but I don’t have very much time for it right now. We are setting up a wood and machine shop and that’s why I was looking for an invoicing software.
But I do have some experience with php, so I will try to implement it myself eventually, I just don’t know if I can do it now as I have to put lots of work into the shop primarily.
If I get something working, I will try to put it on github for you to consider putting it in the release. I hope my code will be nice enough for you, I am not the very best at coding, just enough to get stuff working most of the time. And I don’t have much experience with git, how all the versioning and sharing stuff works, but I’ll figure it out if I get that far.

1 Like

Good luck with the shop!
Don’t worry about sharing in the open source project. It’s open source, it’s supposed to be fun!

This is why the slack exists: to help out with quick steps

Product description when you create products/services, is text area, where you can also write in several languages.

When you populate Quote and later Invoice all this is seen. So you can solve your problem by entering bilingual description for product in this area.