Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Dev-tech

#1
Dejo a vuestra disposición Jamendo, un servidor de música ( con descarga gratuita ) para proyectos.
 
https://www.jamendo.com/
#2
Pongo a disposición de quien queda de mi sistema de juego multi-idioma.
 
Creo un carpeta donde pongo los XML  de la traducciones, en mi caso los puse en Resources/Language.
 

 
Para acceder a los XML y detectar el idioma del anfitrión uso los siguientes scripts.
 
 
 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System.Xml;
using System.Text;
public class LanguageManager : MonoBehaviour {

// Idioma
public string langName;
// Configuración
List < Dictionary< string,string > > languages = new List< Dictionary< string, string > >();
public Dictionary < string,string > obj;

     // Iniciar la traducción cuando se requira
public void Init()
{
   LoadLanguage ();
}

    // Setter y Getter del idioma
public string Language {
   set { langName = value; }
   get { return langName; }
}

     // Chequear el idioma antes de cargarlo, esto se debe que si no tienes el idioma del anfitrión, cargará en ingles.
string PathLanguage ()
{
   // Variable string
        string lang = "";
   
         // Chequeo el idioma por si lo tengo ya guardado
   if(PlayerPrefs.HasKey ("Language"))
   {
      lang = PlayerPrefs.GetString ("Language");
   }
   else
   {   
             // Compruevo si existe el idioma del anfitrión
      if (File.Exists (Application.dataPath.ToString () + "/Resources/Language/" + Language + ".xml"))
         lang = Language;
      else
         lang =  "English";

      PlayerPrefs.SetString ("Language",lang);
   }
   
         // Devuelvo la ruta chequeda
   return Application.dataPath.ToString() + "/Resources/Language/"+lang+".xml";
}
     
     // Cargar el idioma que viene de un XML
     void LoadLanguage ()
{
   
         // Ruta chequeada
   string path = PathLanguage ();
   
         // Recuperar datos del XML
   XmlDocument xml = new XmlDocument ();
   xml.Load (path);
   XmlNodeList langList = xml.GetElementsByTagName ("language");
   foreach (XmlNode lang in langList) {
      XmlNodeList content = lang.ChildNodes;
      obj = new Dictionary<string, string>();
      foreach(XmlNode val in content)
      {   
                 // Añadir los dato recopilado en una variable publica para su posterior procesado
         obj.Add (val.Name, val.InnerText);
      }
   }
   // Forma para imprimir el contenido
   Debug.Log (obj["Name"]);
}
}

 
Formato que tiene el XML
 

<?xml version="1.0" encoding="UTF-8" ?>
<language>
<Name>Spanish</Name>
<Txt_Btn_Exit>Salir</Txt_Btn_Exit>
<Txt_Btn_Option>Opciones</Txt_Btn_Option>
<Txt_Btn_Play>Comenzar partida</Txt_Btn_Play>
</language>

 
 
#3
General (Antiguo) / Hola desarrolladores
Febrero 27, 2017, 11:46:39 AM
Muy buenas a todos soy Sergio González de Dev-tech un pequeño desarrollador de aplicaciones informáticas e iniciado de Unity3D.