Search code examples
androidlocalizationlocalizable.strings

Flavor based localizing - Android


I have set up my application with different string files for different languages English(default)/French/Arabic.

When I change the language on the device, it stays in English.

Here is my project layout:

--src
  |__main
    |__res
      |__values-ar
      |__values-fr
      |__values
   |__variants
     |__flavour1
       |__res
         |__values-ar
         |__values-fr
         |__values
     |__flavour2
       |__res
         |__values-ar
         |__values-fr
         |__values
     |__flavour3
       |__res
         |__values-ar
         |__values-fr
         |__values

The device is now displaying french after switching the language to french in the settings but the application is still displaying English.

Can anyone help?


Solution

  • -src
      |__main
        |__res
          |__values-ar
          |__values-fr
          |__values
       |__variants   < ------ Remove this 
         |__flavour1
           |__res
             |__values-ar
             |__values-fr
             |__values
         |__flavour2
           |__res
             |__values-ar
             |__values-fr
             |__values
         |__flavour3
           |__res
             |__values-ar
             |__values-fr
             |__values
    

    After

    -src
          |__main
            |__res
              |__values-ar
              |__values-fr
              |__values
    
           |__flavour1
             |__res
               |__values-ar
               |__values-fr
               |__values
           |__flavour2
             |__res
               |__values-ar
               |__values-fr
               |__values
           |__flavour3
             |__res
               |__values-ar
               |__values-fr
               |__values