Bug 55419 - Localization fails to reset default language
Summary: Localization fails to reset default language
Status: CONFIRMED
Alias: None
Product: Forms
Classification: Xamarin
Component: iOS ()
Version: 2.3.4
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2017-04-20 06:34 UTC by Rod
Modified: 2017-06-19 17:35 UTC (History)
4 users (show)

Tags: ios localization ac
Is this bug a regression?: ---
Last known good build:


Attachments
Screen print with the two errors highlighted (79.16 KB, image/jpeg)
2017-04-20 06:34 UTC, Rod
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report for Bug 55419 on Developer Community or GitHub if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: Developer Community HTML or GitHub Markdown
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:
Status:
CONFIRMED

Description Rod 2017-04-20 06:34:24 UTC
Created attachment 21645 [details]
Screen print with the two errors highlighted

When using localisation as per https://developer.xamarin.com/guides/xamarin-forms/advanced/localization/ ,if you change your language to Spanish then change it back to English the following two components remain as Spanish:

1) the default navbar back button text, and
2) the popup prompts when you highlight text in an entry field (i.e. the "Select, Select All, Copy, Paste" options)

Screen print attached.

To reproduce:
- download the example TodoLocalized example project: https://github.com/xamarin/xamarin-forms-samples/tree/master/TodoLocalized

- open the TodoListPage.cs and comment out the line: 
     Title = AppResources.ApplicationTitle; 

a) Run the app as English, select say "Buy Milk" and highlight the "Buy Milk" entry field.
b) Change the phone's default language to Spanish
c) Run the app in Spanish and test a) again (all good)
d) Change the phone's language to English
e) Run test a) again and you will see the back button text is "Atras" and the popup menu will be in spanish.

NOTE: What's really weird is that when I change from Spanish to English these two errant fields don't show in English - the last language.
Comment 1 Jimmy [MSFT] 2017-05-01 19:36:05 UTC
Thank you for filing this report!

I was able to reproduce this issue using the Localized Todo sample project. This is happening on both the simulator and device. As described, the "Back" text and highlighted text options remain in Spanish _after_ setting the system's language back to English. 

I tried a clean/rebuild and removing the app from the device and re-deploying but neither of these things helped. I am confirming this report so the team can investigate further.
Comment 2 John R 2017-05-31 16:04:25 UTC
I am experiencing the same issue. For my app, it's most notable in the search bar which shows "Cancelar" instead of "Cancel". However, I've found the resetting the contents and settings of the simulator don't address the issue for my app. A clean run of the simulator and the app produce the spanish buttons by default for iOS specific controls without ever having changed the device to use spanish.
Comment 3 John R 2017-05-31 17:04:17 UTC
More details:

I've found that the UsingResxLocalization sample app does not have this problem, but the TodoLocalized does. I've also noted that the app name DOES change in the UsingResxLocalization sample app, but the TodoLocalised app name DOES NOT change.

I'm trying to work through the differences from the two apps to see what may be causing the issue.

Note: The xamarin-forms-sample library was pulled down from Github, loaded, and each project ran separately with no changes and no updates to any of the packages.

Our deadline is currently 7/5/2017 for our application. Hopefully I can find a solution before then, but the Xamarin Teams help is appreciated in resolving this.

-John
Comment 4 John R 2017-05-31 20:41:26 UTC
I figured out the main issue of this bug report: the iOS controls still showing in Spanish when set to English as the OS Language.

I have not figured out the app name localization not working.

The fix for the issue mentioned in this bug report involved putting the default app language as the first language in the iOS app Info.plist file.

Example:

        <key>CFBundleLocalizations</key>
	<array>
		<string>es</string>
	</array>
        <key>CFBundleDevelopmentRegion</key>
	<string>en</string>

Defaulted to showing spanish text on iOS controls even when English was set as the language.

When modifying to include <string>en</string> as follows, the iOS text goes back to English:

        <key>CFBundleLocalizations</key>
	<array>
                <string>en</string>
		<string>es</string>
	</array>
        <key>CFBundleDevelopmentRegion</key>
	<string>en</string>

I'm not sure why this is the case, but it seems to resolve my issue. I don't plan on changing the app name based on locale, so I won't be looking into that further.

- John