PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 23 → iOS Alerts window buttons should be in English but appear in French
iOS Alerts window buttons should be in English but appear in French
Débuté par Claire, 06 nov. 2017 21:16 - 12 réponses
Posté le 06 novembre 2017 - 21:16
Hello, we have been having an issue since August with no solution in sight and I was hoping someone may have the answer here.

We have been using WINDEV Mobile for quite some time now to develop our apps and have never had an issue up until this past July with the language or 'localization'. Within the software, our project language is set to English and has not changed since the app was first developed. On top of that none of the code has changed since it was first developed, it has just gotten cosmetic updates.

When we bring our app into xcode and build/run on a device that is plugged into the Mac, everything looks fine - the alerts appear how they should BUT when I go through the process of building then archiving for Ad Hoc, all the alert windows for OK / Cancel and Yes / No appear with a combination of French and English - one window has buttons that read: OK / Annuler and another window has buttons that read Oui/Non, while the rest of the text within the window is in English and I can not figure out where it is getting the French language from.

I have been in contact with Apple and PCSoft and no one seems to be able to pinpoint the issue. When I first contacted Apple, they had me send over files including our ipa file. They asked me how the app was localized, which I told them it was currently localized as United Kingdom/English - seeing that is what the language is set to within the WINDEV software. After looking through the ipa file that was sent, they found that there was no Iproj folders within the ipa defining any localization . I dug around and found some information on creating the Localizable.string file but not much else. I created the localizable.string file and have the language set to English and the development language set to English. The information in the info.plist is all set to English / United Kingdom and the issue is still occurring, even with the localizable.string file.

This problem also seems to be impacting the date that is attached to data that is submitted through our app, it changes the abbreviated month name to French (Aug to Août).

We have been upgrading our software in place and I am wondering if completely uninstalling the WINDEV software would fix the problem?

Any help would be greatly appreciated!
Posté le 07 novembre 2017 - 00:08
Hi Claire,

This did not happen to me, but there was a thread on a similar subject
not long ago that -MAY- give you some information:

http://27130.foren.mysnip.de/read.php…

Hope this helps

Best regards

--
Fabrice Harari
International WinDev, WebDev and WinDev mobile Consulting

Ready for you: WXShowroom.com, WXReplication (open source) and now WXEDM
(open source)

More information on http://www.fabriceharari.com


Le 11/6/2017 à 3:16 PM, Claire a écrit :
Hello, we have been having an issue since August with no solution in
sight and I was hoping someone may have the answer here.

We have been using WINDEV Mobile for quite some time now  to develop our
apps and have never had an issue up until this past July with the
language or 'localization'. Within the software, our project language is
set to English and has not changed since the app was first developed. On
top of that none of the code has changed since it was first developed,
it has just gotten cosmetic updates.

When we bring our app into xcode and build/run on a device that is
plugged into the Mac, everything looks fine - the alerts appear how they
should BUT when I go through the process of building then archiving for
Ad Hoc, all the alert windows for OK / Cancel and Yes / No appear with a
combination of French and English - one window has buttons that read: OK
/ Annuler and another window has buttons that read Oui/Non, while the
rest of the text within the window is in English and I can not figure
out where it is getting the French language from.

I have been in contact with Apple and PCSoft and no one seems to be able
to pinpoint the issue. When I first contacted Apple, they had me send
over files including our ipa file. They asked me how the app was
localized, which I told them it was currently localized as United
Kingdom/English - seeing that is what the language is set to within the
WINDEV software. After looking through the ipa file that was sent, they
found that there was no Iproj folders within the ipa defining any
localization . I dug around and found some information on creating the
Localizable.string file but not much else. I created the
localizable.string file and have the language set to English and the
development language set to English. The information in the info.plist
is all set to English / United Kingdom and the issue is still occurring,
even with the localizable.string file.
This problem also seems to be impacting the date that is attached to
data that is submitted through our app, it changes the abbreviated month
name to French (Aug to Août).

We have been upgrading our software in place and I am wondering if
completely uninstalling the WINDEV software would fix the problem?
Any help would be greatly appreciated!
Posté le 07 novembre 2017 - 15:52
Hi Fabrice,

Thank you very much for passing this link along to me - I will see if this helps solve the date issue!

Cheers,
Claire

Fabrice Harari wrote:
Hi Claire,

This did not happen to me, but there was a thread on a similar subject
not long ago that -MAY- give you some information:

http://27130.foren.mysnip.de/read.php…

Hope this helps

Best regards

--
Fabrice Harari
International WinDev, WebDev and WinDev mobile Consulting

Ready for you: WXShowroom.com, WXReplication (open source) and now WXEDM
(open source)

More information on http://www.fabriceharari.com
Posté le 07 novembre 2017 - 20:48
Went through the like here: http://27130.foren.mysnip.de/read.php…

This definitely may help the date issue! I will have to try that once we figure out what is causing certain alert buttons to be in French, seeing that those alerts are customer facing and the date is more back end.

I just did a complete installation on WINDEV mobile 22 to see if anything had gotten messed up along the way and that still did not solve the issue. The strange thing is, there are only 2 places in our app where the alert windows appear with some French in it, where we call the OKCancel function and where we call the YesNo function. Could it have something to do with those functions? Should they be changed to Dialog instead?
Posté le 08 novembre 2017 - 00:09
Hi

You can try to create an empty app and do the okcancel and yesno to
verify..

If you have the problem, you can send that one to pcsoft for correction.

However, while you are waiting for a correction, you can try to work
around the problem by either using the dialog function, or simply use a
secondary window with your own OK/.Cancel/YES/NO buttons and code to
return the value.

That should give you a short term solution while the underlying problem
is being corrected.

Best regards

--
Fabrice Harari
International WinDev, WebDev and WinDev mobile Consulting

Ready for you: WXShowroom.com, WXReplication (open source) and now WXEDM
(open source)

More information on http://www.fabriceharari.com


Le 11/7/2017 à 2:48 PM, Claire a écrit :
Went through the like here:
http://27130.foren.mysnip.de/read.php…

This definitely may help the date issue! I will have to try that once we
figure out what is causing certain alert buttons to be in French, seeing
that those alerts are customer facing and the date is more back end.
I just did a complete installation on WINDEV mobile 22 to see if
anything had gotten messed up along the way and that still did not solve
the issue. The strange thing is, there are only 2 places in our app
where the alert windows appear with some French in it, where we call the
OKCancel function and where we call the YesNo function. Could it have
something to do with those functions? Should they be changed to Dialog
instead?
Posté le 13 novembre 2017 - 16:55
I was able to rewrite the OKCancel and YesNo section of code to use the Dialog function instead and that solved the problem. I am not quite sure why those two functions would not display the proper language but at least that issue is solved!
Posté le 15 juin 2018 - 18:13
I am having the same issue with the OKCancel function.
Mine will actually display in French, and freeze the app.
Membre enregistré
16 messages
Posté le 02 juillet 2018 - 19:24
Jim wrote:
I am having the same issue with the OKCancel function.
Mine will actually display in French, and freeze the app.


Jim, after I changed all of the YesNo functions to Dialog functions - in xcode I found that for some reason you have to create a "localizable.string" file within your project in order for the messages to display in the correct language.
Posté le 09 juillet 2018 - 16:38
Claire,

Could you elaborate on the localizable.string more?
I got around it a different way, but less than egelantly. But in the future I would like to be able to use the proper functions.
Membre enregistré
16 messages
Posté le 09 juillet 2018 - 19:43
Jim wrote:
Claire,

Could you elaborate on the localizable.string more?
I got around it a different way, but less than egelantly. But in the future I would like to be able to use the proper functions.



Hi Jim,
Certainly.

I am not sure if the two are connected or if both are necessary but first, I ended up rewriting all of the Yes/No and OKCancel functions to Dialog functions.

Then for the Localizable.strings file:

open your project in xcode
File > New > File.
Scroll down and find "strings files" for the template to use.
For the file name just type in Localizable.
Once you do that the Localizable.strings file will get created within the project.
If you have the localizable.strings file opened in xcode you should see a button on the right that says "Localize".
Click on the Localizable.strings file in the project navigator and on the right under Localization you'll see Base > check Base.
Go back to the project navigator and click on the project name so you will see the screen display "Deployment Target, Configurations, Localizations" You'll see your Language and the Resources (1 File Localized).
Click on the + sigh under the Localizations section and select (for me) the other English option (en)
In the Choose files and reference language popup, make sure your localizable.strings file is selected and click finish.
You should then see your developmental language and another language (we have both English (United Kingdom) and English (en)-Developmental Language) under the Localizations section of the project info page.

I can't seem to add any screenshots so let me know if that wasn't clear.
Posté le 10 juillet 2018 - 15:10
Claire,

Thanks, that is very clear.

Jim
Posté le 01 août 2018 - 21:11
I re-wrote all my OK Cancel and Yes/No functions, and used Input functions instead.
It is still happening. Customer complained. IOS 11.4.
The Cancel button is in French, and it hangs the app in that screen.

Claire,

I tried your localization scheme, but got stuck at ;
"Go back to the project navigator and click on the project name so you will see the screen
display "Deployment Target, Configurations, Localizations" You'll see your Language and the Resources (1 File Localized). "
I don't see "Deployment Target, Configurations, Localizations" .

Code below.


rslt is boolean
unit is string
i is int
ReturnValue is int
response is string


// Button to delete an entry in the Product database.


IF Combo_Box_Edit = "" THEN //Check to see if text box is empty

ToastDisplay("Nothing selected to delete")

ELSE

IF Combo_Box_Edit <> "" THEN // If it isn't empty


ReturnValue = Input("Type YES if you want to delete the unit.", response)

SWITCH ReturnValue

CASE 0: ToastDisplay("Delete canceled.")

CASE 1:

IF response = "YES" THEN

FOR EACH Units_DB2 where UnitName = Combo_Box_Edit // Delete all instances where the text box matches an item in the database

HDelete()

ToastDisplay("Unit deleted")

ListDisplay(Combo_Box_Edit,taReExecuteQuery) //Refreshes the combo box with updated database

i = ListCount(Combo_Box_Edit)

IF i > 0 THEN

i = ListSelect(Combo_Box_Edit)

Combo_Box_Edit = Combo_Box_Edit[i]

unit = Combo_Box_Edit
rslt = HExecuteQuery(QRY_Notes,hQueryDefault,unit)

IF rslt = True THEN

rslt = HReadFirst(QRY_Notes)
EDT_Notes = QRY_Notes.Notes

END

ELSE

EDT_Notes = ""

END



END
ELSE

ToastDisplay("You must type YES in all caps to delete the unit.")

END



END

ELSE

Enter_Unit..Visible = False //hiding the Enter Unit text box and button if user decides to not modify or delete a unit.
BTN_Add_Unit..Visible = False
ToastDisplay("Unit not deleted.")


END




//
END
//



ListDisplay(Combo_Box_Edit,taReExecuteQuery) //Refreshes the combo box with updated database


Thanks

Jim
Posté le 01 août 2018 - 21:26
Claire,

OK, finally found what you were referring to.
Thanks

Now for someone to test it.

Jim