Localization - Using 2 languages


Years ago I translated InvoiceNinja v4 to Slovenian and upload /sl/texts.php to your system (I forgot how it was exactly). I don’t know if someone else has been modyfing it since then, but if I do it again, I might overwrite someone else’s work. That would not be very good for them as the next update will overwrite their translations that have been in use by default installation. At the same time, if I modify my /sl/texts next update wll overwrite it.

I have 2 languages
Language 1 - English - Foreign clients quotes/invoices - GUI Language
Language 2 - Slovenian - Domestic clients quotes/invoices

So I would like to modify only Language 2. I suppose I can not force the Localization/Custom Labels for one specific Language?

Thank you

The solution I might blindly suggest for is the users to manually create texts_custom.php with only changes they would like to have.


$LANG = array(
    'organization' => 'Organizacija',
    'name' => 'Ime',

return $LANG;


Then your code first looks in texts_custom.php and if nothing is found proceed to texts.php. Using this method new updates will never overwrite the file.



In v5 you can now add custom values in the app on Settings > Localization > Custom Labels

Thank you Hillel.

Yes I can see that, but how to force exact language the translation is for? I have 2 languages that I use simultaneously.

Also how to set Custom Labels language independent?


I think you would need to use two separate companies

Thank you for your reply, Hillel.

For the moment I solved it by adding 2 languages in the same line. It’s not nice, but it works. :slight_smile:

However, my suggested solution would easily solve this and all further issues regarding multi-language invoices of InvoiceNinja use.

Thank you

I’m not sure I understand the benefit of the text file versus using the UI to define them?

UI is always better, but I can not use UI to specify Custom labels for different languages. Or I’m missing something?

As I said, I use 2 languages for Invoices. English for all foreign clients, Slovenian for domestic clients.

For Example.
I have Custom Label called Date of completed service

For English is OK, but when I want to make an invoice for domestic users (in my case Slovenian language). How to translate it only for Slovenian language?

I hope this makes sense.


I see, understood. This isn’t currently supported.