I want to build a multilanguage app but i am facing issues

yes therefore i have decided to not change the screen title

yes but there is a navigation bar that i have made for my app
from there also a user can open the "settings" Screen from any screen of the app

In which case the link I provided for switching screens is even more important!

@TIMAI2
there is a message that i want to show only once ,when the screen is opened for the first time
so what should i do?

@TIMAI2
i have made the changes according to the link
and after changing the language in settings now when we return to screen 1 the labels completely blank out :pensive:

these are working and changing the screens but still there is problem with translation

also when i change the language and disconnect the companion and reconnect it the label in the settings screen remains translated although in the spinner Hindi is not selected

You can use the guide I created to translate the app in the most efficient and easy way, here:

If you are not building your application in kodular, you can use this extension (it can also be done with dictionaries):

1 Like

your solution seems to be too complicated to use Yandex Translate every time you like to switch the language... the texts of the labels are static, aren't they? so you know the words to translate in advance... what about creating a list for each language and assigning the label.texts from the corresponding list after switching the language?
see also How to work with the advanced features

Taifun


Trying to push the limits! Snippets, Tutorials and Extensions from Pura Vida Apps by Taifun.

2 Likes

@Taifun & @Point
Thank you!!! for taking out your time
i will surely work upon it and report here

1 Like

Hi @Shruti, what I did is:

  • Define a variable to selected language and save it in TinyDb, in the settings section of the app.
  • When any screen Initialize, call language data from TinyDB in a global variable.
  • With logical IfThenElse, set all texts to its corresponding translation.

I'm sure that is not the best solution, but it was the one it works for me, and you can see the final result in Google Play Store as "Libreta de Dominadas" (https://play.google.com/store/apps/details?id=appinventor.ai_cperezn.Libreta_de_Dominadas)

I hope this helps you.

1 Like

@Carlos_Perez
Thank you for sharing this with me!!
i will surely work upon this

2 Likes

Hey! @TIMAI2 @Carlos_Perez @Taifun @Xtendera @Point
thank you to all of you for your help!!
i am really greatful to all of you
it is finally getting translated but the only issue i am facing now is with the spinners
the text of the label changes with the spinner selection and now i am not able to translate it . i want to translate the spinner elements as well as the text of the label after selection

1 Like

We keep telling you, use the AfterSelecting event !!

:sweat_smile: :sweat_smile:

:sweat_smile:
it is working now
but i have one more issue
on one of the screens i want to show a notification only once when the user opens it for the first time but i don't know how to do it
i hope i will get a solution to this as well!!

Use a tag in a tinydb and set this on the first run in Screen Initialise. If tag = "First Run" then show the notifier, otherwise set the tag to "Done".

thank you @TIMAI2 !!!
i will surely do it

Hey! @TIMAI2 @Point @Xtendera @Carlos_Perez @Taifun
i wanted to test my codes by building an apk file but when i install the app it is showing app not installed i don't know what is the issue
earlier when i downloaded the apk it was getting installed but now!!!!