I open this thread to get information about translations in Frappe/ERPNext.
It seems that the translations aren’t up to date, the contribution process isn’t very clear and there are issues with texts that arent translatable or even aren’t meant to be so.
There is almost no response from the posts related to translations and language, does the non-English speaking community use it translated?
This makes that as Dokos, we see the option to fork it and forcibly translate it to our language, without being able to contribute to all the other languages.
My questions are:
What is the process to update the .csv files? The are many new DocTypes/field names not available in the CSV files.
An issue with Global Search
This is a big problem, the global search is practically unusable for users that use the system in other language than English.
Hello everyone! Sorry, I never tag to follow the rules, but in this case I have them as references in several conversations of different nationalities, however, we find it hard to believe that they do not have problems with their respective languages.
To say one example, we can’t believe that they are using the search bar as we see them, and no one has expressed themselves in the different tickets and posts that we have made.
It is an old issue and we feel a little lonely always trying with our team to get some response from the Frappe team, just to understand how we can collaborate better and not have to make a fork on the language.
We are on the same page!
Early (± 2/3 years ago) we did a complex redesign of the translation system, for better support multi-lingual!
Get it merged was a pain, and when finally merged, only 30% of the work we did get accepted!
After years we still fighting language issues.
On version-13 the csv files are a mess for Portuguese Language, somehow they mixed German into pt-BR file, and theres other asiatic languages that appear from time to time, in the CSV.
About the global search, we didnt use it often, but I recognize that there’s also issues there!
We also tried to get paid support from fixes we consider are important (like Manufacturing), and we are managing a fork right now, because it’s out of the maintainers interest!
Also, I recently decided to shut-up my mouth here about any issue, due several mis-understandings, and the kind of stressfull and angry answers we receive from an maintainer!
Hi @federico_calvo!
Well, my knowledge on coding it’s minimum, so many times I had to find a solution to go around and many probably weren’t so elegant, after having to accept that I’ll get no answer from anyone. Like having to hide “Quoted Item Comparison” report.
And like you reported, also found that using “search bar” works smoother if the language user is english, but like Max said, very few users use it. To translate -what can be translated- I only use xlsx file to avoid any complication using csv.
We are just completing an instance that will be used 100% in German. The system is very reduced with only a handful of DocType. All translations have been checked manually and stored in the Translation DocType. These translations always have the highest priority and will overwrite everything else. Untranslatable strings have been made translatable and contributed to frappe / erpnext.
hi @max_morais_dmm! we are in a situation almost identical to yours. Anyway, we are talking about translations, and it makes me very upset not only that nobody issues the corresponding issues, but also that they don’t even add to the multiple calls for attention that at least we do.
hi @Francisco_Buendia, thanks for your answer, obviously we are looking for options on our own, and you will never see us posting a “pleases help” post without first going through all the source code.
The particularity of this situation as I mentioned to max, is that there should be hundreds or thousands of people affected, that we don’t see it reflected when we make the issues on this topic (multiple opportunities).
@rmeyer it is impossible to be using it 100% in German, and we are not talking about doctypes, a lot of Js is affecting the translations.
You should also reread the post, as we are not beginners in the forum, there is technical detail in our multiple interventions on the subject, and we have dug into the source code ad nauseam about this.
Of course a fork is the worst of the options, but in our case it is like the last chance to understand how they are managed (just to be able to add up).
The links you are giving me are the ones that everyone has access to, something that is not working, or as we detail so much the process is not well explained, nobody answers questions about the topic (much less frappe) and this makes that we can not contribute practically corrections (I repeat code, not how to translate a word), before someone tells us something like “the PR are the ones who speak”.
I deploy ERPNext in french, and I’ve add to deal with a lot’s of custom translation. My ERPNext users are gentle and accept the fact that some translation are not done, but it’s tricky each time in prospect demo.
We use lot’s of Doctype from lead/opportunity to selling, buying and manufacturing.
I also contributed to translation tools. Some of my translation suggestion where just not integrated, and stay in suggest during many months.
Even in ERPNext (version-12) the feature “contribute” do not work anymore.
There is a new feature to deal with context in translation, but i didn’t understand how it works, before in frappe 12, the core csv translation file have a first column look like “context like”, it’s no more the case in 13, but the “context translation feature” is only in 13, according the doc, I didn’t understand. Here the PR https://github.com/frappe/frappe/pull/9636
An example :
translation key/word “Rate” in french can be a rate (%) or a price/amount (€), and it’s not the same meaning, it depend of the doctype.
Fun fact (or not), on login page the word “show” to show the password is translated in french as “Spectable” => “a show” (like tv show yes…). I can make french user have fun or just fly away from Frappe/ERPNext. I suggested the fix in translation tools 7 month ago, still waiting.
Worst is in develop where if translation is missing the workspace and link to doctype just do not display, it’s like ERPNext is cut from 80% of his features. In English, it’s ok. Not always easy to debug when it’s a language related bug.
NB: you know how to deal with context translation doctype feature, how custom csv files in app deal with the context, or how specify context into translation core doctype, I’m ready to learn. As I see it must be specified when _(xxx,context) ot __(xxx,context) (so make a PR for all frappe/ERPNext code base with this)… Where specify this context in translation module or csv ?
I maintained one app for Chinese localization, mainly for translation, for the case of one term with context based meaning, I change the relevant field label via customizing( property setter), I also hacked / monkey patched the translate.py to inject non translatable string.
This happens when we start ERPNext with non-English language (in the setup wizard). Then the database will be filled with the chosen language.
The problem when a user choose to use English language, the default English words are not there anymore (the doctypes/documents are not found or just not working).
Thank, I didn’t think about it.
I’ve check your module and I found really interesting the “monkey patches” feature, I will remember it, to override standard frappe or ERPNext python methods it’s really interesting.
I check and it’s not a documented feature, more a imaginative way to doing it (but seems that you’ve use it a lot more than just for translate.py). It’s a standard python feature I didn’t meet before.
Is there any progress made in the meantime concerning the way translations are handled?
I would like to improve some translations in Dutch, but the Translation Tools is not available anymore in V15 and the online portal https://translate.erpnext.com/ can’t be reached due to an issue with the certificate.
Currently the only way is to send pull requests on GitHub. I’ve been working on improving this, but currently there are no sponsors so I have to do it in my free time and it’s low priority.
The big issue in Frappe is using english string for translation instead of using keys, as doing standard i18.
This lead to awful translation when the same word has different meaning depending by context.
For example “Book” to Italian means “to book an appointment” or noun “book” and both the meaning are present in Frappe…