LocalCase

LocalCase is a Flutter package that provides localized case conversion and number-to-words transformation for multiple languages. This package allows you to convert text to uppercase or lowercase following language-specific rules and transform numbers into words. It currently supports French, Spanish, Czech, German, and Turkish.

Features

  • Localized Case Conversion: Convert text to lowercase or uppercase with language-specific transformations.
  • Number-to-Words Conversion: Convert numbers up to one million into words for supported languages.
  • Custom Error Handling: Provides clear error messages for unsupported languages or invalid inputs.

Installation

Add local_case to your pubspec.yaml file:

dependencies:
  local_case: ^0.0.6

Then, run flutter pub get to install the package.

Usage

Importing the Package

import 'package:local_case/local_case.dart';
import 'package:local_case/enum/local_case_language_enum.dart';

Converting Text to Lowercase

String lowercaseText = LocalCase.toLowercase(
  text: 'HALLO WELT',
  language: LocalCaseLanguage.german,
);
print(lowercaseText); // Ausgabe: hallo welt (nach deutschen Konventionen)

Converting Text to Uppercase

String uppercaseText = LocalCase.toUppercase(
  text: 'merhaba dünya',
  language: LocalCaseLanguage.turkish,
);
print(uppercaseText); // Çıktı: MERHABA DÜNYA (Türk dil kurallarına göre)

Converting Numbers to Words

String numberInWords = LocalCase.convertNumberToWords(
  number: 256,
  language: LocalCaseLanguage.spanish,
);
print(numberInWords); // Output: doscientos cincuenta y seis (in Spanish)

Supported Languages

The LocalCaseLanguage enum supports the following languages:

  • French
  • Spanish
  • Czech
  • German
  • Turkish

Error Handling

If you use an unsupported language or provide an invalid input, LocalCase will throw a LocaleCaseError.unsupportedLanguage() exception. Make sure to handle this exception in your application.

Example

try {
String result = LocalCase.toUppercase(
text: 'example text',
language: LocalCaseLanguage.unknown, // Unsupported language
);
} catch (e) {
print(e); // Output: Unsupported language error
}

Contributions

Contributions are welcome! If you have ideas to support additional languages or improve functionality, feel free to open a pull request or submit an issue.

License

This project is licensed under the MIT License.