public IEnumerator LoadJsonLanguageData(string languageCode) { yield return(LoadFileContents(languageCode)); try { loadedLanguage = languageCode; loadedData = JsonUtility.FromJson <LocalizationData>(loadedJsonText); localizedDictionary = new Dictionary <string, string>(loadedData.strings.Length); foreach (LocalizationItem item in loadedData.strings) { localizedDictionary.Add(item.key, item.value); } ready = true; loaded = true; } catch (Exception e) { GameSettings.MyDebug(e.Message); PlayerPrefs.DeleteKey("LanguageCode"); SceneSwitcher.LoadScene2(GameSettings.SCENE_LANGUAGE_SELECT); } }
private Binary PublishLocalizationData(IEnumerable <Binary> binaries, Component relatedComponent) { ComponentTemplatesFilter ctFilter = new ComponentTemplatesFilter(Session) { AllowedOnPage = false, BaseColumns = ListBaseColumns.IdAndTitle }; const string dataPresentationTemplateTitle = "Generate Data Presentation"; ComponentTemplate dataPresentationTemplate = Publication.GetComponentTemplates(ctFilter).FirstOrDefault(ct => ct.Title == dataPresentationTemplateTitle); string dataPresentationUri = dataPresentationTemplate?.Id ?? string.Empty; string localizationId = Publication.Id.ItemId.ToString(); List <SiteLocalizationData> siteLocalizations = DetermineSiteLocalizations(Publication); LocalizationData localizationData = new LocalizationData { IsDefaultLocalization = siteLocalizations.First(p => p.Id == localizationId).IsMaster, IsXpmEnabled = IsXpmEnabled, MediaRoot = Publication.MultimediaUrl, SiteLocalizations = siteLocalizations.ToArray(), ConfigStaticContentUrls = binaries.Select(b => b.Url).ToArray(), DataPresentationTemplateUri = dataPresentationUri }; return(AddJsonBinary(localizationData, relatedComponent, _configStructureGroup, "_all", variantId: "config-bootstrap")); }
public void LoadLocalizedText(string fileName) { localizedText = new Dictionary <string, string> (); string filePath = Path.Combine(Application.streamingAssetsPath, fileName); if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData> (dataAsJson); // 因为 Unity 不支持 无序 字典等结构的 序列化,因此我们需要将其 转化为数组,使其能够序列化。 for (int i = 0; i < loadedData.items.Length; i++) { localizedText.Add(loadedData.items [i].key, loadedData.items [i].value); } Debug.Log("Data loaded, dictiory Contains:" + localizedText.Count); } else { Debug.LogError("cannot find file!"); } isReady = true; }
public List <LocalizationData> localizationDataList; //국가데이터 테이블 정보 //테이블 파싱 public void ParseTable(JsonData jData) { //초기화 if (localizationDataList != null) { localizationDataList.Clear(); localizationDataList = null; } //생성 localizationDataList = new List <LocalizationData>(); //파싱 for (int a = 0; a < jData.Count; a++) { LocalizationData data = new LocalizationData(); // 언어 이름 data.id = JsonParser.ToString(jData[a]["id"]); // 언어로 표현할 텍스트 data.localizingText = JsonParser.ToString(jData[a]["localizingText"]); // 언어 이름(텍스트) data.languageName = JsonParser.ToString(jData[a]["languageName"]); //입력 localizationDataList.Add(data); } //Debug.Log("ParseTable Ok"); }
public void LoadLocalizedText(string fileName) { localizedText = new Dictionary <string, string>(); //#if UNITY_EDITOR string filePath = Path.Combine(Application.streamingAssetsPath, fileName); //#elif UNITY_ANDROID // string filePath = Path.Combine ("jar:file://" + Application.dataPath + "!assets/", fileName); //#endif //if (File.Exists(filePath)) //{ #if UNITY_EDITOR string dataAsJson = File.ReadAllText(filePath); #elif UNITY_ANDROID WWW reader = new WWW(filePath); while (!reader.isDone) { } string dataAsJson = reader.text; #endif LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); } #if UNITY_EDITOR Debug.Log("Data loaded, dictionary contains: " + localizedText.Count + " entries"); #endif _currentLanguage = fileName.Replace(".json", ""); isReady = true; }
public static async Task SaveAsync(Stream stream, LocalizationData data) { string json = System.Text.Json.JsonSerializer.Serialize(data); byte[] bytes = json.GetBytes <UTF8Encoding>(); await stream.WriteAsync(bytes).ConfigureAwait(false); }
public void LoadLanguage(string language) { isReady = false; needUpdate = true; currentLanguage = language; string namefile = "localizedText_" + language; localizedText = new Dictionary <string, string>(); TextAsset textasset = Resources.Load <TextAsset>(namefile); if (textasset != null) { string dataAsJson = textasset.text; LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); } Debug.Log("Data loaded, dictionary contains: " + localizedText.Count + " entries."); } else { Debug.LogError("Cannot find file!"); } isReady = true; }
public void AddData(GameObject iObj) { if (iObj == null) { return; } if (m_LocalizationDataDic.ContainsKey(iObj.name)) { GameObject.Destroy(iObj); return; } LocalizationData _LD = iObj.GetComponent <LocalizationData>(); if (_LD == null) { GameObject.Destroy(iObj); return; } m_LocalizationDataDic.Add(iObj.name, _LD); if (m_LoadedCB != null) { m_LoadedCB(); m_LoadedCB = null; } }
//public void LoadLocalizedText(string fileName) //{ // localizedText = new Dictionary<string, string>(); // string filePath = Path.Combine(Application.streamingAssetsPath, fileName); // if (!File.Exists(filePath)) // { // filePath = Path.Combine(Application.streamingAssetsPath, "localizedText_en.json"); // } // string dataAsJson = File.ReadAllText(filePath); // Debug.Log("dataAsJson: " + dataAsJson); // LocalizationData loadedData = JsonUtility.FromJson<LocalizationData>(dataAsJson); // Debug.Log("loadedData.Items.Length: " + loadedData.Items.Length); // for (int i = 0; i < loadedData.items.Length; i++) // { // localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); // } // Debug.Log(filePath + " Data loaded, dictionary contains: " + localizedText.Count + " entries"); // LocalizationManagerIsReady = true; //} //public IEnumerator LoadLocalizedText(string fileName) //{ // localizedText = new Dictionary<string, string>(); // var filePath = Path.Combine(Application.streamingAssetsPath + "/", fileName); // string dataAsJson; // if (filePath.Contains("://") || filePath.Contains(":///")) // { // UnityEngine.Networking.UnityWebRequest www = UnityEngine.Networking.UnityWebRequest.Get(filePath); // yield return www.SendWebRequest(); // dataAsJson = www.downloadHandler.text; // } // else // { // dataAsJson = File.ReadAllText(filePath); // } // LocalizationData loadedData = JsonUtility.FromJson<LocalizationData>(dataAsJson); // for (int i = 0; i < loadedData.items.Length; i++) // { // localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); // } // LocalizationManagerIsReady = true; //} public IEnumerator LoadLocalizedText(string fileName) { localizedTextAll = new Dictionary <string, string>(); foreach (var file in listLocalizedFile) { var filePath = Path.Combine(Application.streamingAssetsPath + "/", file); string dataAsJson; if (filePath.Contains("://") || filePath.Contains(":///")) { UnityEngine.Networking.UnityWebRequest www = UnityEngine.Networking.UnityWebRequest.Get(filePath); yield return(www.SendWebRequest()); dataAsJson = www.downloadHandler.text; } else { dataAsJson = File.ReadAllText(filePath); } LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { localizedTextAll.Add(file + "_" + loadedData.items[i].key, loadedData.items[i].value); Debug.Log("localizedTextAll.Add " + file + "_" + loadedData.items[i].key + ", " + loadedData.items[i].value); } } LocalizationManagerIsReady = true; }
public void ChangeLocalizedText(string fileName) { Debug.Log("1"); localizedText = new Dictionary <string, string>(); string filePath = Path.Combine(Application.streamingAssetsPath, fileName); if (File.Exists(filePath)) { Debug.Log("1"); localizedText.Clear(); string dataAsJson = File.ReadAllText(filePath); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); } Debug.Log("Data Loaded, dictionary contains: " + localizedText.Count + " entries"); SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); Debug.Log("1"); } else { Debug.LogError("Cannot find file!"); } }
public void Initialization() { //로드한다. string fileName = PlayerPrefs.GetString("language"); list = new Dictionary <string, string>(); string filePath = Path.Combine(Application.streamingAssetsPath, fileName); Debug.Log(Application.streamingAssetsPath); if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { list.Add(loadedData.items[i].key, loadedData.items[i].value); } Debug.Log("Data loaded, dictionary contains: " + list.Count + " entries"); } else { Debug.LogError("Cannot find file!"); } isReady = true; }
void retrieveLocalizationText(string dataAsJson, int langIndex, SystemLanguage lang) { LocalUIText.Clear(); if (dataAsJson != "" && dataAsJson != null) { LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { LocalUIText.Add(loadedData.items[i].key, loadedData.items[i].value); } LocalTextLoaded = true; CurrentSystemLanguage = lang; currentLanguage = langIndex; PlayerPrefs.SetInt("LangIndex", currentLanguage); } else { LocalTextLoaded = false; } if (OnLocalizedTextLoaded != null) { OnLocalizedTextLoaded(); } if (!LocalTextLoaded && loadStart) { currentLanguage = 0; CurrentSystemLanguage = DefaultSystemLanguage; } }
// Update is called once per frame void Update() { if (playerDistanceComponent != null) { if (FlowManager.GetGameState() == GameState.InGame) { foreach (PlanetDefiner planet in planets.planets) { if (!isReachedArray[idx]) { if (playerDistanceComponent.neutrinoPercurredDistance >= planet.planetDistance) { scoreText.text = LocalizationData.GetDescription(extraTextBefore) + " " + LocalizationData.GetDescription(planet.planetName) + LocalizationData.GetDescription(extraTextAfter); isReachedArray[idx] = true; StartCoroutine(awaitFunc()); } } idx++; } idx = 0; } } }
public void LoadLocalizedText(string fileName) { localizedText = new Dictionary <string, string>(); string filePath = Path.Combine(Application.streamingAssetsPath, fileName); if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); // deserialize // assign the data from loadedData into the localizedText dictionary for (int i = 0; i < loadedData.items.Length; i++) { localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); } Debug.Log("Data loaded, dictionary contains " + localizedText.Count + " entries"); } else { Debug.LogError("Cannot find file!"); } isReady = true; }
public static void LoadLocalisedText(string filename) { Ready = false; localisedStrings = new Dictionary <string, string>(); string path = Path.Combine(Application.streamingAssetsPath, filename); bool set = false; LocalizationData data = IOUtility.LoadFromJSON <LocalizationData>(path, out set); if (set) { foreach (KeyValuePair pair in data.keyValuePairs) { localisedStrings.Add(pair.key, pair.value); } } else { Debug.LogError("Could not load file at path : " + path); } Ready = true; EventManager.BroadcastEvent(ChangedEventTag); }
public void LoadLocalizedText(string fileName) { localizedText = new Dictionary <string, string>(); fileName += ".json"; string filePath = Path.Combine(Application.streamingAssetsPath, fileName); if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); foreach (LocalizationItem item in loadedData.items) { localizedText.Add(item.key, item.value); } Debug.Log("Data Loaded from: " + fileName + ", dictionary contains:" + localizedText.Count + " entries."); } else { Debug.LogError("Cannot find localization text file."); } isReady = true; }
public static void SaveNewLocalizedText(string fileName, string Key, string value) { List <LocalizationItem> localizedText = new List <LocalizationItem>(); string filePath = Path.Combine(Application.streamingAssetsPath, fileName); if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath, System.Text.Encoding.UTF8); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { localizedText.Add(new LocalizationItem(loadedData.items[i].key, loadedData.items[i].value)); } localizedText.Add(new LocalizationItem(Key, value)); loadedData.items = localizedText.ToArray(); Debug.Log(localizedText.ToArray()); string jsonString = JsonUtility.ToJson(loadedData); File.WriteAllText(filePath, jsonString, System.Text.Encoding.UTF8); } else { Debug.LogError("Cannot find file!"); } }
public void LoadLocalizedText(string fileName) { LocalizedDictionary dictionary = new LocalizedDictionary(); string filePath = Path.Combine(Application.streamingAssetsPath, fileName); if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData> (dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { dictionary.localizedText.Add(loadedData.items [i].unloc, loadedData.items [i].loc); } if (dictionary.localizedText.ContainsKey("LOC_NAME")) { dictionary.localizedName = dictionary.localizedText ["LOC_NAME"]; } dictionaries.Add(dictionary); Debug.Log("Loaded localization data for " + dictionary.localizedName + ", dictionary contains: " + dictionary.localizedText.Count + " entries"); } else { Debug.Assert(false, "Cannot find file!"); } }
public IAudioSource PlayDialogue(LocalizationData data, System.Action callback, bool clearPreviousCallback = false) { if (clearPreviousCallback) { dialogueEndedCallbacks.Clear(); } if (!string.IsNullOrEmpty(LocalizationManager.GetLocalizedAudioFileName(data.Id))) { AudioClip clip = GetAudioClip(data); var wrapper = new AudioSourceWrapper(dialogueGroup.Play(clip), dialogueGroup, this); if (callback != null) { dialogueEndedCallbacks[wrapper] = callback; } return(wrapper); } else { if (callback != null) { callback(); } } return(null); }
public void LoadLocalizedText(SystemLanguage language) { localizedText = new Dictionary <string, string>(); string fileName = language.ToString() + ".json"; string filePath = Path.Combine(Application.streamingAssetsPath, fileName); string dataAsJson; if (Application.platform == RuntimePlatform.Android) { UnityWebRequest reader = new UnityWebRequest(filePath); dataAsJson = reader.downloadHandler.text; } else { dataAsJson = File.ReadAllText(filePath); } LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); } isReady = true; }
public void LoadLocalizedText(string fileName) { localizedText = new Dictionary <string, string>(); string filePath = Path.Combine(Application.streamingAssetsPath, "Localization/" + fileName); if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.data.Length; i++) { localizedText.Add(loadedData.data[i].key, loadedData.data[i].value); } Debug.Log("Localization Manager - Data loaded from File: " + filePath); Debug.Log("Localization Manager - Dictionary contains: " + localizedText.Count + "entries"); } else { Debug.LogError("Localization Manager - Cannot find file: " + filePath); } IsReady = true; }
public Dictionary <string, string> GetDictionaries(string fileName) { Dictionary <string, string> dictionary = new Dictionary <string, string>(); string filePath = Path.Combine(Application.streamingAssetsPath, fileName); if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { dictionary.Add(loadedData.items[i].key, loadedData.items[i].value); } Debug.Log("Data loaded, dictionary contains: " + dictionary.Count + " entries"); return(dictionary); } else { Debug.LogError("Cannot find file"); return(null); } }
public static void ChangeLanguage(string lng) { const string DEFAULT_LANGUAGE = "ru"; UI.Instance.debugLng.text = lng; if (Resources.Load <Object>(lng) == null) { UI.Instance.debugLng.text = $"{lng}/"; lng = DEFAULT_LANGUAGE; UI.Instance.debugLng.text += lng; } GameDataManager.data.language = lng; localizedText = new Dictionary <string, string>(); string json = Resources.Load <TextAsset>(lng).text; LocalizationData localizationData = JsonUtility.FromJson <LocalizationData>(json); foreach (var item in localizationData.items) { localizedText.Add(item.key, item.value); } }
public void LoadLocalizedText(string fileName) { localizedText = new Dictionary <string, string>(); if (Application.platform == RuntimePlatform.Android) { StartCoroutine(LoadLocalizedTextOnAndroid(fileName)); return; } string filePath = Path.Combine(Application.streamingAssetsPath, fileName); string dataAsJson; if (File.Exists(filePath)) { dataAsJson = File.ReadAllText(filePath); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); } Debug.Log("Data loaded, dictionnary contains: " + localizedText.Count + " entries"); } else { Debug.LogError("Cannot find localized text file"); } isReady = true; }
//加载本地化文件 public void LoadLocalizedText(string fileName) { //创建对应的键值对 localizedText = new Dictionary <string, string>(); //获取文件路径 string filePath = Path.Combine(Application.streamingAssetsPath, fileName); //如果文件系统中存在指定路径 if (File.Exists(filePath)) { //读取文件所有行并且返回一个字符串 string dataAsJson = File.ReadAllText(filePath); /*JSON采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。*/ /*JsonUtility.FromJson<T>(string json)这种方法使用Unity序列化器; 因此您创建的类型T必须由序列化程序支持。它必须是一个用Serializable属性标记的普通类/结构体。且非继承*/ //将JSON格式的输入转换成LocalizationData下的属性 LocalizationData loadData = JsonUtility.FromJson <LocalizationData>(dataAsJson); //使用生成匹配的键值对 for (int i = 0; i < loadData.items.Length; i++) { localizedText.Add(loadData.items[i].key, loadData.items[i].value); } Debug.Log("Data loaded, dictionary contains: " + localizedText.Count + " entries"); } else { Debug.LogError("Cannot find file!"); } isReady = true; }
private IEnumerator LoadLocalizedTextOnAndroid(string fileName) { string filePath; filePath = Path.Combine(Application.streamingAssetsPath + Path.DirectorySeparatorChar, fileName); string dataAsJson; if (filePath.Contains("://") || filePath.Contains(":///")) { UnityWebRequest www = UnityWebRequest.Get(filePath); yield return(www.SendWebRequest()); dataAsJson = www.downloadHandler.text; } else { dataAsJson = File.ReadAllText(filePath); } LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); } isReady = true; }
public void LoadLocalizedText(string fileName) { localizedText = new Dictionary <string, string>(); // string filePath; string dataAsJson = ""; // filePath = Path.Combine(Application.streamingAssetsPath, fileName); dataAsJson = Resources.Load <TextAsset>(fileName).ToString(); bool fileFound = dataAsJson != ""; if (fileFound) { PlayerPrefs.SetString("LanguageSet", fileName); LocalizationData loadedData = JsonUtility.FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); } smallSize = loadedData.smallSize; normalSize = loadedData.normalSize; BigSize = loadedData.bigSize; font = Resources.Load <Font>(loadedData.font); Debug.Log("Data loaded, dictionary contains: " + localizedText.Count + " entries"); } else { Debug.LogError("Cannot find file!"); } isReady = true; }
//------------------------------------------------------------------------- /// <summary> /// Load the selected language. /// </summary> /// <param name="languageFile">File saving the data for the selected /// language</param> public void LoadLocalizedData(TextAsset languageFile) { _localizedText = new Dictionary <string, string> (); if (languageFile.text != "") { string dataAsJson = languageFile.text; LocalizationData loadedData = JsonUtility. FromJson <LocalizationData>(dataAsJson); for (int i = 0; i < loadedData.items.Length; i++) { _localizedText.Add(loadedData.items[i].key, loadedData.items[i].value); } for (int i = 0; i < _texts.Count; i++) { _texts[i].text.text = GetLocalizedValue(_texts[i].key); } Debug.Log("Data loaded, dictionary contains: " + _localizedText.Count + " entries"); } else { Debug.LogError("Cannot find file!"); } }
private void Start() { string json = File.ReadAllText(Application.dataPath + "/_project/Localization/LocalizationFile.json"); _currentLocalizationData = JsonUtility.FromJson <LocalizationData>(json); ChooseLocalization(_currentLanguageID); }
/** Funcion llamada al seleccionar el idioma * string fichero: nombre del fichero con el idioma * */ public void CargarTextoLocalizado(string fichero) { textoLocalizado = new Dictionary <string, string> (); //obtendremos la ruta en la que aparecera el fichero string rutaFichero = Path.Combine(Application.streamingAssetsPath, fichero); //si el fichero existe if (File.Exists(rutaFichero)) { //leemos el fichero entero string datosJson = File.ReadAllText(rutaFichero); //modelamos el objeto LocalizationData a partir de los datos JSON mediante la libreria JsonUtility LocalizationData datosCargados = JsonUtility.FromJson <LocalizationData> (datosJson); for (int i = 0; i < datosCargados.items.Length; i++) { textoLocalizado.Add(datosCargados.items [i].key, datosCargados.items [i].value); } Debug.Log("Datos de idioma cargados, el diccionario contiene " + textoLocalizado.Count + " datos"); } else { Debug.LogError("Fichero no encontrado"); } isReady = true; }