Last updated:
0 purchases
persian needs
Utilities for persian language developers. Contains useful extensions for String, int, Jalali and DateTime classes.
Key Features #
convert numbers to persian text: 1,235,465 => یک میلیون و دویست و سی و پنج هزار و چهارصد و شصت و پنج
show the repetitions of words/chars in the text.
finding the most/least repetition of words/chars in the text.
convert persian numbers to english numbers and in reverse.
persian Lorem Ipsum facilities are built in.
possibility of making fake random person names (with gender option) => randomPerson() => عرفان طباطبائی
estimating the time interval till now with readable format: dateTime.tillNow() => چهل و شش دقیقه پیش
estimating the time to read from text.
calculating the number of pages in SMS from text.
Convert int value to Toman/Rial string. 25000.toTomanString(fromRial: true) => دو هزار و پانصد تومان
convert Toman/Rial to Rial/Toman. 120.rial => 1200 / 120.toman => 12
Issues and feature requests #
If you want a new feature, or you found an issue, please make an issue on GitHub, so I can see your request.
Index #
Work with Strings
String extensions
String methods
Work with numbers
Number extensions
Number methods
Lorem Ipsum
standard Lorem Ipsum features
Mock data
Work with time
Contributing
Work with String #
String extensions #
void main() {
String text = loremParagraf; // lorem text
text.timeToRead(); // return Duration()
text.smsPageCount(); // 9
text.mostWords(); // [{و: 13}]
text.leastWords(); // [{کاربردهای: 1}, {ایپسوم: 1}, {متن: 1}, {ساختگی: 1}, {قرار: 1}, {تولید: 1}, ...]
text.mostChars(); // [{ا: 96}]
text.leastChars(); // [{ژ: 1}, {ذ: 1}, {،: 1}, {ئ: 1}]
text.wordsRepetition(
sorted: true,
order: Order.descending,
); // {و: 13, در: 5, با: 4, طراحان: 3, مورد: 3, ... } <!>because of persian words, output is reverse.
text.charsRepetition(
sorted: true,
order: Order.descending,
); // {ا: 96, ر: 49, ی: 47, و: 44, د: 34, ... } <!>because of persian words, output is reverse.
text.wordsCount(); // 133
text.words(); // [لورم, ایپسوم, متن, ساختگی, با, تولید, ...]
'25000'.toRialString(fromToman: true); // دویست و پنجاه هزار ریال
'25000'.toTomanString(fromRial: true); // دو هزار و پانصد تومان
}
copied to clipboard
String methods #
void main() {
String text = loremParagraf; // lorem text
timeToRead(text); // return Duration()
smsPageCount(text); // 9
mostWords(text); // [{و: 13}]
leastWords(text); // [{کاربردهای: 1}, {ایپسوم: 1}, {متن: 1}, {ساختگی: 1}, {قرار: 1}, {تولید: 1}, ...]
mostChars(text); // [{ا: 96}]
leastChars(text); // [{ژ: 1}, {ذ: 1}, {،: 1}, {ئ: 1}]
wordsRepetition(
text,
sorted: true,
order: Order.descending,
); // {و: 13, در: 5, با: 4, طراحان: 3, مورد: 3, ... } <!>because of persian words, output is reverse.
charsRepetition(
text,
sorted: true,
order: Order.descending,
); // {ا: 96, ر: 49, ی: 47, و: 44, د: 34, ... } <!>because of persian words, output is reverse.
wordsCount(text); // 133
words(text); // [لورم, ایپسوم, متن, ساختگی, با, تولید, ...]
toRialString('25000', fromToman: true); // دویست و پنجاه هزار ریال
toTomanString('25000', fromRial: true); // دو هزار و پانصد تومان
}
copied to clipboard
Work with numbers #
Number extensions #
void main() {
1234.farsi(); // ١۲۳۴
1234.farsiString(); // یک هزار و دویست و سی و چهار
12500.rial(); // 125000
12500.toman(); // 1250
'1235'.toFarsiNumber(); // ١۲۳۵
'١۲۳۵'.toEnglishNumber(); //1235
'122352'.toFarsiString(); //صد و بیست و دو هزار و سیصد و پنجاه و دو
'١۲۲۳۵۲'.toFarsiString(); //صد و بیست و دو هزار و سیصد و پنجاه و دو
'12۲3۵2'.toFarsiString(); //صد و بیست و دو هزار و سیصد و پنجاه و دو
}
copied to clipboard
Number methods #
void main() {
digitToFarsi('1235'); // ١۲۳۵
digitToEnglish('١۲۳۵'); //1235
digitToFarsiString('122352'); //صد و بیست و دو هزار و سیصد و پنجاه و دو
digitToFarsiString('١۲۲۳۵۲'); //صد و بیست و دو هزار و سیصد و پنجاه و دو
digitToFarsiString('12۲3۵2'); //صد و بیست و دو هزار و سیصد و پنجاه و دو
}
copied to clipboard
Lorem Ipsum #
standard Lorem Ipsum features #
void main() {
loremByParagrafCount(
count:
1); /* لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی و فرهنگ پیشرو در زبان فارسی ایجاد کرد. در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها و شرایط سخت تایپ به پایان رسد وزمان مورد نیاز شامل حروفچینی دستاوردهای اصلی و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد. */
loremByWordCount(count: 5); // لورم ایپسوم متن ساختگی با
loremIpsumWord; // لورم ایپسوم
loremParagraf; /* لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی و فرهنگ پیشرو در زبان فارسی ایجاد کرد. در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها و شرایط سخت تایپ به پایان رسد وزمان مورد نیاز شامل حروفچینی دستاوردهای اصلی و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد. */
loremSentence; // لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
}
copied to clipboard
Mock data #
void main() {
randomPerson(gender: Gender.female); // output is something like: ملینا کیان
randomName(gender: Gender.random); // ترلان
randomFamily; // محرابی
randomSentence;
/* هر نفسی که فرو می بریم، مرگی را که مدام به ما دست اندازی میکند پس میزند... در نهایت این مرگ است که باید پیروز شود، زیرا از هنگام تولد بخشی از سرنوشت م
ا شده و فقط مدت کوتاهی پیش از بلعیدن طعمه اش، با آن بازی می کند. با این همه، ما تا آنجا که ممکن است، با علاقه فراوان و دلواپسی زیاد به زندگی ادامه می دهیم، همان طور که تا آنجا که ممکن است طولانی تر در یک حباب صابون می دمیم تا بزرگتر شود، گر چه با قطعیتی تمام می دانیم که خواهد ترکید. */
randomMaleName; // برنا
randomFemaleName; // ویانا
}
copied to clipboard
Work with time #
void main() {
// Gregorian calendar:
DateTime miladi = DateTime.now().subtract(const Duration(seconds: 53));
miladi.tillNow(); // پنجاه و سه ثانیه پیش
miladi.tillNow(numeric: true); // 53 ثانیه پیش
// jalali/shamsi calendar:
Jalali jalali = Jalali(1376);
jalali.tillNow(); // بیست و پنج سال پیش
jalali.tillNow(numeric: true); // 25 سال پیش
}
copied to clipboard
Contributing #
Contributions are welcomed!
Here is a curated list of how you can help:
Report bugs and scenarios that are difficult to implement
Report parts of the documentation that are unclear
Fix typos/grammar mistakes
Update the documentation / add examples
Implement new features by making a pull-request
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.