Beispiel #1
0
 /// <summary>
 /// This gets called every time the translation needs updating.
 /// </summary>
 /// <param name="translation">Translation.</param>
 public override void UpdateTranslation(LeanTranslation translation)
 {
     if (translation != null)
     {
         tooltipText = string.Format(translation.Text, paramText);
     }
     else
     {
         tooltipText = PhraseName;
     }
 }
 // This gets called every time the translation needs updating
 public override void UpdateTranslation(LeanTranslation translation)
 {
     // Use translation?
     if (translation != null && translation.Data is string)
     {
         CurrentValue = LeanTranslation.FormatText((string)translation.Data, null, this);
     }
     // Use fallback?
     else
     {
         CurrentValue = FallbackText;
     }
 }
Beispiel #3
0
    public override void UpdateTranslation(LeanTranslation translation)
    {
        if (translation == null)
        {
            return;
        }

        TMP_Text text = GetComponent <TMP_Text>();

        if (text == null)
        {
            return;
        }

        text.text = translation.Text;
    }
Beispiel #4
0
    public override void UpdateTranslation(LeanTranslation translation)
    {
        // Get the TextMeshProUGUI component attached to this GameObject
        var text = GetComponent <TextMeshProUGUI>();

        // Use translation?
        if (translation != null && translation.Data is string)
        {
            text.text = LeanTranslation.FormatText(prefix + (string)translation.Data, text.text, this);
        }
        // Use fallback?
        else
        {
            text.text = LeanTranslation.FormatText(FallbackText, text.text, this);
        }
    }
Beispiel #5
0
    // This gets called every time the translation needs updating
    public override void UpdateTranslation(LeanTranslation translation)
    {
#if UNITY_EDITOR
        if (!Application.isPlaying)
        {
            return;
        }
#endif

        // Get the tooltip component attached to this GameObject
        var text = GetComponent <VRTK_ObjectTooltip>();

        // Use translation?
        if (translation != null && translation.Data is string)
        {
            text.UpdateText(LeanTranslation.FormatText((string)translation.Data, text.displayText, this));
        }
        // Use fallback?
        else
        {
            text.UpdateText(LeanTranslation.FormatText(FallbackText, text.displayText, this));
        }
    }
Beispiel #6
0
    private void TestUpdate()
    {
        LocalizationConfigurator configurator = (LocalizationConfigurator)target;

        string[] lines = File.ReadAllLines(string.Format("{0}/test.csv", Application.dataPath));

        string[] languages = lines[0].Split(',');
        for (int i = 1; i < languages.Length; i++)
        {
            configurator.AddLanguage(languages[i]);
        }

        for (int i = 1; i < lines.Length; i++)
        {
            string[]   lineInfo = lines[i].Split(',');
            LeanPhrase phrase   = configurator.AddPhrase(lineInfo[0]);
            for (int j = 1; j < languages.Length; j++)
            {
                LeanTranslation translation = phrase.AddTranslation(languages[j]);
                translation.Text = lineInfo[j];
            }
        }
    }
        private void DrawTranslations()
        {
            var rectA = Reserve();
            var rectB = rectA; rectB.xMin += EditorGUIUtility.labelWidth; rectB.xMax -= 37.0f;
            var rectC = rectA; rectC.xMin = rectC.xMax - 35.0f;

            EditorGUI.LabelField(rectA, "Translations", EditorStyles.boldLabel);
            translationFilter = EditorGUI.TextField(rectB, "", translationFilter);
            BeginDisabled(string.IsNullOrEmpty(translationFilter) == true || LeanLocalization.CurrentTranslations.ContainsKey(translationFilter) == true);
            if (GUI.Button(rectC, "Add", EditorStyles.miniButton) == true)
            {
                var phrase = LeanLocalization.AddPhraseToFirst(translationFilter);

                LeanLocalization.UpdateTranslations();

                Selection.activeObject = phrase;

                EditorGUIUtility.PingObject(phrase);
            }
            EndDisabled();

            if (LeanLocalization.CurrentTranslations.Count == 0 && string.IsNullOrEmpty(translationFilter) == true)
            {
                Info("Type in the name of a translation, and click the 'Add' button. Or, drag and drop a prefab that contains some.");
            }
            else
            {
                var total = 0;

                BeginIndent();
                foreach (var pair in LeanLocalization.CurrentTranslations)
                {
                    var name = pair.Key;

                    if (string.IsNullOrEmpty(translationFilter) == true || name.IndexOf(translationFilter, System.StringComparison.InvariantCultureIgnoreCase) >= 0)
                    {
                        var translation = pair.Value;
                        var rectT       = Reserve();
                        var expand      = EditorGUI.Foldout(new Rect(rectT.x, rectT.y, 20, rectT.height), expandTranslation == translation, "");

                        if (expand == true)
                        {
                            expandTranslation = translation;
                        }
                        else if (expandTranslation == translation)
                        {
                            expandTranslation = null;
                        }

                        CalculateTranslation(pair.Value);

                        var data = translation.Data;

                        total++;

                        BeginDisabled(true);
                        BeginError(missing.Count > 0 || clashes.Count > 0);
                        if (data is Object)
                        {
                            EditorGUI.ObjectField(rectT, name, (Object)data, typeof(Object), true);
                        }
                        else
                        {
                            EditorGUI.TextField(rectT, name, data != null ? data.ToString() : "");
                        }
                        EndError();

                        if (expand == true)
                        {
                            BeginIndent();
                            foreach (var entry in translation.Entries)
                            {
                                BeginError(clashes.Contains(entry.Language) == true);
                                EditorGUILayout.ObjectField(entry.Language, entry.Owner, typeof(Object), true);
                                EndError();
                            }
                            EndIndent();
                        }
                        EndDisabled();

                        if (expand == true)
                        {
                            foreach (var language in missing)
                            {
                                Warning("This translation isn't defined for the " + language + " language.");
                            }

                            foreach (var language in clashes)
                            {
                                Warning("This translation is defined multiple times for the " + language + " language.");
                            }
                        }
                    }
                }
                EndIndent();

                if (total == 0)
                {
                    Info("No translation with this name exists, click the 'Add' button to create it.");
                }
            }
        }