Auto App Translate
It is a library that translates apps into 80 languages and automates settings.
- if you interesting about store translate, please check auto_store_translate library.
- if you interesting about store screenshot generator, please check auto_screenshot_translate library.
How to Use?
1. Setup the config file
dependencies:
easy_localization: ^3.0.3
easy_localization_loader: ^2.0.0
auto_app_translate:
flutter:
assets:
- assets/localization.csv
2. Create the asset folder and insert the localization.csv file.
lozalization.csv file download
3. Config easy_localization library. Please refer to the official documentation.
import 'package:auto_app_translate/callable/core_my/my_language_code/entity/flutter_support_language_locale.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:easy_localization_loader/easy_localization_loader.dart';
import 'package:flutter/material.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await EasyLocalization.ensureInitialized();
runApp(
EasyLocalization(
supportedLocales: flutterLocalizeSupportLanguagesLocale,
path: 'assets/localization.csv',
assetLoader: CsvAssetLoader(), // <- important option for translation
fallbackLocale: const Locale('en', 'US'),
child: MyApp()
),
);
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
localizationsDelegates: context.localizationDelegates,
supportedLocales: context.supportedLocales,
locale: context.locale,
home: MyHomePage()
);
}
}
4. Fill in the localization file.
Fill in str for the key value and the standard language (start translate language) column.
5. use tr() in your code for localization.
import 'package:easy_localization/easy_localization.dart';
tr('hello world')
6. Create a dart file in your project and paste the code below.
create auto_translation folder in your project root, and create auto_translation.dart file. and then copy paste code below.
import 'package:auto_app_translate/auto_app_translate.dart';
main() {
AutoAppTranslate.translateAppCsvFile(
// start translate language
startLanguageCode: 'en',
// language code to skip translation
skipLanguageCodes: [],
// str to skip translation
skipStr: [],
// csv file path
appAssetsCsvPath: 'assets/localization.csv',
// google translate api key (https://translatepress.com/docs/automatic-translation/generate-google-api-key/)
apiKey: 'INPUT_YOUR_GOOGLE_TRANSLATE_API_KEY');
}
It works even if you don't put the Google Translate api key, but you will soon reach the free limit.
For a guide to getting the Google Translate api key, please refer to this document.
7. Run the file. The translation will be completed in the csv file.
8. Check out apps translated into more than 80 languages :)
Libraries
- auto_app_translate
- blueprint/app/core/_new/spell
- blueprint/app/core/_new/usage
- blueprint/app/core/usage/config
- blueprint/app/core/usage/main
- blueprint/app/core/usage/note/note1
- blueprint/app/core/usage/spell
- blueprint/app/core/usage/usage
- callable/core_lib/csv/entity/my_csv
- callable/core_lib/csv/spell
- callable/core_lib/csv/usage
- callable/core_lib/free_google_translate/langs/language
- callable/core_lib/free_google_translate/model/translation
- callable/core_lib/free_google_translate/spell
- callable/core_lib/free_google_translate/tokens/google_token_gen
- callable/core_lib/free_google_translate/tokens/token_provider_interface
- callable/core_lib/free_google_translate/usage
- callable/core_lib/google_translate/spell
- callable/core_lib/google_translate/usage
- callable/core_my/my_language_code/entity/flutter_support_language_code
- callable/core_my/my_language_code/entity/flutter_support_language_locale
- callable/core_my/my_language_code/entity/google_translate_support_language_code
- callable/core_my/my_language_code/spell
- callable/core_my/my_language_code/usage
- callable/core_my/my_screenshot_helper/spell
- callable/core_my/my_screenshot_helper/usage
- callable/core_my/my_translate_app_assets_csv/spell
- callable/core_my/my_translate_app_assets_csv/usage
- callable/core_my/my_translate_csv/spell
- callable/core_my/my_translate_csv/usage
- callable/core_my/my_translate_store_info/entity/my_store_info
- callable/core_my/my_translate_store_info/spell
- callable/core_my/my_translate_store_info/usage