| layout | default |
|---|---|
| title | Kurdish Calendar - Dialects and Scripts |
Complete guide to Kurdish dialects and script support in the Kurdish Calendar library.
The library supports three major Kurdish dialects (Sorani, Kurmanji, and Hawrami) in both Latin and Arabic scripts, plus Gregorian calendar formatting with Kurdish Sorani and Kurdish Kurmanji month names.
| Calendar | Dialect | Latin Script | Arabic Script |
|---|---|---|---|
| Kurdish Calendar | Sorani | ✓ | ✓ |
| Kurmanji | ✓ | ✓ | |
| Hawrami | ✓ | ✓ | |
| Gregorian Calendar | Sorani | ✓ | ✓ |
| Kurmanji | ✓ | ✓ |
Total: 10 dialect/script combinations
Sorani is spoken primarily in Iraqi Kurdistan and Iranian Kurdistan.
Latin Script:
- Xakelêwe
- Gulan
- Cozerdan
- Pûşper
- Gelawêj
- Xermanan
- Rezber
- Gelarêzan
- Sermawez
- Befranbar
- Rêbendan
- Reşeme
Arabic Script:
- خاکەلێوە
- گوڵان
- جۆزەردان
- پووشپەڕ
- گەلاوێژ
- خەرمانان
- ڕەزبەر
- گەڵاڕێزان
- سەرماوەز
- بەفرانبار
- ڕێبەندان
- ڕەشەمە
Latin Script:
- Yekşemme (Sunday)
- Duşemme (Monday)
- Sêşemme (Tuesday)
- Çwarşemme (Wednesday)
- Pêncşemme (Thursday)
- Hênî (Friday)
- Şemme (Saturday)
Arabic Script:
- یەکشەممە (Sunday)
- دووشەممە (Monday)
- سێشەممە (Tuesday)
- چوارشەممە (Wednesday)
- پێنجشەممە (Thursday)
- ھەینی (Friday)
- شەممە (Saturday)
Usage:
KurdishDate date = new KurdishDate(2725, 1, 1);
// Sorani Latin
Console.WriteLine(date.ToString("D", KurdishDialect.SoraniLatin));
// Output: "1 Xakelêwe 2725"
// Sorani Arabic
Console.WriteLine(date.ToString("D", KurdishDialect.SoraniArabic));
// Output: "١ خاکەلێوە ٢٧٢٥"Kurmanji is spoken in Turkey, Syria, parts of Iraq, and diaspora communities.
Same as Sorani for the Kurdish calendar (Xakelêwe, Gulan, etc.).
Note: Kurdish calendar month names are shared across Sorani and Kurmanji. The primary difference is in Gregorian calendar month names (see Gregorian Dialects section below).
Usage:
KurdishDate date = new KurdishDate(2725, 6, 15);
// Kurmanji Latin
Console.WriteLine(date.ToString("D", KurdishDialect.KurmanjiLatin));
// Output: "15 Xermanan 2725"
// Kurmanji Arabic
Console.WriteLine(date.ToString("D", KurdishDialect.KurmanjiArabic));
// Output: "١٥ خەرمانان ٢٧٢٥"Hawrami (Gorani) is spoken in parts of Iraqi and Iranian Kurdistan.
Source: Zaniary.com (https://zaniary.com/blog/61ec1e25bfc4e)
Latin Script:
- Newroz
- Pajerej
- Çêlkirr
- Kopir
- Gelawêj
- Awewere
- Tarazî
- Gellaxezan
- Kelleherz
- Arga
- Rabrân
- Siyawkam
Arabic Script:
- نەوروز
- پاژەرەژ
- چێڵکڕ
- کۆپڕ
- گەلاوێژ
- ئاوەوەرە
- تارازیێ
- گەڵاخەزان
- کەڵەهەرز
- ئارگا
- ڕابڕان
- سیاوکام
Source: D.N. MacKenzie, "The Dialect of Awroman (Hawrämän-i Luhön)" (1966), pages 21-22
Latin Script:
- Yekşem (Sunday)
- Duşem (Monday)
- Sêşem (Tuesday)
- Çwarşem (Wednesday)
- Pêncşem (Thursday)
- Hellîne (Friday) — Note: Distinct from Kurmanji În
- Şeme (Saturday)
Arabic Script:
- یەکشەم
- دووشەم
- سێشەم
- چوارشەم
- پێنجشەم
- هەڵڵینە (Friday — note doubled ڵ)
- شەمی
Usage:
KurdishDate date = new KurdishDate(2725, 1, 1);
// Hawrami Latin
Console.WriteLine(date.ToString("D", KurdishDialect.HawramiLatin));
// Output: "1 Newroz 2725"
// Hawrami Arabic
Console.WriteLine(date.ToString("D", KurdishDialect.HawramiArabic));
// Output: "١ نەوروز ٢٧٢٥"Used for formatting Gregorian dates with Sorani Kurdish month names.
Source: Kurdistan Regional Government (gov.krd) official publications
Latin Script:
- Kanûnî Duhem (January)
- Şubat (February)
- Adar (March)
- Nîsan (April)
- Ayar (May)
- Hûzeyran (June)
- Temmûz (July)
- Ab (August)
- Eylûl (September)
- Tişrînî Yekem (October)
- Tişrînî Duhem (November)
- Kanûnî Yekem (December)
Arabic Script:
- کانونی دووەم (January)
- شوبات (February)
- ئادار (March)
- نیسان (April)
- ئایار (May)
- حوزەیران (June)
- تەمووز (July)
- ئاب (August)
- ئەیلول (September)
- تشرینی یەکەم (October)
- تشرینی دووەم (November)
- کانونی یەکەم (December)
Usage:
DateTime gregorian = new DateTime(2025, 1, 15);
// Sorani Gregorian Latin
string formatted = gregorian.ToSoraniGregorian();
// Output: "15 Kanûnî Duhem 2025"
// Sorani Gregorian Arabic
string arabicFormatted = gregorian.ToSoraniGregorian(
GregorianSoraniFormatter.ScriptType.Arabic
);
// Output: "١٥ کانونی دووەم ٢٠٢٥"Used for formatting Gregorian dates with Kurmanji Kurdish month names.
Source: Kurdistan Regional Government (gov.krd) official publications
Latin Script:
- Kanûna Duyê (January)
- Şubat (February)
- Adar (March)
- Nîsan (April)
- Gulan (May)
- Hezîran (June)
- Tîrmeh (July)
- Tebax (August)
- Eylûl (September)
- Çiriya Êkê (October)
- Çiriya Duyê (November)
- Kanûna Êkê (December)
Arabic Script:
- کانوونا دویێ (January)
- شوبات (February)
- ئادار (March)
- نیسان (April)
- گولان (May)
- حەزیران (June)
- تیرمەه (July)
- تەباخ (August)
- ئەیلووڵ (September)
- چریا ێکێ (October)
- چریا دویێ (November)
- کانوونا ێکێ (December)
Usage:
DateTime gregorian = new DateTime(2025, 5, 15);
// Kurmanji Gregorian Latin
string formatted = gregorian.ToKurmanjiGregorian();
// Output: "15 Gulan 2025"
// Kurmanji Gregorian Arabic
string arabicFormatted = gregorian.ToKurmanjiGregorian(
GregorianKurmanjiFormatter.ScriptType.Arabic
);
// Output: "١٥ گولان ٢٠٢٥"Characteristics:
- Left-to-Right (LTR) text direction
- Uses Western numerals (0-9)
- Extended Latin characters with diacritics (ê, î, û, ç, ş, etc.)
Example:
KurdishDate date = new KurdishDate(2725, 6, 15);
Console.WriteLine(date.ToString("D", KurdishDialect.SoraniLatin));
// Output: "15 Xermanan 2725"Characteristics:
- Right-to-Left (RTL) text direction for text
- Left-to-Right (LTR) for numeric formats
- Uses Eastern Arabic-Indic numerals (٠-٩)
- Kurdish-specific Arabic letters (گ, چ, پ, ڵ, ڕ, ێ, ۆ, وو, ە)
Numeral System:
- ٠ (0), ١ (1), ٢ (2), ٣ (3), ٤ (4)
- ٥ (5), ٦ (6), ٧ (7), ٨ (8), ٩ (9)
Example:
KurdishDate date = new KurdishDate(2725, 6, 15);
Console.WriteLine(date.ToString("D", KurdishDialect.SoraniArabic));
// Output: "٢٧٢٥ خەرمانان ١٥" (RTL: year month day)
Console.WriteLine(date.ToString("d", KurdishDialect.SoraniArabic));
// Output: "١٥/٠٦/٢٧٢٥" (LTR: day/month/year)| Region | Recommended Dialect |
|---|---|
| Iraqi Kurdistan (Erbil, Sulaymaniyah) | Sorani |
| Iranian Kurdistan | Sorani |
| Turkish Kurdistan | Kurmanji |
| Syrian Kurdistan | Kurmanji |
| Diaspora (general) | Kurmanji or Sorani |
| Hawraman region | Hawrami |
| User Base | Recommended Script |
|---|---|
| Iraq | Arabic or Latin (both common) |
| Iran | Arabic (primarily) |
| Turkey | Latin (primarily) |
| Syria | Arabic or Latin |
| Diaspora | Latin (primarily) |
| Use Case | Recommended |
|---|---|
| Cultural events, genealogy | Kurdish Calendar (KurdishDate) |
| Official documents (KRG) | Gregorian with Kurdish month names |
| International coordination | Gregorian calendar |
KurdishDate date = new KurdishDate(2725, 1, 1);
Console.WriteLine("Kurdish Calendar (Newroz 2725):");
Console.WriteLine($"Sorani Latin: {date.ToString("D", KurdishDialect.SoraniLatin)}");
Console.WriteLine($"Sorani Arabic: {date.ToString("D", KurdishDialect.SoraniArabic)}");
Console.WriteLine($"Kurmanji Latin: {date.ToString("D", KurdishDialect.KurmanjiLatin)}");
Console.WriteLine($"Kurmanji Arabic: {date.ToString("D", KurdishDialect.KurmanjiArabic)}");
Console.WriteLine($"Hawrami Latin: {date.ToString("D", KurdishDialect.HawramiLatin)}");
Console.WriteLine($"Hawrami Arabic: {date.ToString("D", KurdishDialect.HawramiArabic)}");
// Output:
// Sorani Latin: 1 Xakelêwe 2725
// Sorani Arabic: ١ خاکەلێوە ٢٧٢٥
// Kurmanji Latin: 1 Xakelêwe 2725
// Kurmanji Arabic: ١ خاکەلێوە ٢٧٢٥
// Hawrami Latin: 1 Newroz 2725
// Hawrami Arabic: ١ نەوروز ٢٧٢٥bool TryParseAnyDialect(string input, out KurdishDate result)
{
KurdishDialect[] dialects = new[]
{
KurdishDialect.SoraniLatin,
KurdishDialect.SoraniArabic,
KurdishDialect.KurmanjiLatin,
KurdishDialect.KurmanjiArabic,
KurdishDialect.HawramiLatin,
KurdishDialect.HawramiArabic
};
foreach (var dialect in dialects)
{
if (KurdishDate.TryParse(input, dialect, out result))
{
Console.WriteLine($"Parsed as {dialect}");
return true;
}
}
result = default;
return false;
}Note: Sorani has some regional spelling variations. The library uses transliterations verified against Kurdistan Regional Government publications.
Note: Kurmanji has dialectal variations across Turkey, Syria, and Iraq. The library uses standard forms common in Iraqi Kurdistan.
Note: Hawrami month names sourced from Zaniary.com documentation. Day names from D.N. MacKenzie's linguistic research (1966). Regional variations may exist and should be verified with local speakers.
To verify month and day names match your regional usage:
- Check the names in actual usage
- Consult with native speakers
- Compare with official regional publications
- Report discrepancies for future updates
Sources Used:
- Sorani/Kurmanji Gregorian: Kurdistan Regional Government (gov.krd)
- Hawrami Days: D.N. MacKenzie (1966)
- Hawrami Months: Zaniary.com
// Good - explicit dialect
string formatted = date.ToString("D", KurdishDialect.SoraniLatin);
// Avoid - relies on defaults
string formatted = date.ToString("D");public class UserPreferences
{
public KurdishDialect PreferredDialect { get; set; }
public string FormatDate(KurdishDate date)
{
return date.ToString("D", PreferredDialect);
}
}// Let users choose their preferred dialect and script
public enum PreferredLanguage
{
SoraniLatin,
SoraniArabic,
KurmanjiLatin,
KurmanjiArabic,
HawramiLatin,
HawramiArabic
}
public KurdishDialect ToDialect(PreferredLanguage pref)
{
return pref switch
{
PreferredLanguage.SoraniLatin => KurdishDialect.SoraniLatin,
PreferredLanguage.SoraniArabic => KurdishDialect.SoraniArabic,
PreferredLanguage.KurmanjiLatin => KurdishDialect.KurmanjiLatin,
PreferredLanguage.KurmanjiArabic => KurdishDialect.KurmanjiArabic,
PreferredLanguage.HawramiLatin => KurdishDialect.HawramiLatin,
PreferredLanguage.HawramiArabic => KurdishDialect.HawramiArabic,
_ => KurdishDialect.SoraniLatin
};
}- Formatting and Parsing — Format string details
- API Reference — Complete API documentation
- Examples — Practical code examples
بەختێکی باش! (Good luck!)