void Import_Language_from_Cache(int langIndex, string langData, bool useFallback, bool onlyCurrentSpecialization) { int iTerm = 0; int index = 0; while (index < langData.Length) { var termData = mTerms[iTerm]; iTerm++; int nextIndex = langData.IndexOf("[i2t]", index); if (nextIndex < 0) { nextIndex = langData.Length; } string translation = null; if (index != nextIndex) { translation = langData.Substring(index, nextIndex - index); if (translation.StartsWith("[i2fb]")) { translation = (useFallback) ? translation.Substring(6) : null; } if (onlyCurrentSpecialization && translation != null) { translation = SpecializationManager.GetSpecializedText(translation, null); } } termData.Languages[langIndex] = translation; index = nextIndex + 5; } }
public List <string> GetAllSpecializations() { List <string> values = new List <string>(); for (int i = 0; i < Languages.Length; ++i) { SpecializationManager.AppendSpecializations(Languages[i], values); } return(values); }
[SerializeField] private string[] Languages_Touch = null; // TO BE REMOVED IN A FUTURE RELEASE public string GetTranslation(int idx, string specialization = null) { string text = Languages[idx]; if (text != null) { text = SpecializationManager.GetSpecializedText(text, specialization); text = text.Replace("[i2nt]", "").Replace("[/i2nt]", ""); } return(text); }
public void RemoveSpecialization(int idx, string specialization) { var text = Languages[idx]; if (specialization == "Any" || !text.Contains("[i2s_" + specialization + "]")) { return; } var dict = SpecializationManager.GetSpecializations(text); dict.Remove(specialization); Languages[idx] = SpecializationManager.SetSpecializedText(dict); }
public static void CreateQueries(string text, string LanguageCodeFrom, string LanguageCodeTo, TranslationDictionary dict) { if (!text.Contains("[i2s_")) { CreateQueries_Plurals(text, LanguageCodeFrom, LanguageCodeTo, dict); return; } var variants = SpecializationManager.GetSpecializations(text); foreach (var kvp in variants) { CreateQueries_Plurals(kvp.Value, LanguageCodeFrom, LanguageCodeTo, dict); } }
public static string RebuildTranslation(string text, TranslationDictionary dict, string LanguageCodeTo) { if (!text.Contains("[i2s_")) { return(RebuildTranslation_Plural(text, dict, LanguageCodeTo)); } var variants = SpecializationManager.GetSpecializations(text); var results = new Dictionary <string, string>(); foreach (var kvp in variants) { results[kvp.Key] = RebuildTranslation_Plural(kvp.Value, dict, LanguageCodeTo); } return(SpecializationManager.SetSpecializedText(results)); }
void Import_Language_from_Cache(int langIndex, string langData, bool useFallback, bool onlyCurrentSpecialization) { int index = 0; while (index < langData.Length) { int nextIndex = langData.IndexOf("[i2t]", index); if (nextIndex < 0) { nextIndex = langData.Length; } // check for errors int termNameEnd = langData.IndexOf("=", index); if (termNameEnd >= nextIndex) { return; } string termName = langData.Substring(index, termNameEnd - index); index = termNameEnd + 1; var termData = GetTermData(termName, false); if (termData != null) { string translation = null; if (index != nextIndex) { translation = langData.Substring(index, nextIndex - index); if (translation.StartsWith("[i2fb]")) { translation = (useFallback) ? translation.Substring(6) : null; } if (onlyCurrentSpecialization && translation != null) { translation = SpecializationManager.GetSpecializedText(translation, null); } } termData.Languages[langIndex] = translation; } index = nextIndex + 5; } }
public void SetTranslation(int idx, string translation, string specialization = null) { Languages[idx] = SpecializationManager.SetSpecializedText(Languages[idx], translation, specialization); }