Şimdi Ara

UYGULAMA DİLİNİ NASIL İNGİLİZCE YAPARIM?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
8
Cevap
1
Favori
227
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar. Ben oyun geliştirecek düzeyde c# biliyorum. Normalde oyunum Türkçe olacak ama isteyenler İngilizce de yapabilmeli. Bunu nasıl yaparım.



  • Oyununda konuşulacak mı? sesli olarak.

  • K110 kullanıcısına yanıt
    Hayır. Planım hikayeli oyun yapmak. Sadece yazı olacak.
  • Oyununu hem Türkçe hem İngilizce olarak iki kez yazacaksın ve dil seçimine göre biri seçilip çalıştırılacak.

  • http://www.mediafire.com/file/nk71fiedax8d2cp/Language.rar/file
    Bir ara nasil yapilabilir diye dusunurken yapmistim.
    İndirip calisma sekline bakabilirsin save isinide halletmistim bu scripti telefonda bulabilirsem icerigini atarim , bulamazsam aksam hallederim.

    Script bu cozemedigin yer olursa sorabilirsin.

    using System.Collections; 
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    public class Language : MonoBehaviour
    {
    public List<Text> GameTextList = new List<Text>();

    string selectLang = "";
    public List<string> Turkish = new List<string>();
    public List<string> English = new List<string>();
    public List<string> Spanish = new List<string>();
    public List<string> Russian = new List<string>();

    private void Awake()
    {
    selectLang = PlayerPrefs.GetString("selectLang");
    TurkishText();
    EnglishText();
    SpanishText();
    RussianText();
    }
    void Start()
    {
    switch (selectLang)
    {
    case "Turkish":
    TurkishSelect();
    Debug.Log("1");
    break;
    case "English":
    EnglishSelect();
    Debug.Log("2");
    break;
    case "Spanish":
    SpanishSelect();
    Debug.Log("3");
    break;
    case "Russian":
    RussianSelect();
    Debug.Log("4");
    break;
    default:

    break;
    }
    }

    public void TurkishSelect()
    {
    if(GameTextList.Count == Turkish.Count) // Ekli text sayısı ile ekli ceviri aynı ise
    {
    for (int i = 0; i < Turkish.Count; i++)
    {
    GameTextList[i].text = Turkish[i];
    }
    Debug.Log("Turkçe Secildi");
    PlayerPrefs.SetString("selectLang", "Turkish");
    }
    else
    {
    Debug.Log("Uyumsuz miktar");
    return;
    }
    }
    public void EnglishSelect()
    {
    if (GameTextList.Count == English.Count) // Ekli text sayısı ile ekli ceviri aynı ise
    {
    for (int i = 0; i < English.Count; i++)
    {
    GameTextList[i].text = English[i];
    }
    Debug.Log("English Secildi");
    PlayerPrefs.SetString("selectLang", "English");
    }
    else
    {
    Debug.Log("Uyumsuz miktar");
    return;
    }
    }
    public void SpanishSelect()
    {
    if (GameTextList.Count == Spanish.Count) // Ekli text sayısı ile ekli ceviri aynı ise
    {
    for (int i = 0; i < Spanish.Count; i++)
    {
    GameTextList[i].text = Spanish[i];
    }
    Debug.Log("Spanish Secildi");
    PlayerPrefs.SetString("selectLang", "Spanish");
    }
    else
    {
    Debug.Log("Uyumsuz miktar");
    return;
    }
    }
    public void RussianSelect()
    {
    if (GameTextList.Count == Russian.Count) // Ekli text sayısı ile ekli ceviri aynı ise
    {
    for (int i = 0; i < Russian.Count; i++)
    {
    GameTextList[i].text = Russian[i];
    }
    Debug.Log("Russian Secildi");
    PlayerPrefs.SetString("selectLang", "Russian");
    }
    else
    {
    Debug.Log("Uyumsuz miktar");
    return;
    }
    }




    #region Dil Bölümü

    #region Text Sıralaması
    /*
    0 Oyun İsmi
    1 Başlat buton text
    2 Ayarlar buton text
    3 Cıkıs buton text
    */
    #endregion
    void TurkishText()
    {
    Turkish.Add("Taht Oyunları");
    Turkish.Add("Başlat");
    Turkish.Add("Ayarlar");
    Turkish.Add("Çıkış");
    }
    void EnglishText()
    {
    English.Add("Game of Thrones");
    English.Add("Start");
    English.Add("Settings");
    English.Add("Exit");
    }
    void SpanishText()
    {
    Spanish.Add("Game of Thrones");
    Spanish.Add("Comienzo");
    Spanish.Add("Configuraciones");
    Spanish.Add("Salida");
    }
    void RussianText()
    {
    Russian.Add("Игра престолов");
    Russian.Add("Начало");
    Russian.Add("Настройки");
    Russian.Add("Выход");
    }
    #endregion
    }



    < Bu mesaj bu kişi tarafından değiştirildi Baxa -- 25 Kasım 2020; 14:36:28 >
    < Bu ileti mobil sürüm kullanılarak atıldı >




  • iki tane resource tanımlayacan tr en gibi oyunun başlangıcında seçili resource yükleyecen


    https://stackoverflow.com/questions/373388/best-way-to-implement-multi-language-globalization-in-large-net-project

  • Once bi Json dosyası aç, içine key value1 ingilizce degerler olsun value2 türkçe degerler olsun .sonra unity'den telefonun dilini getirmesini sagla, telefonun dili TR ise türkçe Json dosyasının value2 degerlerini alsın TR dışında else ise ingilizce alsın. Bunları bir dosyaya kaydet language.dat gibi oyun o yüklenirken o dosyası okusun. Kullanıcı dili değiştirdiği aman oyun acılırken Türke harici bir dil secerse ingilizce gelecektir. Kullanıcı exit butonuna basınca ,Oyun kapatırken language.dat dosyasını sildir. yada içerisini null yap.

  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.