private void DeleteKey(string fullKeyFileName, string key) { foreach (var language in config.gameExistLanguages) { DataTable data = LanguageDataUtils. LoadFileData(language, fullKeyFileName); data.RemoveData(key); LanguageDataEditorUtils.SaveData(language, fullKeyFileName, data); } }
void SaveData() { LanguageDataUtils. SaveEditorConfig(config); LanguageDataEditorUtils.SaveData(currentLanguage, selectFullFileName, currentFileDataTable); LanguageManager.IsInit = false; LanguageManager.Release(); GlobalEvent.DispatchEvent(EditorEvent.LanguageDataEditorChange); }
private void AddNewKey(string fullKeyFileName, string key) { foreach (var language in config.gameExistLanguages) { DataTable data = LanguageDataUtils.LoadFileData(language, fullKeyFileName); SingleData sd = new SingleData(); sd.Add(LanguageManager.c_mainKey, key); sd.Add(LanguageManager.c_valueKey, ""); data.AddData(sd); LanguageDataEditorUtils.SaveData(language, fullKeyFileName, data); } }
void SaveData() { LanguageDataUtils.SaveEditorConfig(config); LanguageDataEditorUtils.SaveData(currentLanguage, selectFullFileName, currentFileDataTable); LanguageManager.Release(); LanguageManager.SetLanguage(currentLanguage); GlobalEvent.DispatchEvent(EditorEvent.LanguageDataEditorChange); UnityEditor.AssetDatabase.Refresh(); }
void MergeLanguage(string path, SystemLanguage language) { Debug.Log("MergeLanguage " + path); string languageKey = FileTool.GetFileNameByPath(FileTool.RemoveExpandName(path)).Replace(LanguageManager.c_DataFilePrefix + language + "_", "").Replace("_", "/"); Debug.Log("languageKey " + languageKey); string content = ResourceIOTool.ReadStringByFile(path); DataTable aimLanguage = DataTable.Analysis(content); DataTable localLanguage = LanguageDataUtils.LoadFileData(language, languageKey); foreach (var key in aimLanguage.TableIDs) { string value = aimLanguage[key].GetString(LanguageManager.c_valueKey); SingleData sd = new SingleData(); sd.Add(LanguageManager.c_mainKey, key); sd.Add(LanguageManager.c_valueKey, value); if (!localLanguage.TableIDs.Contains(key)) { Debug.Log("新增字段 " + key + " -> " + value); localLanguage.AddData(sd); } else { if (localLanguage[key].GetString(LanguageManager.c_valueKey) != value) { Debug.Log("更新字段 key" + key + " Value >" + localLanguage[key].GetString(LanguageManager.c_valueKey) + "< newValue >" + value + "<"); localLanguage[key] = sd; } } } LanguageDataEditorUtils.SaveData(language, languageKey, localLanguage); }
public Dictionary<string, string> CreateLanguageNewFile(SystemLanguage language, string fullKeyFileName, Dictionary<string, string> contentDic) { Dictionary<string, string> keyPaths = new Dictionary<string, string>(); DataTable data = new DataTable(); data.TableKeys.Add(LanguageManager.c_mainKey); data.TableKeys.Add(LanguageManager.c_valueKey); data.SetDefault(LanguageManager.c_valueKey, "NoValue"); if (contentDic != null) { foreach (var item in contentDic) { SingleData sd = new SingleData(); sd.Add(LanguageManager.c_mainKey, item.Key); sd.Add(LanguageManager.c_valueKey, item.Value); data.AddData(sd); keyPaths.Add(item.Key, fullKeyFileName + "/" + item.Key); } } LanguageDataEditorUtils.SaveData(language, fullKeyFileName, data); return keyPaths; }
private void AddNewKey(SystemLanguage language, string fullKeyFileName, string[] keys) { if (keys == null || keys.Length == 0) { return; } DataTable data = LanguageDataUtils.LoadFileData(language, fullKeyFileName); foreach (var key in keys) { if (data.ContainsKey(key)) { continue; } SingleData sd = new SingleData(); sd.Add(LanguageManager.c_mainKey, key); sd.Add(LanguageManager.c_valueKey, ""); data.AddData(sd); } LanguageDataEditorUtils.SaveData(language, fullKeyFileName, data); UnityEditor.AssetDatabase.Refresh(); }