← Back to team overview

dhis2-devs team mailing list archive

Re: multilingual DHIS2 API and SDK

 

Hi Jose

We have re-implemented the way translations work in 2.24, so this should
not be a problem anymore, even nested field queries will be translated (as
long as the app is using displayName and not name), it will require a bit
more testing, but it should work fine

-- 
Morten Olav Hansen
Senior Engineer, DHIS 2
University of Oslo
http://www.dhis2.org

On Tue, Jun 14, 2016 at 11:03 AM, Jose Garcia Muñoz <josemp10@xxxxxxxxx>
wrote:

>
> Hi Araz, Morten,
>
> I am reopening this old thread (sorry  for that :) ), just to know if you
> have some updates regarding the use of multilingual in the DHIS2-SDK (we
> are mainly interested in the options of the optionsets). Have you had a
> chance to work on it? Is this  something that will come up with the new
> DHIS2-SDK version?
>
> Many thanks
> Jose
>
> On Thu, Feb 11, 2016 at 1:30 PM, Araz Abishov <araz@xxxxxxxxx> wrote:
>
>> I don’t think we will be able to use that, since android SDK is built
>> around “standalone" API resources, so we need to come up with something
>> different. At least we will try to query each resource separately to get
>> translations and then combine it with results of “nested” query. If that
>> approach will cause performance problems, then we can try to use metadata
>> endpoint as alternative for retrieving translations.
>>
>> Best Regards,
>> Araz Abishov
>>
>> On February 11, 2016 at 1:07:58 PM, Morten Olav Hansen (morten@xxxxxxxxx)
>> wrote:
>>
>> Sure, that makes sense. I'm actually adding a new endpoint for 2.23 which
>> could potentially help you, basically its a combination of all our
>> endpoints, and the main purpose is to use it for metadata export (for
>> moving between servers) but it can also be used for these kinds of
>> optimized gets.
>>
>> Some examples would be:
>>
>> /api/metadata/export?dataElements=true&programs=true&programStages=true&dataElements:filter=id:in:[1,2,3,4]&dataElements:fields=displayName&programs:filter=id:eq:123&programs:fields=displayName
>>
>> Etc etc.. you get the idea. I don't currently do translation there, but
>> we might want to look into that.
>>
>> On Thu, Feb 11, 2016 at 7:01 PM, Araz Abishov <araz@xxxxxxxxx> wrote:
>>
>>> Hi Morten,
>>>
>>> The problem for us is mostly in the way how we are structuring requests
>>> (we are using fields property in order to retrieve nested objects like
>>> dataelements from program stages). As you said before, nested properties
>>> are not translated due to potential performance problems on server. In
>>> order to workaround this we will have to make separate requests to each API
>>> resource, which can result in performance problem on mobile devices.
>>>
>>> We are using displayName, displayFormName fields in objects starting
>>> from v2.20, but they don't contain translation because of aforementioned
>>> reason.
>>>
>>> Best Regards,
>>> Araz
>>> On Feb 11, 2016 12:46 PM, "Morten Olav Hansen" <morten@xxxxxxxxx> wrote:
>>>
>>>> Hi Araz
>>>>
>>>> Are you using the normal web-api for your requests? if so, many of
>>>> these things would be automatic on your end, just make sure you use
>>>> displayName, displayShortName, displayDescription, and displayFormName
>>>> instead of name, shortName, description and formName. Changing these should
>>>> be backwards compatible for several releases (given the proper field
>>>> filter) and would give proper translation from about release 2.20.
>>>>
>>>> Of course the UI is another matter entirely, but all our endpoints
>>>> should have translation support enabled by default (unless you are saying
>>>> translate=false in your requests)
>>>>
>>>> --
>>>> Morten
>>>>
>>>> On Thu, Feb 11, 2016 at 6:42 PM, Araz Abishov <araz@xxxxxxxxx> wrote:
>>>>
>>>>> Hi Rodolfo, David and Jose,
>>>>>
>>>>> In order to add translation support with current web API
>>>>> implementation in mind, we have to restructure legacy SDK in intrusive way
>>>>> and it will take a lot of time and effort. In order to avoid “hacks”, we
>>>>> will have to wait for full API translation support. We also will be looking
>>>>> for other possible solutions in new version of SDK, I will keep updating
>>>>> you on changes.
>>>>>
>>>>> Best Regards,
>>>>> Araz Abishov
>>>>>
>>>>> On February 10, 2016 at 8:53:20 AM, Rodolfo Melia (rmelia@xxxxxxxxxxxx)
>>>>> wrote:
>>>>>
>>>>> Yes, sdk - just waking up.
>>>>>
>>>>> On Wednesday, 10 February 2016, Jose Garcia Muñoz <josemp10@xxxxxxxxx>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> I think Rodolfo is referring to the SDK... Yes... with the form names
>>>>>> and option names translated we are ok...
>>>>>>
>>>>>> On Wed, Feb 10, 2016 at 8:37 AM, Rodolfo Melia <rmelia@xxxxxxxxxxxx>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Morton - thanks for the clarification. Now that we know that we
>>>>>>> have what i think are the two critical translations in the API,
>>>>>>> how difficult would it be to add the concept of multilingual to the APK ?
>>>>>>>
>>>>>>>
>>>>>>> On Wednesday, 10 February 2016, Morten Olav Hansen <
>>>>>>> mortenoh@xxxxxxxxx> wrote:
>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> Translated form names have been available under "displayFormName"
>>>>>>>> for a long time, I have added code to 2.22 and trunk to also translate
>>>>>>>> options when requesting a optionset (by id or collection). we can't do this
>>>>>>>> for all objects, as its a quite heavy operation, normally we only translate
>>>>>>>> a single object or a collection of objects
>>>>>>>>
>>>>>>>> --
>>>>>>>> Morten
>>>>>>>>
>>>>>>>> On Tue, Feb 9, 2016 at 11:48 PM, Rodolfo Melia <rmelia@xxxxxxxxxxxx
>>>>>>>> > wrote:
>>>>>>>>
>>>>>>>>> It will be great if we can prioritise the metadata to be
>>>>>>>>> multilingual in the API. We already know how to translate the Android UI,
>>>>>>>>> by generating our own build.
>>>>>>>>>
>>>>>>>>> I'm copying Morton to see if he can give us an idea of when the
>>>>>>>>> API would be able to return the Form Name and Options in multilingual
>>>>>>>>> format. It is critical for many of the implementations that we have in the
>>>>>>>>> pipeline in Asia - we need the analytics in English, but the data
>>>>>>>>> collection, using android, in the local language.
>>>>>>>>>
>>>>>>>>> *Rodolfo Meliá*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 9 February 2016 at 14:42, Araz Abishov <araz@xxxxxxxxx> wrote:
>>>>>>>>>
>>>>>>>>>> Unfortunately, translation of metadata/data is not completely
>>>>>>>>>> supported in API due to some implementation complexities in the core, so we
>>>>>>>>>> still don’t know when exactly we will be able to implement multilingual
>>>>>>>>>> support for android apps.
>>>>>>>>>>
>>>>>>>>>> What we can do is additional setting for choosing language in
>>>>>>>>>> application preferences (but it will work only for UI prompts). In feature,
>>>>>>>>>> when API will be completely supporting translations, we will be able
>>>>>>>>>> seamlessly integrate support for it in android apps.
>>>>>>>>>>
>>>>>>>>>> Best Regards,
>>>>>>>>>> Araz Abishov
>>>>>>>>>>
>>>>>>>>>> On February 9, 2016 at 3:21:00 PM, Jose Garcia Muñoz (
>>>>>>>>>> josemp10@xxxxxxxxx) wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Hi Araz,
>>>>>>>>>>
>>>>>>>>>> I am talking about metadata (dataelements, optionsets, etc...).
>>>>>>>>>> We don't have problems with the user interface...
>>>>>>>>>>
>>>>>>>>>> Thanks Araz
>>>>>>>>>>
>>>>>>>>>> On Tue, Feb 9, 2016 at 3:15 PM, Araz Abishov <araz@xxxxxxxxx>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Jose and David,
>>>>>>>>>>>
>>>>>>>>>>> I just have a few questions to understand problem better:
>>>>>>>>>>>
>>>>>>>>>>>  - Are we talking about translation of application prompts or
>>>>>>>>>>> translation of metadata/data?
>>>>>>>>>>>  - Do you want user to be able to switch languages in user
>>>>>>>>>>> interface? (a setting which allows to do that)
>>>>>>>>>>>
>>>>>>>>>>> Best Regards,
>>>>>>>>>>> Araz Abishov
>>>>>>>>>>>
>>>>>>>>>>> On February 9, 2016 at 1:48:51 PM, David Hagan (
>>>>>>>>>>> david.hagan@xxxxxxxxxxxxx) wrote:
>>>>>>>>>>>
>>>>>>>>>>> Afternoon Jose,
>>>>>>>>>>>
>>>>>>>>>>> I second the question!
>>>>>>>>>>>
>>>>>>>>>>> Actually, I’ve had this conversation on another thread over the
>>>>>>>>>>> new-year break as we have a similar requirement (English, Russian,
>>>>>>>>>>> Ukrainian) … we’re making do with one language at the moment, but the next
>>>>>>>>>>> iteration cycle of the App really needs the user to be able to switch
>>>>>>>>>>> languages.
>>>>>>>>>>>
>>>>>>>>>>> David
>>>>>>>>>>>
>>>>>>>>>>> On 9 February 2016 at 13:32, Jose Garcia Muñoz <
>>>>>>>>>>> josemp10@xxxxxxxxx> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Dear Simen, devs,
>>>>>>>>>>>>
>>>>>>>>>>>> some months ago we started a conversation with you to know if
>>>>>>>>>>>> the DHIS2-SDK is supporting multilingual or not? The answer was:
>>>>>>>>>>>>
>>>>>>>>>>>> "unfortunately there isn't very good support for multilingual
>>>>>>>>>>>> in the SDK yet. It's actually not that much work we just haven't
>>>>>>>>>>>> prioritized it yet so it could be made available without too much
>>>>>>>>>>>> trouble... There is a bit of work that has do be done on the
>>>>>>>>>>>> server side to update the web API. Unfortunately I would have to say that
>>>>>>>>>>>> it likely would come in 2016, but when is unknown"
>>>>>>>>>>>>
>>>>>>>>>>>> Do you have any updates? was the DHIS2 web API updated? If not,
>>>>>>>>>>>> when can we expect that? 2.23?
>>>>>>>>>>>>
>>>>>>>>>>>> It is becaming some kind of urgent now because we plan to
>>>>>>>>>>>> roll-out different android apps in different countries (speaking French,
>>>>>>>>>>>> English, Spanish, Portuguese)..
>>>>>>>>>>>>
>>>>>>>>>>>> Please, let us know if you have some more information to share.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> Jose
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>>>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>>>> More help : https://help.launchpad.net/ListHelp
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *Rodolfo Meliá*
>>>>>>> *Principal  |  *rmelia@xxxxxxxxxxxx
>>>>>>> Skype: rod.melia  |  +44 777 576 4090  |  +1 708 872 7636
>>>>>>> <%2B1%20708%20872%207636>
>>>>>>> www.knowming.com
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> *Rodolfo Meliá*
>>>>> *Principal  |  *rmelia@xxxxxxxxxxxx
>>>>> Skype: rod.melia  |  +44 777 576 4090  |  +1 708 872 7636
>>>>> www.knowming.com
>>>>>
>>>>>
>>>>
>>
>>
>> --
>> Morten
>>
>>
>

Follow ups

References