sanctuary_l10n_core 0.2.0 copy "sanctuary_l10n_core: ^0.2.0" to clipboard
sanctuary_l10n_core: ^0.2.0 copied to clipboard

A pure Dart localization toolkit for queer and trans communities, providing a community-vetted glossary and tools for handling grammatical gender to make inclusive language the default.

example/sanctuary_l10n_core_example.dart

// This is an example of how to use the sanctuary_l10n_core package.
// To run this file, navigate to your package's root directory in the terminal
// and execute: dart example/example.dart

import 'package:sanctuary_l10n_core/sanctuary_l10n_core.dart';
import 'package:sanctuary_l10n_core/src/grammar_engine.dart';

// A simple User class to demonstrate storing a grammatical gender.
class User {
  final String name;
  final GrammaticalGender gender;

  User(this.name, this.gender);

  @override
  String toString() {
    // .name is the enum value's name, e.g., "feminine"
    return '$name (Gender: ${gender.name})';
  }
}

/// A function showing how the real grammar engine is used.
String getWelcomeMessage(String locale, User user) {
  // Call the real grammar engine from the package.
  final welcomeAdjective = SanctuaryL10n.getAdjective(
    locale: locale,
    gender: user.gender,
    baseAdjective: 'welcome',
  );
  return '¡$welcomeAdjective, ${user.name}!';
}

void main() {
  print('--- Sanctuary L10n Core Example ---');

  // Create some example users with different grammatical genders.
  final user1 = User('Alex', GrammaticalGender.neutral);
  final user2 = User('Bea', GrammaticalGender.feminine);
  final user3 = User('Carlos', GrammaticalGender.masculine);

  print('\nOur Users:');
  print(user1);
  print(user2);
  print(user3);

  print('\n--- Grammar Engine Showcase ---');

  final locale = 'es'; // Pretend our app is in Spanish
  print('Generating messages for locale: $locale\n');

  // The grammar engine uses the user's gender to create
  // grammatically correct sentences.
  final messageForAlex = getWelcomeMessage(locale, user1);
  final messageForBea = getWelcomeMessage(locale, user2);
  final messageForCarlos = getWelcomeMessage(locale, user3);

  print(messageForAlex);
  print(messageForBea);
  print(messageForCarlos);
}
1
likes
0
points
27
downloads

Publisher

unverified uploader

Weekly Downloads

A pure Dart localization toolkit for queer and trans communities, providing a community-vetted glossary and tools for handling grammatical gender to make inclusive language the default.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

intl

More

Packages that depend on sanctuary_l10n_core