تغییر محلی در هر زمان

صفحه به روز شده :
تاریخ ایجاد صفحه :

محیط تایید

ویندوز
  • ویندوز 11
ویرایشگر یونیتی
  • دانلود: 2021.3.12f1
سیستم ورودی (Unity Technologies)
  • 1.4.3
تکنولوژی وحدت (Unity Technologies)
  • 1.3.2

پیشنیازهای این نکته

تنظیمات زیر از قبل به عنوان یک فرض برای توصیف این نکته ساخته شده است.

دانش پیش نیاز و اماده سازی

این نکته فرض می کند که متن زیر محلی سازی شده است: اول، لطفا به نکات زیر مراجعه کنید تا برای نمایش متن محلی اماده شود.

قرار دادن دکمه ها برای تغییر محل

اگر ان را در ویرایشگر Unity اجرا کنید، می توانید محل را در گوشه سمت راست بالای صفحه نمایش تغییر دهید، اما پس از ساخت بازی، این عملکرد را ندارد و شما باید خودتان ان را اماده کنید. این بار، من یک دکمه برای تغییر بین سه زبان "ژاپنی (ja)"، "انگلیسی (en)" و "اسپانیایی (es)" قرار می دهم و برای تغییر انها کلیک می کنم.

دستنوشته برای دکمهها

اطمینان حاصل کنید که روش هدف زمانی که شما با کلیک بر روی دکمه نامیده می شود. این یک روش کلی است، بنابراین جزئیات را حذف خواهم کرد. راهنمایی های زیر را برای دستورالعمل های دقیق مشاهده کنید.

ButtonEvent یک اسکریپت با نام ایجاد کنید.

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  /// <summary>Japanese (ja) ボタンをクリックしたとき。</summary>
  public void OnClickJa()
  {
  }

  /// <summary>English (en) ボタンをクリックしたとき。</summary>
  public void OnClickEn()
  {
  }

  /// <summary>Spanish (es) ボタンをクリックしたとき。</summary>
  public void OnClickEs()
  {
  }
}

هر روش را به یک کلیک دکمه اختصاص دهید.

دست زدن به تغییرات محلی

تغییر کد به شرح زیر است:

using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;

public class ButtonEvent : MonoBehaviour
{
  /// <summary>Japanese (ja) ボタンをクリックしたとき。</summary>
  public void OnClickJa()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("ja");
  }

  /// <summary>English (en) ボタンをクリックしたとき。</summary>
  public void OnClickEn()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("en");
  }

  /// <summary>Spanish (es) ボタンをクリックしたとき。</summary>
  public void OnClickEs()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("es");
  }
}

تغییر به خودی خود ساده LocalizationSettings.SelectedLocale است و می تواند به سادگی با تنظیم هدف Locale در ملک تغییر کند. Locale Locale.CreateLocale می توان با تنظیم نام locale در روش ایجاد شده است.

با این حال، از انجا که فرایند تغییر محلی ناهمزمان است،LocalizationSettings.SelectedLocale فرایند بعدی که تنظیم می شود به این معنی نیست که محلی قبلا به طور کامل تغییر کرده است. مراقب باشید اگر شما در حال انجام عملیات وابسته به محل.

اجرا و تایید

این همه چیزی است که برای ان وجود دارد، بنابراین لطفا ان را اجرا کنید و حرکت را بررسی کنید. در گوشه سمت راست بالای صفحه نمایش بازی، می توانید ببینید که منابع مختلف به طور پویا به همان شیوه ای که شما محلی را تغییر می دهید، تغییر می کنند.