O3 Translations!

Thank you so much for the kind words and enthusiasm! :blush: I should mention that much of the work on the Portuguese translation was already doneā€”I simply completed it. But itā€™s always a pleasure to contribute to such an impactful project like OpenMRS.

Youā€™ve made a great point, and I agree that keeping efforts united is important. The nuances between pt and pt-BR are indeed minimal, especially in the context of OpenMRS, so maintaining focus on a single base translation makes sense.

That said, I think it might be helpful to have a repository or mechanismā€”like a JSON file for translation overlaysā€”where country-specific adjustments could be stored. For example, in Brazil, ā€œSalvarā€ is the standard term used for ā€œSave,ā€ whereas ā€œGuardarā€ is more common in Portugal. Similarly, ā€œCurativosā€ in Brazil are ā€œPensosā€ in Portugal. These differences might not be significant for functionality, but they do impact user familiarity and comfort.

To fully address this, Iā€™d need to review the translation in detail to identify more of these discrepancies. This approach might let us preserve a unified translation effort while still allowing for localization where it truly matters.

Iā€™d love to hear your thoughts on this idea, and Iā€™m happy to help however I can!

Thanks again for the encouragement and for all the hard work you do for this community! :blush:

1 Like

I also wondered how these rules would apply to database calls to concepts when the UI required a stored concept to be displayed. I had hoped there would be a hierarchical rule which displays the country-specific term if present, if not, return the non-country-specific locale and finally return the English term (since every concept usually has English). Is there something similar which would allow people to only add country-specific locale information when it differs from the default locale for that language?

There is an json config option named translation-overridea as I saw on Como configurar O3 com JSON ā€“ OpenMRS.org min 10:49. I think it might be useful.

Iā€™d like to know how I can become a reviewer for the Portuguese content on OpenMRS. While I only added around 80 words to finalize the translation.

Could you let me know the process to become a reviewer?

1 Like

The logic is a little convoluted, but concept names should display (roughly):

  • In the userā€™s locale if available (e.g., pt-BR)
  • In the userā€™s language if available (e.g. pt)
  • In the first available locale in the implementationā€™s specified locales (e.g., fallback to fr for ht-HT, etc.)
  • The first name marked as the FQN in any language (yeah, weird fallback)

AFAICT, this has been in place for over a decade.

3 Likes

Hopefully you should have an invite or two now.

1 Like

Hi @ibacher,

Thanks for the invite!

As I started reviewing the translation, I noticed a critical point that might cause confusion for Brazilian users. Since the base Portuguese translation seems to follow the European standard, the term ā€œutenteā€ is used for ā€œpatientsā€/ā€œhealth care users in generalā€

In Brazil, ā€œutenteā€ is not a familiar term (it might not exist on dictionary I am a physician native from Brazil and never heard); instead, we exclusively use ā€œpacienteā€ to refer to patients. Interestingly, ā€œpacienteā€ is also valid in Portugal, so it seems like a more universally compatible choice.

To ensure better usability and avoid confusion for Brazilian users, I plan to replace ā€œutenteā€ with ā€œpacienteā€ across the translation. Does that sound okay to you?

Thanks for your guidance, and let me know if thereā€™s anything else I should consider! :blush:

P.S. Is there some other place to discuss this kind of particularities?

Cc: @grace :smile:

1 Like

That seems great!

The whole reason we have a forum is for whatever kind of conversations the community needs to have, so here is great. We also have a Slack instance if you prefer.

2 Likes

Given the translation flow for concepts, can something similar be done for messages, since then only the differences from language would need to be documented?

So the message codes already fallback from, e.g., pt-BR to pt when itā€™s not found. The difference is if the message isnā€™t found in pt-BR or pt, it falls back to en-GB.

2 Likes

Happy New Year, everyone! And Happy New Language :tada:

I am excited to share that the Brazilian Portuguese translation is now complete, and some items have already been reviewed. :confetti_ball: @ibacher @akanter @grace Thank you guys for your support!

Now, Iā€™m wondering how to properly implement this translation. From what I understand, thereā€™s a CI/CD process that handles this operation, but the information available in this thread seems outdated.

Iā€™ve already configured my Docker installation with the following setup:

/distro/configuration/globalproperties/i18n-core_demo.xml

<config>
    <globalProperties>
        <globalProperty>
            <property>locale.allowed.list</property>
            <value>en, en_GB, es, fr, he, km, ar, vi, pt, pt_BR, zh</value>
        </globalProperty>
        <globalProperty>
            <property>default_locale</property>
            <value>pt_BR</value>
            <description>Specifies the default locale. You can specify both the language code(ISO-639) and the country code(ISO-3166), e.g. 'pt_BR' or just country: e.g. 'pt'</description>
        </globalProperty>
    </globalProperties>
</config>

However, this configuration does not seem to work. Additionally, the documentation available at O3 Translations Configuration is quite superficial for the use case of newly added translations.

Could someone provide updated guidance on how to properly implement a new language translation like this? Any help would be greatly appreciated!

3 Likes

hello, i got some challanges with transifex, for i had used it in free trial, but trying to go to openMRS transifex i actually hit the page not found , is it that i have to use the charged domain, or there r some issues as per now

Everything is functioning perfectly for me here OpenMRS 3 localization | Transifex. Which language do you need translated?

1 Like

i wanted to contribute on Ganda, most used in uganda , let me try this link may be

1 Like

@ibacher could you help me on this track? Maybe I can pull request some docs about it after achieving a solution. Please!

1 Like

Hi @elai: You definitely shouldnā€™t need a paid account to contribute. To contribute to the OpenMRS Transifex project, you can follow these steps here: https://openmrs.atlassian.net/wiki/spaces/docs/pages/105512985/How+to+Translate+OpenMRS#Getting-Started

I have added Luganda to the OpenMRS 3 project in Transifex so itā€™s ready for you :slight_smile:

2 Likes

Interesting problem! @nethmi I think youā€™ve dealt with this right? Iā€™d love your help with this situation. The problem is we canā€™t get the pr_BR to show up in @filipelopesā€™s distribution (and he has a go-live date in a few weeks). And yet what heā€™s done above looks exactly like what we had to do to set French as the default locale for the DRC team here.

My initial reaction is: Is there somewhere else where he needs to also specify the default locale?

EDIT: I see that in the few hours it took me to write this, it seems like @filipelopesā€™ test instance is now correctly showing pt_BR as an option. Will find out what needed to be changed and will make the docs more clear so future folks donā€™t have to suffer :joy:

This has exposed for me that we need some guidance on default_locale in the new How to Translate OpenMRS wiki page, beyond this other talk answer. Iā€™ve started a very rough draft section for this here in the translation guide.

2 Likes

Thanks our dearest madam @grace , Luganda is the key, when it comes to patient interaction in Uganda.As in the population usually want to take question from medical workers in the lunguages that is easier for them , more so when sick, thanks much

it is showing pt_BR as an option but when I click on it Itā€™s not Brazilian Portuguese I get. It uses just the ā€˜ptā€™ callback like @ibacher once said ā€œWhen i18n does not find the translation it uses the ā€˜parentā€™ languageā€

So itā€™s not solved at all @grace! Thanks for the attention you all are giving me in advance

2 Likes

@filipelopes the issue has been found and solved!! A huge thanks to @ibacher :star_struck: :bowing_man:

He filed the issue here: Jira

Then figured it out and pushed a fix here:

This problem would have impacted basically any org that wanted a country-localized version of a language, including en_GB, not only Brazilian Portuguese - so thank you @filipelopes for catching this!

1 Like