Help by translating OpenEMR to other languages

As the OpenEMR codebase continues to grow, new phrases are added to the user interface with every new release. We are all very grateful to the awesome community members who take the time to translate OpenEMR into new languages or update the existing ones.

With recent additions bringing the total number of definitions required to 12,382 there are significant coverage gaps in the following and several other languages:

Chinese (Simplified): 44.56% (5518 definitions)
Hindi: 49.66% (6149 definitions)
Marathi: 55.22% (6837 definitions)
Spanish (Latin American): 55.13% (6826 definitions)
Turkish: 45.99% (5695 definitions)
Vietnamese: 49.6% (6142 definitions)

To contribute to the OpenEMR translation effort please click the link below to learn more.
Help translate OpenEMR

Also consider following OpenEMR on Facebook to stay up to date on the latest happenings.

1 Like

Hello. I have approx. 4200 definitions in lang_custom table of Latin American Spanish. Tell me how I can deliver it to you.

1 Like

Hi Luis,

Translations are pulled from this google spreadsheet.

If you’re signed into a google account in your web browser and the green button says “view only” you can click on it and select “request edit access.”

To the merge the custom definitions into the table, Index Match or VLookup would probably be a lot easier than copying and pasting. I can look into it some more. Do the ~4200 you have seem to have a little or a lot of overlap with the missing values in the table?


1 Like

Hello Rachel. I don’t know how much is for blanks or replacement. But don’t worry, just give me access to edit the spreadsheet and I fill in the missing words (little by little). Thanks.


Hi Luis, if I can ask a bit more information about your process did you generate the table using administration -> system -> language tool?

I assume when you add a constant it isn’t already part of the default openEMR install.

So if you added a lot of constants in this way they probably won’t be in the google sheets table.

(I’m going to go over the process here in case anyone with questions reads this thread in the future)

For example if you see a translation that doesn’t look quite correct you can go in and edit it. I changed Idioma to Idioma1.

So now when I log into OpenEMR’s spanish user interface the word idioma when it is standalone is replaced with idioma1, but not when it’s part of a larger phrase. E.g. Idioma por defecto.

When I encounter a word or phrase that hasn’t yet been translated to the language in use, it should appear in english. For example “version number” on the About page.

I can search for it under the english option. Since english is the default language and the phrase doesn’t have a definition in your preferred language you’ll want to paste the first part of the english phrase in the filter for constants field.

Select language to the one you’re wanting to add the translation to. If you see the phrase in english in the user interface, the definition should be blank.

You can type whatever you want here then hit load definitions or cargar definiciones.

After you log out and log back in again the text translated text should appear where the english was.

If you used this method to translate your version of openEMR there should be a lot of overlap within the table. Which means there’s probably an easier way to get your translations into an upcoming OpenEMR release.


Hi Rachel. Yes, I used that method, but also add constants to the words that I did not find

Can I please get access to the spreadsheet? openemr_language_table - Google Sheets

hi salamata, i just clicked on the link in your message and was able to access the spread sheet, so i downloaded it . unfortunately it’s too large to upload to this chat. i’d be happy to email it to you? - what is your address

hi @ruth, thank you! please email it to at

I wanted to contribute to it, does emailing it grant access to edit?