All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scripts.sonar-i18n.js Maven / Gradle / Ivy

/*
 * Licensed to Marvelution under one or more contributor license 
 * agreements.  See the NOTICE file distributed with this work 
 * for additional information regarding copyright ownership.
 * Marvelution licenses this file to you under the Apache License,
 * Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

AJS.$.namespace("AJS.sonar.text");

AJS.sonar.text.loaded = false;

AJS.sonar.text.msgStore = {};

AJS.sonar.text.getMsgCallBack = null;

/**
 * Get a i18n String for a key given
 * 
 * @param msgKey the key to get the i18n string for
 * @return the message string, may be the key if the key is not found
 */
AJS.sonar.text.getMsg = function(msgKey) {
	if (AJS.sonar.text.getMsgCallBack != null) {
		return AJS.sonar.text.getMsgCallBack(msgKey);
	} else if (AJS.sonar.text.msgStore[msgKey] !== undefined && AJS.sonar.text.msgStore[msgKey] != null) {
		return AJS.sonar.text.msgStore[msgKey];
	}
	return msgKey;
}

/**
 * Load all i18n keys for the Sonar views
 * 
 * @param baseUrl the base url of the system hosting the i18n keys
 */
AJS.sonar.text.load = function(baseUrl) {
	 if (AJS.sonar.text.getMsgCallBack == null && !AJS.sonar.text.loaded) {
		AJS.$.ajax({
			url: baseUrl + "/rest/sonar/1.0/i18n",
			async: false,
			type: "GET",
			dataType: "json",
			success: function(data) {
				AJS.$(data.entries).each(function() {
					AJS.sonar.text.msgStore[this.key] = this.value;
				});
				AJS.sonar.text.loaded = true;
			}
		});
	 }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy