Skip to content

wolfe719/intl_translation_linter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intl Translation Linter

Pub Version Dart SDK

Introduction

Intl Translation Linter is a custom linting plugin for Flutter that helps catch missing translation strings in your code. It ensures that all strings are localized using the intl pub S variable, enhancing the accessibility and internationalization of your applications.

Installation

To install Intl Translation Linter, add it as a dependency in your pubspec.yaml file:

dev_dependencies:
  custom_lint: ^latest_version
  intl_translation_linter: ^1.0.3

Then, run flutter pub get to fetch the package.

Configuration

To use Intl Translation Linter, you need to include it in your analysis_options.yaml file:

analyzer:
  plugins:
    - custom_lint

custom_lint:
  rules:
    - intl_translation_linter_use_s_role: true # for enabled or false for disabled

This will enable the linting rules provided by Intl Translation Linter in your Flutter project.

Usage

Once installed and configured, Intl Translation Linter will automatically check your code for missing translation strings. If a string is not localized using the intl_translation pub's S variable, this linter will raise a warning.

Examples:

    const Text(
    'not translated text',
    ), // this example not using S will warn in the IDE

    // ignore: intl_translation_linter_use_s_role
    const Text(
    'Still not translated text',
    ), // this example not using S will NOTE warn in the IDE

    Text('translated text'
        .trim()), // this example not using S but also calling other string manipulations will warn in the IDE

    Text(S.of(context).translated_text
    ), // this example using S.of(context) will not warn in the IDE

    Text(S.current.translated_text
    ), // this example using S.current will not warn in the IDE

Conclusion

Intl Translation Linter is a great tool for maintaining high-quality, accessible code in multilingual Flutter applications. By catching and warning about missing translations, it helps ensure that your app can reach a global audience.

Attribution

Intl Translation Linter would not be possible without the work of SMART HOST TEKNOLOJİ (https://github.com/smarthost-tr) and their Smart Translate Lints repository!

I took their repository, and re-purposed it from the looking for "LocaleKeys" and {".i18n(", ".tr("} to looking for "S.current" or "S.of("

About

Dart Linter for intl_translation pub - looking for S.current or S.of(context)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •