void OnGUI()
    {
        try
        {
            List <string> tabs = new List <string>();
            foreach (SystemLanguage lang in _dictionary.Languages)
            {
                tabs.Add(lang.ToString().Substring(0, 3));
            }

            tabs.Add("+");

            int tabNew = GUILayout.Toolbar(tab, tabs.ToArray(), GUILayout.Width(tabs.Count * 50));

            if (tab != tabNew)
            {
                GUI.FocusControl(null);
                tab = tabNew;
            }

            if (tab == tabs.Count - 1)
            {
                _dictionary.Languages.Add(SystemLanguage.Unknown);
            }
            else
            {
                EditorGUILayout.BeginHorizontal();
                if (_dictionary.Languages[tab] == SystemLanguage.Unknown)
                {
                    SystemLanguage newSl = (SystemLanguage)EditorGUILayout.EnumPopup("Language: ", _dictionary.Languages[tab], GUILayout.Width(300));
                    if (!_dictionary.Languages.Contains(newSl))
                    {
                        _dictionary.Languages[tab] = newSl;
                    }
                }

                GUI.color = Color.red;
                if (GUILayout.Button("X", GUILayout.Width(50)))
                {
                    _dictionary.Languages.RemoveAt(tab);
                }
                GUI.color = Color.white;
                EditorGUILayout.EndHorizontal();

                if (_dictionary.Languages[tab] != SystemLanguage.Unknown)
                {
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Keys", GUILayout.Width(200));
                    EditorGUILayout.LabelField("Translations");
                    EditorGUILayout.EndHorizontal();

                    DrawKeys();


                    EditorGUILayout.BeginHorizontal();
                    newKeyName = EditorGUILayout.TextField(newKeyName, GUILayout.Width(200));
                    if (GUILayout.Button("+", GUILayout.Width(150)))
                    {
                        _dictionary.AddString(newKeyName);
                    }
                    EditorGUILayout.EndHorizontal();
                }
            }
        }
        catch
        {
        }
    }