TravelHour Doc
  • Introduction
  • Changelogs
  • Getting Started
  • 🚀Admin Setup
    • 1. Flutter Installation
    • 2. Code Setup
    • 3. Firebase Setup
      • 3.1 Firestore Database Setup
      • 3.2 Database Security Rules
      • 3.3 Database Index Setup
      • 3.4 Push Notification Setup
      • 3.5 Firebase Storage Setup
      • 3.6 Admin Credentials Setup
    • 4. Code Configs
    • 5. Upload to Firebase Hosting
    • 6. Conclusion
  • 📱App Setup
    • 1. Introduction
    • 2. Code Setup
    • 3. Firebase Setup for Android
      • 3.1 Android Package Name Setup on Firebase
      • 3.2 Change Package Name Android
      • 3.3 Generate Debug Certificate
      • 3.4 Generate Release Certificate
      • 3.5 Google Sign In Setup for Android
      • 3.6 Facebook Login Setup for Android
      • 3.7 Additional Firebase Setup for Android
    • 4. Firebase Setup for iOS
      • 4.1 iOS Package Name Setup on Firebase
      • 4.2 Change Package Name iOS
      • 4.3 Facebook Login Setup for iOS
      • 4.4 Apple Login Setup
      • 4.5 Additional Firebase Setup for iOS
    • 5. Google Map Setup
      • 5.1 Google Map Android Setup
      • 5.2 Google Map iOS Setup
    • 6. Push Notification Setup
      • 6.1 Android Notification Setup
      • 6.2 iOS Notification Setup
    • 7. Multi-Language Setup
    • 8. Ads Setup
      • 8.1 Admob Setup for Android
      • 8.2 Admob Setup for iOS
    • 9. App Information Setup
    • 10. Change App Name for Android
    • 11. Change App Name for iOS
    • 12. Change App Icon
    • 13. Change Splash Icon
    • 14. Change App Theme Color
    • 15. Run The App
    • 16. Releasing the Android App
    • 17. Releasing the iOS App
Powered by GitBook
On this page
  • Editing An Existing Language
  • Adding A New Language
  • Removing An Existing Language
  • Start Locale Setup
  1. App Setup

7. Multi-Language Setup

Previous6.2 iOS Notification SetupNext8. Ads Setup

Last updated 2 years ago

You can skip this setup for now. This is not a mandatory setup to run this app.

So, we have used 3 languages in this app. English, Spanish & Arabic.

You can add as many languages as you want. The multi-language feature is only for all of the static texts in the app. It's static and not related to the database.

English is the default & Starting Language. You can change the default language too if you want.

Editing An Existing Language

If your language is already available on the list and you want to make some changes, then follow the steps below:

Example: If your want to change some text in the Spanish language, then open the assets/translations/es.json file and edit only right-side values.

Don't edit the keys (Left side values)

Adding A New Language

If you want to add a new language that is not available in the default list, follow the steps below:

  • First, go to the assets/translations folder from your IDE. Add a .json file here with your_language_code.json name. Now go to the assets/translations/en.json file and copy everything from this file and paste to your_language_code.json file.

  • Now, Rename the all right-side strings. Look at the es.json file and you will understand what to do.

Don't edit the keys (Left side values)

  • Now go to lib/main.dart file and add your language code to supportedLocals.

Your code should look like this:

supportedLocales: [Locale('en'), Locale('es'), Locale('your_language_code')],
  • Now go to lib/config/config.dart file and add your Language name at the bottom of the list by adding a comma.

  • Now go to lib/widgets/language.dart file and enable the disabled lines by removing slashes and rename your_language_code and language_name that you added to the list.

  • For Android, you don’t have to do anything.

  • For iOS, go to ios/Runner/Info.plist and add your language code in a string. Look at the picture below.

  • Add <string>your_language_code</string> inside the array. That's it

Removing An Existing Language

To remove any language that is available in the list, please follow the steps below:

  • Go to the asset/translations folder and delete the your_language_code.json file that you want. (You shouldn't delete the en.json file because this is the default language).

  • Now go to lib/main.dart and remove the locale from the supportedLocale line.

  • Go to lib/widgets/language.dart file and remove the else if section of language code that you want to delete.

  • And finally go to ios/Runner/Info.plist and remove the string. That’s it. (Only for iOS)

Start Locale Setup

English ('en') is added as the start language of the app by default. If you want to add any other language as a Start Language then go to the lib/main.dart file and replace the startLocale and the fallbackLocale with your language code. That's it.

📱