public string GetLocalisedString(params KeyValuePair <string, string>[] variables)
            {
                if (variables.Length > 0 || _cachedLanguage != Localisation.GetCurrentLanguage() || Localisation.AreGlobalVariablesOutOfDate(_cachedVariables))
                {
                    _cachedLanguage  = Localisation.GetCurrentLanguage();
                    _cachedText      = Localisation.GetString(_localisationKey, variables);
                    _cachedVariables = Localisation.GetGlobalVariableKeys(_cachedText);
                }

                return(_cachedText);
            }