<?php
/**
 * Created by Stefan Herndler.
 * User: Stefan
 * Date: 15.05.14
 * Time: 16:21
 * Version: 1.0
 * Since: 1.0
 */


/**
 * loads the langauge file including localization if exists
 * otherwise loads the langauge file without localization information
 * @since 1.0
 */
function footnotes_load_language()
{
	/* read current wordpress langauge */
	$l_str_locale = apply_filters( 'plugin_locale', get_locale(), FOOTNOTES_PLUGIN_NAME );
	/* get only language code (removed localization code) */
	$l_str_languageCode = footnotes_getLanguageCode();

	/* language file with localization exists */
	if ( $l_bool_loaded = load_textdomain( FOOTNOTES_PLUGIN_NAME, FOOTNOTES_LANGUAGE_DIR . FOOTNOTES_PLUGIN_NAME . '-' . $l_str_locale . '.mo' ) ) {

		/* language file without localization exists */
	} else if ( $l_bool_loaded = load_textdomain( FOOTNOTES_PLUGIN_NAME, FOOTNOTES_LANGUAGE_DIR . FOOTNOTES_PLUGIN_NAME . '-' . $l_str_languageCode . '.mo' ) ) {

		/* load default language file, nothing will happen: default language will be used (=english) */
	} else {
		load_textdomain( FOOTNOTES_PLUGIN_NAME, FOOTNOTES_LANGUAGE_DIR . FOOTNOTES_PLUGIN_NAME . '-en.mo' );
	}
}

/**
 * reads the wordpress langauge and returns only the language code lowercase
 * removes the localization code
 * @since 1.0
 * @return string (only the "en" from "en_US")
 */
function footnotes_getLanguageCode()
{
	/* read current wordpress langauge */
	$l_str_locale = apply_filters( 'plugin_locale', get_locale(), FOOTNOTES_PLUGIN_NAME );
	/* check if wordpress language has a localization (e.g. "en_US" or "de_AT") */
	if ( strpos( $l_str_locale, "_" ) !== false ) {
		/* remove localization code */
		$l_arr_languageCode = explode( "_", $l_str_locale );
		$l_str_languageCode = $l_arr_languageCode[ 0 ];
		return $l_str_languageCode;
	}
	/* return language code lowercase */
	return strtolower( $l_str_locale );
}