
📌 نسخه 4.6.5
🔧 تبدیل رشتههای هاردکد به کلیدهای i18n
راهنمای کامل بینالمللیسازی پروژههای نرمافزاری + معرفی ابزار حرفهای LocEngine
📌 مشکل کجاست؟
خیلی از توسعهدهندگان وقتی پروژه رو شروع میکنن، همه متنها رو به صورت هاردکد (Hardcoded) توی کد مینویسن. مثلاً:
<h1>Welcome to our store</h1>
<button>Buy Now</button>
این روش وقتی پروژه کوچیکه، مشکلی نداره. اما وقتی میخوای محصولت رو بینالمللی کنی و به زبانهای دیگه هم عرضه کنی… کابوس شروع میشه! 😱
راه حل چیه؟ تبدیل رشتههای هاردکد به کلیدهای i18n (Internationalization). یعنی به جای متن مستقیم، از کلید استفاده کنی:
<h1>{t('welcome_message')}</h1>
<button>{t('buy_now')}</button>
و فایل ترجمه جداگانه داشته باشی. حالا بیایم ببینیم چه روشهایی برای این کار وجود داره.
📋 ۴ روش تبدیل رشتههای هاردکد
روش اول
🔍 جستجوی دستی (Manual Search & Replace)
سادهترین روشی که به ذهن میرسه اینه که توسعهدهنده تکتک فایلهای پروژه رو باز کنه، رشتههای قابل ترجمه رو پیدا کنه و به صورت دستی با کلیدهای i18n جایگزین کنه.
✅ مزایا: کنترل کامل روی هر تغییر، بدون نیاز به ابزار خاص، مناسب پروژههای بسیار کوچک (کمتر از ۱۰ فایل)
❌ معایب: زمانبر و خستهکننده، احتمال خطای انسانی بالا، عدم یکپارچگی در تیمهای بزرگ، عملاً غیرممکن برای پروژههای متوسط و بزرگ
📌 مناسب برای: پروژههای کوچک (تا ۱۰ فایل)
روش دوم
⚡ استفاده از Regex و Script نیمهخودکار
توسعهدهندگان حرفهایتر از Regex (عبارات باقاعده) و اسکریپتهای سفارشی (مثل Python، Bash، یا Node.js) استفاده میکنن تا فرآیند جستجو و جایگزینی رو نیمهخودکار کنن.
# مثال ساده در پایتون
import re
pattern = r'<[^>]*>([^<]+)</[^>]*>'
matches = re.findall(pattern, content)
✅ مزایا: سریعتر از روش دستی، قابل تکرار، امکان سفارشیسازی بالا
❌ معایب: نیاز به دانش فنی بالا، Regex پیچیده میتونه خطا داشته باشه، تشخیص کانتکس سخت است، نگهداری اسکریپت زمانبر
📌 مناسب برای: توسعهدهندگان با دانش Regex، پروژههای متوسط
روش سوم
📦 ابزارهای سنتی i18n (gettext, i18next, react-intl)
ابزارهای استاندارد و معروفی مثل gettext (در لینوکس و PHP)، i18next (در جاوااسکریپت) و react-intl (در React) وجود دارن که فریمورکهای کامل i18n ارائه میدن. این ابزارها معمولاً برای مدیریت ترجمه در کد طراحی شدن، نه برای استخراج از کد موجود.
✅ مزایا: استاندارد، جامعه بزرگ، مستندات خوب، پشتیبانی از فرمتهای مختلف، قابلیتهای پیشرفته
❌ معایب: منحنی یادگیری نسبتاً بالا، عدم تشخیص خودکار رشتههای موجود در کد (باید دستی کلیدها رو جایگزین کنی)، بیشتر مناسب پروژههای جدید تا مهاجرت پروژههای قدیمی
📌 مناسب برای: پروژههای جدید از ابتدا، تیمهای حرفهای
روش چهارم
🤖 LocEngine – راهحل هوشمند و خودکار
LocEngine یک ابزار تخصصی است که برای حل همین مشکل ساخته شده: تشخیص خودکار رشتههای هاردکد، استخراج، ترجمه و تزریق هوشمند بدون نیاز به دخالت دستی.
✅ مزایا: کاملاً خودکار، دقت بالا (۹۰%+)، پشتیبانی از ۱۲+ فریمورک، ترجمه خودکار با Google Translate، تزریق خودکار در کد، خروجی به ۱۴+ فرمت، بدون نیاز به دانش فنی بالا
❌ معایب: ابزار تخصصی (نه رایگان)، نیاز به نصب اولیه
📌 مناسب برای: پروژههای متوسط و بزرگ، تیمهای حرفهای، هرکسی که زمان محدود داره
📊 جدول مقایسه ۴ روش
| ویژگی | دستی | Regex/Script | ابزارهای سنتی | LocEngine |
|---|---|---|---|---|
| سرعت | بسیار کم | متوسط | کم | ✅ بسیار بالا |
| دقت | پایین | متوسط | بالا (برای پروژه جدید) | ✅ بسیار بالا (۹۰%+) |
| نیاز به دانش فنی | کم | بالا | بالا | ✅ کم |
| تشخیص خودکار رشتهها | ❌ | ⚠️ نسبی | ❌ | ✅ |
| ترجمه خودکار | ❌ | ❌ | ❌ | ✅ (Google Translate) |
| تزریق خودکار در کد | ❌ | ❌ | ❌ | ✅ |
| پشتیبانی از فریمورکها | – | محدود | متوسط | ✅ ۱۲+ فریمورک |
🤖 معرفی LocEngine
LocEngine در نسخه 4.6.5 خود، با دو اسکنر جدید بهروزرسانی شده:
- 🌍 Web Scanner – اسکن فایلهای HTML، CSS، JavaScript، React، Vue، Angular با دقت ۹۰%+
- 🔤 I18N Scanner – استخراج کلیدهای i18n از پروژههای بینالمللی شده
سه اسکنر دیگر نیز وجود دارد که روی پایتون و فریمورکهای آن تمرکز دارند:
- Full Scan – اسکن کامل پروژههای پایتون
- GUI Scan – اسکن برنامههای دسکتاپ با رابط گرافیکی
- Fallback Scan – اسکن پشتیبان برای موارد خاص
12+فریمورک
14+فرمت خروجی
90%+دقت کلی
3حالت تزریق
📤 فرمتهای خروجی
📄
PO / POT
Gettext
📋
JSON
i18next, react-intl
📱
ARB
Flutter
🍎
iOS Strings
Swift
📊
XLIFF
استاندارد XML
📈
CSV / Excel
ویرایش آسان
📝
YAML
Rails
📃
TXT / INI
ساده
💉 دو حالت تزریق
🔄
تزریق مستقیم
جایگزینی با نسخه ترجمه شده
<h1>Hello</h1> → <h1> سلام</h1>
تکزبانه
🔑
تزریق کلید i18n
جایگزینی با کلید i18n + فایل ترجمه
<h1>Welcome</h1> → <h1>{t('welcome')}</h1>
✅ حرفهای
📊 دقت اسکنرها
📄
HTML
۹۸%
🐘
PHP
۹۵%
⚛️
React
۹۰%
📜
JavaScript
۹۰%
🐍
Python
۹۰%
🔷
WordPress
۹۰%
🅰️
Angular
۸۵%
🟢
Vue.js
۸۵%
🎨
CSS
۷۰%
📖 شروع سریع
مرحله 1: انتخاب پروژه
مسیر پوشه پروژه خود را در نرمافزار انتخاب کنید.
مرحله 2: انتخاب اسکنر
بسته به نوع پروژه، یکی از اسکنرها را انتخاب کنید.
مرحله 3: بررسی نتایج
لیست رشتههای استخراج شده به همراه خط دقیق و کانتکس را مشاهده کنید.
مرحله 4: ترجمه و خروجی
رشتهها را به صورت دستی یا با Google Translate ترجمه کنید.
مرحله 5: تزریق
تزریق مستقیم یا تزریق کلید i18n را انتخاب کنید.
🔄 حالتهای هوشمند ادغام
Keep Old
ترجمههای موجود را حفظ میکند.
Overwrite
همه ترجمهها را با جدید جایگزین میکند.
Smart
ترجمههای معتبر را نگه میدارد و موارد جدید را اضافه میکند. حالت پیشنهادی
Keep Orphaned
کلیدهایی که در کد نیستند را حفظ میکند.
🛠️ پیشنیازها
- ✅ Python 3.8 یا بالاتر
- ✅ بدون نیاز به کتابخانههای خارجی
- ✅ اختیاری: polib برای خروجی PO/POT
- ✅ اختیاری: chardet برای تشخیص خودکار encoding
🚀 دانلود LocEngine و شروع کنید
پروژههای خود را بینالمللی کنید و به بازارهای جهانی برسید!
© 2024-2026 LocEngine. All rights reserved. | Version 4.6.5
Web Scanner & I18N Scanner – Professional translation string extraction for modern web development