Multilingual Implementation - Xamarin.Forms



Introduction:

In this tutorial, we will learn how to implement Multi-Lingual in Xamarin.Forms without using external plugins or platform wise implementation with dependency service. The latest Xamarin forms offers .net standard to implement the multilingual and without further delay, we will skip into the coding part of the article.

Coding Part:

Steps:

I have split the coding part into 4 steps as in the following.

  1. Creating new Xamarin.Forms Projects.
  2. Creating App Resource files for multi-language.
  3. Language Management
  4. Implementation of Multi-Lingual.

Step 1: Creating new Xamarin.Forms Projects

  • Create New Project by Selecting New -> Project -> Select Xamarin Cross Platform App and Click OK.
  • Then Select Android and iOS Platforms as shown below with Code Sharing Strategy as PCL or .Net Standard and Click OK.

Step 2: Creating App Resource files for multi-language

  • Add one resource file as base file with the name your preferred name. In my case, I kept the name of the file as “AppResources.resx” and it will be used as default language file.
  • Then add one resource file for each language you want to support. We must follow a specific naming convention for each file as the base resources file followed by a period (.) and then the language code.
  • For Example
    Language Language Code File Name
    Tamil ta AppResources.ta.resx
    French fr AppResources.fr.resx

  • Then add resources with the same name with language specific values in each resource files as like in the below screenshot.

Step 3: Language Management

In this step, we will see how to handle the multilingual for Xamarin.Forms.

  • Get Device Language
    CultureInfo.InstalledUICulture
  • Get or Set the actual language
    CultureInfo language = new CultureInfo("ta");
    Thread.CurrentThread.CurrentUICulture = language;
    AppResources.Culture = language;

Step 4: Implementation of Multi-Lingual

  • Open your designer file and add the resources as shown in below code snippet.
    <?xml version="1.0" encoding="utf-8"?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 xmlns:resource="clr-namespace:MultilingualXFSample.Resources"
                 x:Class="MultilingualXFSample.MainPage">
            <Label Text="{x:Static resource:AppResources.WelcomeText}"
                   FontSize="Large"/>
    </ContentPage>
  • By default, the app will take the base resource file. By passing the language code will takes the language specific resource file and we can set the language as shown in below code snippet in runtime
    CultureInfo language = new CultureInfo("ta");
    Thread.CurrentThread.CurrentUICulture = language;
    AppResources.Culture = language;
    Application.Current.MainPage = new NavigationPage(new MainPage());

Output

Default - English Tamil French

Download Code

You can download the code from GitHub. If you have doubt, feel free to post comment. If you like this article and is useful to you, do like, share the article & star the repository on GitHub.

Share this

Related Posts

Previous
Next Post »

5 comments

comments
23 June 2020 at 20:16 delete

This is really a great Article for those who are looking for Discount coupons, cashback offers on online Mobile shopping sites in india.
Thanks for sharing the wonderful information and Save you huge money & time. More offers and coupons Visit

Mobile Offers
Today Mobile Offers
Mobile Phones
Mobile Offers In Flipkart
Latest Mobile Offers
Mobile Offers In India
Realme Mobile Offers
Mobile Phones Under 10,000
Amazon Mobile Offers
Flipkart Mobile Offers
Up Coming Mobile Offers


Very detailed and informative!!
Keep On Sharing....

Reply
avatar
24 June 2020 at 20:11 delete

This is really a great Article for those who are looking for Discount coupons, cashback offers on online Mobile shopping sites in india.
Thanks for sharing the wonderful information and Save you huge money & time. More offers and coupons Visit

Mobile Offers
Today Mobile Offers
Mobile Phones
Mobile Offers In Flipkart
Latest Mobile Offers
Mobile Offers In India
Realme Mobile Offers
Mobile Phones Under 10,000
Amazon Mobile Offers
Flipkart Mobile Offers
Up Coming Mobile Offers


Very detailed and informative!!
Keep On Sharing....

Reply
avatar
21 July 2020 at 19:52 delete

Thanks for a marvelous posting! I quite enjoyed reading it, you may be a great author. I will ensure that I bookmark your blog and will eventually come back very soon. I want to encourage yourself to continue your great posts, have a nice day!
Mobile Phones, Mobile Offers Today, Mobile Phone Offers,
realme mobile phone price, realme mobile phones

Very detailed and informative!!
Keep On Sharing....

Reply
avatar
6 August 2020 at 00:48 delete

Great Article
android based projects

Java Training in Chennai

Project Center in Chennai

Java Training in Chennai

projects for cse

The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

Reply
avatar
31 August 2020 at 20:02 delete

Serves24 is Best Air conditioner repair In Hyderabad We Provided Door Step Repair And Service & Provide best in class. Get 6 months repair guarantee. Book Now just @249/-. at most affordable prices
air conditioner repair services
air conditioner repairs services hyderabad
air conditioner repair hyderabad
air conditioner repair services

Reply
avatar

Please Comment about the Posts and Blog