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); }