translate (key, defaultValueOrVariables, defaultValue) {
		if (typeof defaultValueOrVariables === "object") {
			return Translator.translate(this, key, defaultValueOrVariables) || defaultValue || "";
		}
		return Translator.translate(this, key) || defaultValueOrVariables || "";
	}
Request the translation for a given key with optional variables and default value.
@param {string} key The key of the string to translate
@param {string|object} [defaultValueOrVariables] The default value or variables for translating.
@param {string} [defaultValue] The default value with variables.
@returns {string} the translated key