Auto Store Translate

Pub

A library that automates translation/registration of metadata (title, description, etc.) in the App Store/Play Store.

playstore & appstore translated screenshot

"Buy Me A Coffee"

How to Use?

1. Setup the config file

dependencies:
  auto_store_translate:

2. Create a dart file in your project and paste the code below.

create dart file in your project
project path > auto_translation > store_meta_info.dart

please fill in all the information below.

import 'package:auto_store_translate/auto_store_translate.dart';

/// write your store info here.

MyStoreInfo myStoreInfo = MyStoreInfo(
  // Play Store Title 30 characters or less
  playStoreTitle: "",

  // Play Store Short Description 80 characters or less
  playStoreShortDescription: "",

  // Play Store Long Description 4000 characters or less
  playStoreFullDescription: '''
  

  ''',

  // Play Store Translation Start Language
  playStoreStartLanguage: "en",

  // Play Store Title Translation
  translatePlayStoreName: true,

  // App Store Title 30 characters or less
  appStoreTitle: "",

  // App Store Subtitle 30 characters or less
  appStoreSubTitle: "",

  // App Store Description 4000 characters or less
  appStringDescription: '''
  

  ''',

  // App Store Keywords 100 characters or less , separated by commas, SEO
  appStoreKeywords: "",

  // App Store Translation Start Language
  appStoreStartLanguage: "en",

  // App Store Title Translation
  translateAppStoreName: true,

  // Whether to display the first letter of the App Store title in uppercase
  onlyFirstCharacterUpperAppName: true,

  // App Store Update Notes
  releaseNote: "fix small bug :)",

  // Home Page URL
  homepageLink: "",

  // Privacy Policy URL
  policyPageLink: "",
);

main() {
  AutoStoreTranslate.translateStoreInfo(
      myStoreInfo: myStoreInfo,

      // google translate api key
      googleTranslateApiKey: "INPUT_YOUR_GOOGLE_TRANSLATE_API_KEY",

      // true: translate only title, false: translate title + all
      onlyAppNameTranslate: false);
}

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.

3. Run the code above and wait for the translation to complete.

4. you will see the translated folder in the project.

5. Set up fastlane for each android/ios and register the information in the play store/app store.

registering with the PlayStore(android)

1. Setup the fastlane config file(android)

please refer to the official document.

2. Add the code below under platform:android do in the android/fastlane/fastfile file.

    lane :metaOnly do
      upload_to_play_store(
          track: 'internal',
          metadata_path: '../auto_translation/metadata/android',
          skip_upload_screenshots: true,
          skip_upload_changelogs: true,
          release_status: 'draft',
          aab: '../build/app/outputs/bundle/release/app-release.aab',
      )
    end

3. Open the terminal in the android project location and enter the following.

    fastlane metaOnly

4. You will see the translated information in the play store console.

registering with the App Store(iOS)

1. Setup the fastlane config file(ios)

please refer to the official document.

2. Add the code below under platform:ios do in the ios/fastlane/fastfile file.

    lane :metaOnly do
        get_certificates          
        get_provisioning_profile  
        deliver(
            metadata_path: '../auto_translation/metadata/ios',
            force: true, # Skip HTMl report verification
            skip_screenshots: true,
            skip_binary_upload: true,
        )
    end

3. Open the terminal in the ios project location and enter the following.

    fastlane metaOnly

4. You will see the translated information in the app store connect.

Libraries

auto_store_translate
blueprint/app/core/usage/config
callable/core_my/my_language_code/entity/flutter_support_language_code
callable/core_my/my_language_code/entity/flutter_support_language_locale
callable/core_lib/free_google_translate/tokens/google_token_gen
callable/core_my/my_language_code/entity/google_translate_support_language_code
callable/core_lib/free_google_translate/langs/language
blueprint/app/core/usage/main
callable/core_lib/csv/entity/my_csv
callable/core_my/my_screenshot_helper/entity/my_screenshot_info
callable/core_my/my_translate_store_info/entity/my_store_info
blueprint/app/core/usage/note/note1
callable/core_my/my_translate_csv/spell
callable/core_my/my_translate_store_info/spell
callable/core_lib/free_google_translate/spell
blueprint/app/core/usage/spell
callable/core_lib/csv/spell
blueprint/app/core/_new/spell
callable/core_lib/google_translate/spell
callable/core_my/my_language_code/spell
callable/core_my/my_screenshot_helper/spell
callable/core_my/my_translate_app_assets_csv/spell
callable/core_lib/free_google_translate/tokens/token_provider_interface
callable/core_lib/free_google_translate/model/translation
callable/core_my/my_translate_app_assets_csv/usage
callable/core_lib/csv/usage
callable/core_my/my_translate_store_info/usage
callable/core_my/my_language_code/usage
callable/core_lib/google_translate/usage
blueprint/app/core/_new/usage
callable/core_my/my_screenshot_helper/usage
blueprint/app/core/usage/usage
callable/core_my/my_translate_csv/usage
callable/core_lib/free_google_translate/usage