راهنمای بومی‌سازی و بین‌المللی‌سازی (i18n)

به راهنمای بومی‌سازی و بین‌المللی‌سازی (i18n) فینچ خوش آمدید! این راهنما شما را با مراحل بومی‌سازی و چندزبانه کردن برنامه فینچ آشنا می‌کند. چه توسعه‌دهنده حرفه‌ای باشید یا تازه‌کار، فینچ ابزارهای قدرتمندی برای ساده‌سازی توسعه برنامه‌های چندزبانه ارائه می‌دهد.

i18n در فینچ

فینچ یک سیستم داخلی i18n برای بومی‌سازی و بین‌المللی‌سازی برنامه شما ارائه می‌دهد. این سیستم به شما اجازه می‌دهد چندین زبان تعریف و متن‌های برنامه خود را به آن زبان‌ها ترجمه کنید.

نحوه استفاده از i18n در فینچ

استفاده از i18n در فینچ بسیار ساده است. کافی است زبان‌های خود را در فایل en.json یا سایر فایل‌های زبان تعریف کنید. مثال برای تعریف زبان در فایل fa.json:

{
  "dir": "rtl",
  "example.params": "نام من {name} است، سن من {age} سال است",
  "example.path": "مسیر تست از example.path برای محلی‌سازی",
  "example.tstring": "تست اشیاء TString برای i18n",
  "logo": "Finch",
  "logo.title": "Finch"
}

i18n در قالب‌ها

می‌توانید در قالب‌های خود با سینتکس {{ $t('logo.title') }} از i18n استفاده کنید. مثال:

<h1>{{ $t('logo.title') }}</h1>

i18n در کنترلرها

استفاده از i18n در کنترلرها نیز بسیار ساده است. می‌توانید از متد "string".tr برای ترجمه متن خود استفاده کنید. مثال:

rq.renderString(text: 'logo.title'.tr);

پارامترها در i18n

می‌توانید در متن‌های i18n خود از پارامتر استفاده کنید. مثال:

rq.renderString(text: 'example.params'.tr.write({'name': 'Alexandre', 'age': 30}));

و در قالب نیز می‌توانید به این صورت استفاده کنید:

<p>{{ $t('example.params', {'name': 'Alexandre', 'age': 30}) }}</p>

پارامتر آرایه‌ای در i18n

می‌توانید از پارامتر آرایه‌ای نیز در i18n استفاده کنید. مثال:

rq.renderString(text: 'example.params'.tr.writeArr(['Alexandre', 30]));

and in your template you can use it like this:

{
    "example.params": "نام من {0} است، سن من {1} سال است",
}
<p>{{ $t('example.params', ['Alexandre', 30]) }}</p>