ترجمه و بومیسازی اپلیکیشن با کمک هوش مصنوعی
ترجمهی رشتهها فقط اولین قدم است. آینهکردن چیدمان، جهت آیکونها، عدد و تقویم و طول متن روی دکمه چیزهاییاند که اپ را واقعاً فارسی میکنند.
اپ آماده است، رشتهها به فارسی برگشتهاند، و در اولین اجرا سه چیز به چشم میآید: دکمهی «ذخیرهی تغییرات» از کادرش بیرون زده، فلش «بعدی» همچنان به راست اشاره میکند، و تاریخ عضویت «۱۹ آگوست» نوشته شده. متن فارسی شده؛ اپ فارسی نشده.
این فاصله را با ترجمهی بهتر پر نمیکنید. چیزی که کم است بومیسازی است — تغییر رفتار رابط، نه تعویض کلمهها. مدلهای زبانی این مسیر را کوتاه میکنند، ولی همانجا که انتظار دارید بیشترین کمک را بکنند بیدقتاند.
ترجمه یک لایه است، بومیسازی چند لایه
ترجمه در سطح متن اتفاق میافتد؛ بومیسازی در سطح محصول: جهت خواندن، شکل عدد، تقویم، قالب شمارهی موبایل، نمونهدادهی فرم خالی. اگر جاینمای فیلد نام هنوز «John Doe» است، ترجمه تمام شده و بومیسازی شروع نشده.
| لایه | ترجمهی صرف | بومیسازی |
|---|---|---|
| متن رابط | رشتهها فارسی میشود | لحن و طول هم متناسب میشود |
| چیدمان | دستنخورده میماند | کل صفحه آینه میشود |
| عدد و تاریخ | لاتین و میلادی میماند | شمسی و در جای درست |
| فرم و نمونهداده | John Doe سر جایش است | موبایل و نام ایرانی |
راستبهچپ یعنی آینهکردن، نه برگرداندن متن
خطای رایج این است که فکر کنیم راستبهچپ یعنی متن از راست شروع شود. در واقع کل محور افقی برمیگردد: منوی کناری به راست میرود، دکمهی اصلی فرم جایش با لغو عوض میشود، و نوار پیشرفت از راست پر میشود.
راه درستش هم روشن است: هرجا در استایل نوشتهاید چپ یا راست، معادل جهتآگاهش را بگذارید — خصوصیتهای منطقی در وب، start و end در اندروید، پدینگ جهتآگاه در فلاتر. از اول این کار را بکنید؛ وگرنه باید تکتک صفحهها را وصله بزنید. یک تله هم در اجرای واقعی پیدا میشود: «نسخه 2.3.1 نصب شد» جابهجا دیده میشود، چون الگوریتم دوجهته مرز را نمیداند.
کدام آیکون آینه میشود و کدام نه
قاعده ساده است: هر چیزی که جهت را میرساند برمیگردد و هر چیزی که هویت دارد سر جایش میماند. فلش بازگشت و آیکون ارسال پیام آینه میشوند؛ لوگوی برند و علامت تیک، نه.
اینجا مدل به کار میآید: فهرست آیکونهای پروژه را بدهید و بخواهید در دو ستون دستهبندی کند. تصمیم دربارهی این جزئیات در هوش مصنوعی برای طراحان رابط کاربری بازتر شده.
عدد، تقویم شمسی و مرتبسازی الفبایی
ارقام فارسی متن را طبیعیتر میکنند، ولی نه همهجا: برای عددی که کاربر باید کپی کند — کد پیگیری، شمارهی کارت — رقم لاتین بگذارید. ورودی هم مسئله دارد؛ کاربر با صفحهکلید فارسی عدد را فارسی تایپ میکند و اگر اعتبارسنجی فقط لاتین بپذیرد، «شمارهی نامعتبر» میگیرد در حالی که شماره درست است.
تقویم شمسی هم برای بازار ایران انتخابی نیست؛ کاربر اپ نوبتدهی آرایشگاه که تاریخ میلادی میبیند باید ذهنی حساب کند. ولی خودتان تبدیل تاریخ ننویسید: قواعد کبیسهی گاهشماری هجری شمسی فرق دارد و کد دستساز معمولاً در اسفند سال کبیسه یک روز خطا میدهد. اگر از مدل کمک میگیرید، آزمون واحد برای اول و آخر سال بنویسید؛ روشش در برنامهنویسی با هوش مصنوعی آمده.
مرتبسازی هم به هم میریزد: «آرش» بعد از «یاسر» میآید، چون ترتیب پیشفرض بر اساس کد یونیکد است نه الفبای فارسی. مقایسهگر زبانآگاه با محلی فارسی بگذارید و حرفهای عربی را نرمال کنید — همین جستوجو را هم درست میکند. ریشهی این مشکلها در محدودیتهای فارسی در هوش مصنوعی باز شده.
فایل زبان: رشتهی بیزمینه غلط ترجمه میشود
بزرگترین منبع خطا در ترجمهی ماشینی رابط، نبود زمینه است. Order هم «سفارش» است هم «ترتیب»؛ Post هم «آگهی» است هم «ارسال کردن». مدل بدون دیدن صفحه حدس میزند، و در فایل چهارصدرشتهای حدسها ناسازگار میشوند.
پس ساختار فایل زبان را عوض کنید: کنار هر کلید بنویسید این رشته کجا دیده میشود و چند نویسه جا دارد. همان منطقِ نوشتن برای خوانندهی ناآشنا که در نوشتن مستندات فنی گفته شده — با این تفاوت که خواننده مدل است.
مدلها در فارسی دو خطای تکراری دارند: نیمفاصله را به فاصلهی معمولی تبدیل میکنند («می شود» بهجای «میشود») و گاهی «ي» و «ك» عربی میگذارند. اسکریپتی بنویسید که خروجی هر ترجمه را نرمالسازی کند؛ روی بازبینی چشمی حساب نکنید.
دکمهای که میشکند: مسئلهی طول متن
فارسی معمولاً جمعوجورتر از انگلیسی است ولی نه همیشه؛ Sign in با «ورود به حساب کاربری» فاصلهی زیادی دارد. اگر دکمهها عرض ثابت دارند، نسخهی فارسی جایی میشکند که در طراحی اصلی مشکلی نبود. برای هر رشته حداکثر طول بگذارید و در پرامپت قید کنید تا مدل معادل کوتاه پیدا کند، و چیدمان را انعطافپذیر بسازید — همان مسیری که در هوش مصنوعی و دسترسپذیری دنبال میشود.
پرامپت آماده برای ترجمهی فایل رشتهها
این پرامپت را روی دستههای پنجاهتایی اجرا کنید نه کل فایل، و در هر دسته واژهنامهی پروژه را دوباره بدهید:
تو مترجم رابط کاربری هستی. رشتههای زیر را به فارسی برگردان.
قواعد:
- خروجی همان ساختار JSON ورودی باشد. کلیدها را ترجمه نکن.
- «زمینه» میگوید رشته کجای اپ دیده میشود؛ لحن را با آن هماهنگ کن.
- «حداکثر طول» را رعایت کن؛ بلندتر شد، معادل کوتاهتر پیدا کن.
- هرچه داخل آکولاد است متغیر است؛ عیناً بماند.
- نیمفاصله را رعایت کن. «ی» و «ک» فارسی باشند نه عربی.
- واژهنامه: order = سفارش، post = آگهی.
- اگر رشتهای مبهم است، در فیلد «تردید» بنویس چرا.
ورودی:
{"btn_save": {"en": "Save changes", "زمینه": "دکمهی فرم نمایه", "حداکثر طول": 16}}
فیلد «تردید» مهمترین بخش است: بهجای حدس بیصدا، فهرست رشتههایی را میدهد که باید خودتان ببینید. الگوی چنین پرامپتهایی در پرامپتنویسی فارسی و تفاوت مدلها در ترجمه با هوش مصنوعی آمده. در نارنگی هم میشود یک دسته را به دو مدل داد و مقایسه کرد.
کجا نباید به مدل تکیه کرد
سه جا خروجی را بدون بازبینی منتشر نکنید. اول متن حقوقی: شرایط استفاده و سیاست حریم خصوصی ترجمهی لفظی برنمیدارد؛ مدل پیشنویس میدهد و مسئولیت با کارشناس است. دوم اصطلاحهای اختصاصی کارتان، که مدل بدون واژهنامه هر بار جور دیگری ترجمه میکند.
سوم و مهمتر از همه: مدل صفحه را نمیبیند. نمیداند رشته زیر یک آیکون کوچک است یا وسط یک هشدار قرمز، و نمیفهمد در آن قاب جا میشود یا نه. هر ادعایی که بگوید ترجمهی رابط کاملاً خودکارشدنی است، همین را نادیده گرفته.
آزمون با کاربر واقعی، نه با خودتان
شما که ماهها روی این اپ کار کردهاید دیگر متن را نمیخوانید؛ حفظید. سه نفر که اپ را ندیدهاند بیاورید، یک کار مشخص بدهید — «ثبت سفارش و بعد لغو کردنش» — و نگاه کنید کجا مکث میکنند. هر مکث یعنی یک رشتهی مبهم یا یک دکمهی بدجا.
اینها را هم امتحان کنید: زبان دستگاه را عوض کنید و برگردید، فونت سیستم را بزرگترین کنید، اپ را روی صفحهی کوچک اجرا کنید. ساخت سناریوی چنین آزمونهایی در هوش مصنوعی برای تست نرمافزار شرح داده شده، و مفهوم کلی حوزه در بینالمللیسازی و بومیسازی جمع شده.
جمعبندی
بومیسازی اپ سه بخش دارد که فقط یکیشان ترجمه است. دوم چیدمان و جهت است که با خصوصیتهای جهتآگاه تقریباً رایگان به دست میآید، و سوم داده: عدد، تاریخ، مرتبسازی و اعتبارسنجی.
سهم مدل هم روشن است: پیشنویس رشتهها، دستهبندی آیکونها و ساخت سناریوی آزمون. سهم شما زمینهدادن است — فایل زبانی که میگوید هر رشته کجا دیده میشود و چقدر جا دارد. هر ساعتی که روی آن بگذارید، در زبان بعدی برمیگردد.
برای ادامه: