Hai Nagendra Prasad,
There could be multiple ways but as you can't translate all the data to french so you need to keep the values in the database by using ID's and then based on the language, you can get the respected data. Keep this data in the cache so whenever the same result data is required, get it from cache.
Let's say, you want to keep all the countries in English as well as in French language:
1. Create a table for country which will have Id's and the name of the country(this will be in English so that by default it will be displayed in English only).
2. Create a table called as Message where you need to keep the translated value for these countries with channel(French) etc.
While loading, you need to check the channel, and based on the channel, get the country data and load to the controls. Keep this in cache because it will be used throughout the application.
Once the user opens up the website in French they will not go to English again. If they do so then remove all the cache and load in English.
This will make the site little slow on the first load only but will be faster later from the second requests.
Hope it will be helpful to you.
Regards,
Pawan Awasthi(DNS MVM)
+91 8123489140 (whatsApp), +60 14365 1476(Malaysia)
pawansoftit@gmail.com