Skip to content

lutter plugin to access localized strings from Android strings.xml and iOS .strings files, ensuring consistent localization based on the device's system language

License

Notifications You must be signed in to change notification settings

netglade/native_fcm_strings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Developed with 💚 by netglade

ci native_fcm_strings license: MIT style: netglade analysis Discord


Native FCM Strings Plugin

This Flutter plugin provides a simple way to access localized strings from native Android and iOS resources, such as strings.xml (Android) and .strings files (iOS). It allows Flutter applications to retrieve the correct localized strings based on the system language settings, ensuring consistency across both native and Flutter parts of the app.

Features

  • Access Android's strings.xml resources based on the system language.
  • Access iOS .strings resources (via .lproj folders) based on the system language.
  • Use the same localization files used by native Android and iOS notifications, avoiding duplication of localization files for Flutter.
  • Supports dynamic language switching based on device locale.

Installation

  1. Add the plugin to your pubspec.yaml file:

    dependencies:
      native_fcm_strings: ^1.0.0
  2. Run flutter pub get to install the package.

Usage

Accessing Native Strings in Flutter

import 'package:native_fcm_strings/native_fcm_strings.dart';

// Example usage
String localizedTitle = await NativeStrings.getTranslatedString(key: 'notification_title', locArgs: ['John', 'Doe']); // Returns: Message from John to Doe
String localizedBody = await NativeStrings.getTranslatedString(key: 'notification_body', locArgs: ['John', 'Doe']); // Returns: Message from John to Doe

This will retrieve the localized string from the appropriate native resources (strings.xml for Android or .strings for iOS) based on the current device locale.

Android Setup

Ensure that your strings.xml files are properly placed in language-specific folders under res/values (e.g., res/values-en, res/values-cs).

Arguments in localized strings has to be in format %1$s, e.g Message from %1$s to %2$s.

iOS Setup

Ensure that your .strings files are placed under language-specific .lproj folders (e.g., en.lproj, cs.lproj).

Arguments in localized strings has to be in format %1$s, e.g Message from %@ to %@.

👏 Contributing

Your contributions are always welcome! Feel free to open pull request.

About

lutter plugin to access localized strings from Android strings.xml and iOS .strings files, ensuring consistent localization based on the device's system language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published