← Back to team overview

dhis2-devs team mailing list archive

Re: multilingual DHIS2 API and SDK

 

That's great! Happy to hear that! Thanks Morten,

So, do you know when it is going to be pusblished in the SDK as well? Is it
going to be introduced in the new SDK version?

Thanks
Jose

On Tue, Jun 14, 2016 at 6:06 AM, Morten Olav Hansen <morten@xxxxxxxxx>
wrote:

> 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