private void SetGridLayoutStartCorner(int currentLanguageIndex) { LocalizationManager.LocalizedLanguage currenctLanguage = (LocalizationManager.LocalizedLanguage)currentLanguageIndex; GridLayoutGroup gridLayoutGroup = GetComponent <GridLayoutGroup>(); if (StartCorner == GridLayoutStartCorner.LeftRight) { if (currenctLanguage == LocalizationManager.LocalizedLanguage.Farsi && gridLayoutGroup.startCorner.ToString().Contains("Left")) { int alignmentNumber = (int)gridLayoutGroup.startCorner + 1; gridLayoutGroup.startCorner = (GridLayoutGroup.Corner)alignmentNumber; } else if (currenctLanguage != LocalizationManager.LocalizedLanguage.Farsi && gridLayoutGroup.startCorner.ToString().Contains("Right")) { int alignmentNumber = (int)gridLayoutGroup.startCorner - 1; gridLayoutGroup.startCorner = (GridLayoutGroup.Corner)alignmentNumber; } } else if (StartCorner == GridLayoutStartCorner.UpLow) { if (currenctLanguage == LocalizationManager.LocalizedLanguage.Farsi && gridLayoutGroup.startCorner.ToString().Contains("Low")) { int alignmentNumber = (int)gridLayoutGroup.startCorner - 2; gridLayoutGroup.startCorner = (GridLayoutGroup.Corner)alignmentNumber; } else if (currenctLanguage != LocalizationManager.LocalizedLanguage.Farsi && gridLayoutGroup.startCorner.ToString().Contains("Up")) { int alignmentNumber = (int)gridLayoutGroup.startCorner + 2; gridLayoutGroup.startCorner = (GridLayoutGroup.Corner)alignmentNumber; } } gridLayoutGroup.enabled = false; gridLayoutGroup.enabled = true; }
private void SetTextValue(int currentLanguageIndex, bool editMode = false) { RTLTextMeshPro RTLTextMeshPro = GetComponent <RTLTextMeshPro>(); if (RTLTextMeshPro == null) { return; } if (!string.IsNullOrEmpty(LocalizedString.key)) { string value; if (editMode) { value = LocalizationManager.GetLocalizedValue(LocalizedString.key, (LocalizationManager.LocalizedLanguage)currentLanguageIndex); } else { value = LocalizedString.value; } if (!string.IsNullOrEmpty(value)) { RTLTextMeshPro.text = value; } } LocalizationManager.LocalizedLanguage currenctLanguage = (LocalizationManager.LocalizedLanguage)currentLanguageIndex; SetOtherSettings(RTLTextMeshPro, currenctLanguage); //Re-Fix RTLTextMeshPro.UpdateText(); }
private void SetOtherSettings(RTLTextMeshPro RTLTextMeshPro, LocalizationManager.LocalizedLanguage currenctLanguage) { //Set ForceFix to show number-contained texts properly if (currenctLanguage == LocalizationManager.LocalizedLanguage.Farsi) { RTLTextMeshPro.forceFix = true; } else { RTLTextMeshPro.forceFix = false; } //Set FontAsset and MaterialPreset to show the proper Outline if (!FixedFontAsset) { LocalizationManager.Instance.SetFontAndMaterial(currenctLanguage, (int)Outline, ref RTLTextMeshPro); } //Set Alignment if (currenctLanguage == LocalizationManager.LocalizedLanguage.Farsi && RTLTextMeshPro.alignment.ToString().Contains("Left")) { int alignmentNumber = (int)RTLTextMeshPro.alignment + 3; RTLTextMeshPro.alignment = (TextAlignmentOptions)alignmentNumber; } else if (currenctLanguage != LocalizationManager.LocalizedLanguage.Farsi && RTLTextMeshPro.alignment.ToString().Contains("Right")) { int alignmentNumber = (int)RTLTextMeshPro.alignment - 3; RTLTextMeshPro.alignment = (TextAlignmentOptions)alignmentNumber; } }