هر سایتی که از مرز یه کشور بیرون بزنه، دیر یا زود به پرچم نیاز پیدا می کنه. منوی انتخاب زبان، فیلد تلفن با پیش شماره کشور، انتخاب کشور مقصد توی فروشگاه، یا جدولی که کشورها توش لیست شدن. پیدا کردن پرچم ها یکی یکی، هم اندازه کردنشون و سر و کله زدن با PNG های محو و سنگین حسابی حوصله سربره. flag-icons همین کار رو راحت می کنه: مجموعه ای مرتب از پرچم همه کشورها به شکل SVG، به اضافه CSS که استفاده از اون ها رو توی صفحه ساده می کنه. سازنده اش Panayiotis Lipiridis هست و با مجوز MIT منتشر شده. یعنی برای پروژه شخصی و تجاری آزاده، فقط نباید متن مجوز رو حذف کنی.
چون پرچم ها SVG هستن، توی هر اندازه ای تیز می مونن و صفحه رو سنگین نمی کنن. هر پرچم یه کلاس CSS داره که از کد دو حرفی استاندارد کشور (همون کدهای ISO) ساخته می شه. از هر پرچم دو شکل هست: نسبت چهار به سه که حالت معمول پرچمه، و نسخه مربعی که برای آواتار و دکمه های گرد خیلی به کار میاد. اندازه پرچم هم معمولا با font-size المانش تنظیم می شه، پس مثل متن باهاش رفتار می کنی.
این کتابخونه جایی به درد می خوره که چند تا پرچم لازم داری: سایت چندزبانه، فرم ثبت نام با انتخاب کشور، فروشگاهی که به چند کشور ارسال داره، یا قالب و افزونه ای که خودت می نویسی. ولی اگه فقط یکی دو تا پرچم می خوای، کل CSS رو بارگذاری نکن. همون SVG رو مستقیم توی صفحه بذار، هم ساده تره هم سبک تر.
توی انتخاب پرچم یه نکته رو یادت نره: زبان و کشور یکی نیستن. انگلیسی رو با پرچم آمریکا نشون می دی یا انگلیس؟ فارسی رو با پرچم ایران، ولی افغانستان و تاجیکستان چی؟ برای منوی زبان بهتره کنار پرچم اسم زبان هم نوشته بشه. یه چیز دیگه: اسم کلاس ها بین نسخه های مختلف فرق کرده. پس CSS و کدی که توی صفحه می ذاری باید از یه نسخه باشن و مستنداتی که می خونی هم مال همون نسخه.
برای سایت های ایرانی بهتره فایل ها رو روی هاست خودت بذاری و به CDN خارجی وصل نشی. توی روزهای محدودیت اینترنت بین الملل، پرچم ها به جای لود شدن خالی می مونن. نسخه های رسمی و بدون تغییر flag-icons توی مخزن داخلی ما هم هست؛ می تونی بدون اینترنت بین الملل دانلودش کنی و روی هاست خودت بذاری.
راهنمای استفاده
استفاده از flag-icons سه چهار قدم بیشتر نیست و برای وردپرس و سایت های معمولی یکسانه.
- بسته رو از همین صفحه دانلود کن، از حالت فشرده دربیار و پوشه اش رو روی هاست خودت آپلود کن، مثلا توی پوشه assets قالب یا سایتت.
- فایل CSS کتابخونه رو توی بخش head صفحه لینک کن. کد آماده اش پایین همین صفحه هست و فقط باید مسیرش رو با محل آپلودت هماهنگ کنی.
- مطمئن شو پوشه پرچم ها همون جایی هست که CSS انتظار داره. اگه مسیر رو عوض کنی، پرچم ها نشون داده نمی شن و فقط یه کادر خالی می بینی.
- یه المان خالی مثل span بذار و کلاس پرچم کشور رو بهش بده. اسم کلاس از کد دو حرفی کشور ساخته می شه، مثلا ir برای ایران و de برای آلمان. ساختار دقیق کلاس رو از کد آماده پایین صفحه بردار.
- اندازه رو با font-size یا width و height المان تنظیم کن. اگه سایتت راست به چپه، فاصله بین پرچم و متن رو با margin از سمت درست بده.
توی وردپرس برای بارگذاری CSS می تونی از wp_enqueue_style توی functions.php قالب یا افزونه ات استفاده کنی. اگه پروژه ات با npm کار می کنه، بسته رو با اسم flag-icons نصب کن و CSS رو توی فایل های پروژه import کن.