دسته‌بندی نشده

i18n



📌 نسخه 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

🔗 انبار وردپرس | LocEngine

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *