flutter_censor_it 1.0.3
flutter_censor_it: ^1.0.3 copied to clipboard
A Flutter widget for censoring text with customizable profanity patterns.
Flutter widget for censoring text based on predefined patterns and customizable
characters. Based on censor_it Dart package. GitHub | Pub.dev
Introduction #
When it comes to censoring text in your Flutter application, you might need to
handle multiple languages and customize the characters used for censoring.
CensorItWidget provides an easy-to-use solution for this problem.
Supported languages #
- 🇺🇸 English (EN)
- 🇫🇮 Finnish (FI)
- 🇫🇷 French (FR)
- 🇩🇪 German (DE)
- 🇮🇹 Italian (IT)
- 🇰🇿 Kazakh (KZ)
- 🇱🇻 Latvian (LV)
- 🇱🇹 Lithuanian (LT)
- 🇵🇹 Portuguese (PT)
- 🇵🇱 Polish (PL)
- 🇷🇺 Russian (RU)
- 🇪🇸 Spanish (ES)
- 🇸🇪 Swedish (SE)
- 🇺🇦 Ukrainian (UA)
Getting started #
Add censor_it to your pubspec.yaml:
dependencies:
flutter_censor_it: ^<latest_version>
Import the package in your Dart file:
import 'package:flutter_censor_it/flutter_censor_it.dart';
You can now use the CensorItWidget to censor text:
// Base usage
CensorItWidget(
'Holy shit, it works!',
// Censor pattern (default: ['!', '#', '%', '&', '?', '@', '\$']).
chars = const ['*'],
// Censor pattern (default: CensorPattern.all).
pattern = CensorPattern.english,
// Just hide all swear words.
// This implementation is the default if argument is not provided.
censoredWordBuilder: (context, word) =>
Stack(
children: [
Text(word.origin),
Positioned.fill(
child: DecoratedBox(
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.primary,
borderRadius: BorderRadius.circular(5),
),
),
),
],
),
)
Result:
Features #
- Customizable Censor Patterns: Use predefined censor patterns for multiple languages or create your own.
- Customizable Censor Characters: Define your own set of characters to use for censoring.
- Profanity Detection: Check if the text contains any profanity based on the censor pattern.
Changelog #
Please see the Changelog page to know what's recently changed.
Contributions #
Feel free to contribute to this project.
If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue. If you fixed a bug or implemented a feature, please send a pull request.