* @version 1.0.1 (July 03, 2004)
* @package AutoIndex
* @see DirItem, FileItem
*/
abstract class Item
{
/**
* @var string
*/
protected $filename;
/**
* @var Size
*/
protected $size;
/**
* @var int Last modified time
*/
protected $m_time;
protected $last_write_time;
/**
* @var int Last accessed time
*/
protected $a_time;
/**
* @var int
*/
protected $downloads;
/**
* @var string
*/
protected $description;
/**
* @var string The HTML text of the link to the type icon
*/
protected $icon;
/**
* @var string The HTML text of the "[New]" icon
*/
protected $new_icon;
/**
* @var string The HTML text of the link to this file or folder
*/
protected $link;
/**
* @var string The HTML text of the link to the thumbnail picture
*/
protected $thumb_link;
/**
* @var string The HTML text of the link to find the md5sum
*/
protected $md5_link;
/**
* @var string The name and path of the parent directory
*/
protected $parent_dir;
/**
* @var bool True if this is a link to '../'
*/
protected $is_parent_dir;
/**
* @param int $timestamp Time in UNIX timestamp format
* @return string Formatted version of $timestamp
*/
private static function format_date($timestamp)
{
if ($timestamp === false)
{
return ' ';
}
return date(DATE_FORMAT, $timestamp);
}
/**
* @return string Date modified (m_time) formatted as a string
* @see Item::format_date()
*/
public function format_m_time()
{
return self::format_date($this -> m_time);
}
/**
* @return string Date last accessed (a_time) formatted as a string
* @see Item::format_date()
*/
public function format_a_time()
{
return self::format_date($this -> a_time);
}
/**
* Returns everything after the slash, or the original string if there is
* no slash. A slash at the last character of the string is ignored.
*
* @param string $fn The file or folder name
* @return string The basename of $fn
* @see basename()
*/
public static function get_basename($fn)
{
return basename(str_replace('\\', '/', $fn));
}
/**
* @param string $path The directory name
* @return string If there is no slash at the end of $path, one will be added
*/
public static function make_sure_slash($path)
{
$path = str_replace('\\', '/', $path);
if (!preg_match('#/$#', $path))
{
$path .= '/';
}
return $path;
}
/**
* @param string $parent_dir
* @param string $filename
*/
public function __construct($parent_dir, $filename)
{
$parent_dir = self::make_sure_slash($parent_dir);
$full_name = $parent_dir . $filename;
$this->is_parent_dir = false;
$this->m_time = filemtime($full_name);
$this->a_time = fileatime($full_name);
//$this->creation_time = date('y-m-d h:i:s', filectime($full_name));
$this->last_write_time = date('h:i:s', filemtime($full_name));
$this->icon = $this->new_icon = $this->md5_link = $this->thumb_link = '';
global $descriptions, $words;
$description = ((DESCRIPTION_FILE && $descriptions->is_set($full_name)) ? $descriptions->__get($full_name) : strtoupper(substr($filename, 0, strrpos($filename, '.'))));
$extend_description = (($words->is_set('CHAP') && $words->is_set(strtoupper(substr($description, 0, strrpos($description, '_'))))) ? $words->__get(strtoupper(substr($description, 0, strrpos($description, '_')))) . ' ' . $words -> __get('CHAP') . ' ' . substr(strrchr($description, '_'), 1) : $description);
$extend_description = ($words->is_set($extend_description) ? $words->__get($extend_description) : $extend_description);
$this->description = ($words->is_set($description) ? $words->__get($description) : $extend_description);
$this->parent_dir = $parent_dir;
if (DAYS_NEW)
{
global $config;
$days_new = $config->__get('days_new');
$age = (time() - $this->m_time) / 86400;
$age_r = round($age, 1);
$s = (($age_r == 1) ? '' : 's');
$this->description = ($age_r <= 1) ? $this->description . ' @ ' . $this->last_write_time : $this->description;
$this->new_icon = (($days_new > 0 && $age <= $days_new) ?
(ICON_PATH ? '
' : ' [New]') : '');
}
}
/**
* function decode_lang from mx_traslator phpBB3 Extension
*
* $mx_user_lang = decode_country_name($lang['USER_LANG'], 'country');
*
* @param unknown_type $file_dir
* @param unknown_type $lang_country = 'country' or 'language'
* @param array $langs_countries
* @return unknown
*/
private function decode_country_name($file_dir, $lang_country = 'country', $langs_countries = false)
{
/* known languages */
switch ($file_dir)
{
case 'aa':
$lang_name = 'AFAR';
$country_name = 'AFAR'; //Ethiopia
break;
case 'aae':
$lang_name = 'AFRICAN-AMERICAN_ENGLISH';
$country_name = 'UNITED_STATES';
break;
case 'ab':
$lang_name = 'ABKHAZIAN';
$country_name = 'ABKHAZIA';
break;
case 'ad':
$lang_name = 'ANGOLA';
$country_name = 'ANGOLA';
break;
case 'ae':
$lang_name = 'AVESTAN';
$country_name = 'UNITED_ARAB_EMIRATES'; //Persia
break;
case 'af':
$country_name = 'AFGHANISTAN'; // langs: pashto and dari
$lang_name = 'AFRIKAANS'; // speakers: 6,855,082 - 13,4%
break;
case 'ag':
$lang_name = 'ENGLISH-CREOLE';
$country_name = 'ANTIGUA_&_BARBUDA';
break;
case 'ai':
$lang_name = 'Anguilla';
$country_name = 'ANGUILLA';
break;
case 'aj':
case 'rup':
$lang_name = 'AROMANIAN';
$country_name = 'BALCANS'; //$country_name = 'Aromaya';
break;
case 'ak':
$lang_name = 'AKAN';
$country_name = '';
break;
case 'al':
$lang_name = 'ALBANIAN';
$country_name = 'ALBANIA';
break;
case 'am':
$lang_name = 'AMHARIC';
//$lang_name = 'armenian';
$country_name = 'ARMENIA';
break;
case 'an':
$lang_name = 'ARAGONESE'; //
//$country_name = 'Andorra';
$country_name = 'NETHERLAND_ANTILLES';
break;
case 'ao':
$lang_name = 'ANGOLIAN';
$country_name = 'ANGOLA';
break;
case 'ap':
$lang_name = 'ANGIKA';
$country_name = 'ANGA'; //India
break;
case 'ar':
$lang_name = 'ARABIC';
$country_name = 'ARGENTINA';
break;
case 'arq':
$lang_name = 'ALGERIAN_ARABIC'; //known as Darja or Dziria in Algeria
$country_name = 'ALGERIA';
break;
case 'arc':
$country_name = 'ASHURIA';
$lang_name = 'ARAMEIC';
break;
case 'ary':
$lang_name = 'MOROCCAN_ARABIC'; //known as Moroccan Arabic or Moroccan Darija or Algerian Saharan Arabic
$country_name = 'MOROCCO';
break;
//jrb – Judeo-Arabic
//yhd – Judeo-Iraqi Arabic
//aju – Judeo-Moroccan Arabic
//yud – Judeo-Tripolitanian Arabic
//ajt – Judeo-Tunisian Arabic
//jye – Judeo-Yemeni Arabic
case 'jrb':
$lang_name = 'JUDEO-ARABIC';
$country_name = 'JUDEA';
break;
case 'kab':
$lang_name = 'KABYLE'; //known as Kabyle (Tamazight)
$country_name = 'ALGERIA';
break;
case 'aq':
$lang_name = '';
$country_name = 'ANTARCTICA';
break;
case 'as':
$lang_name = 'ASSAMESE';
$country_name = 'AMERICAN_SAMOA';
break;
case 'at':
$lang_name = 'GERMAN';
$country_name = 'AUSTRIA';
break;
case 'av':
$lang_name = 'AVARIC';
$country_name = '';
break;
case 'av-da':
case 'av_da':
case 'av_DA':
$lang_name = 'AVARIAN_KHANATE';
$country_name = 'Daghestanian';
break;
case 'ay':
$lang_name = 'AYMARA';
$country_name = '';
break;
case 'aw':
$lang_name = 'ARUBA';
$country_name = 'ARUBA';
break;
case 'au':
$lang_name = 'en-au'; //
$country_name = 'AUSTRALIA';
break;
case 'az':
$lang_name = 'AZERBAIJANI';
$country_name = 'AZERBAIJAN';
break;
case 'ax':
$lang_name = 'FINNISH';
$country_name = 'ALAND_ISLANDS'; //The Aland Islands or Aland (Swedish: Aland, IPA: ['o?land]; Finnish: Ahvenanmaa) is an archipelago province at the entrance to the Gulf of Bothnia in the Baltic Sea belonging to Finland.
break;
case 'ba':
$lang_name = 'BASHKIR'; //Baskortostán (Rusia)
$country_name = 'BOSNIA_&_HERZEGOVINA'; //Bosnian, Croatian, Serbian
break;
//Bavarian (also known as Bavarian Austrian or Austro-Bavarian; Boarisch ['b??r??] or Bairisch;
//German: Bairisch ['ba????] (About this soundlisten); Hungarian: bajor.
case 'bar':
$lang_name = 'BAVARIAN';
$country_name = 'BAVARIA'; //Germany
break;
case 'bb':
$lang_name = 'Barbados';
$country_name = 'BARBADOS';
break;
case 'bd':
$lang_name = 'Bangladesh';
$country_name = 'BANGLADESH';
break;
case 'be':
$lang_name = 'BELARUSIAN';
$country_name = 'BELGIUM';
break;
case 'bf':
$lang_name = 'Burkina Faso';
$country_name = 'BURKINA_FASO';
break;
case 'bg':
$lang_name = 'BULGARIAN';
$country_name = 'BULGARIA';
break;
case 'bh':
$lang_name = 'BHOJPURI'; // Bihar (India)
$country_name = 'BAHRAIN'; // Mamlakat al-Ba?rayn (arabic)
break;
case 'bi':
$lang_name = 'BISLAMA';
$country_name = 'BURUNDI';
break;
case 'bj':
$lang_name = 'BENIN';
$country_name = 'BENIN';
break;
case 'bl':
$lang_name = 'BONAIRE';
$country_name = 'BONAIRE';
break;
case 'bm':
$lang_name = 'BAMBARA';
$country_name = 'Bermuda';
break;
case 'bn':
$country_name = 'BRUNEI';
$lang_name = 'BENGALI';
break;
case 'bo':
$lang_name = 'TIBETAN';
$country_name = 'BOLIVIA';
break;
case 'br':
$lang_name = 'BRETON';
$country_name = 'BRAZIL'; //pt
break;
case 'bs':
$lang_name = 'BOSNIAN';
$country_name = 'BAHAMAS';
break;
case 'bt':
$lang_name = 'Bhutan';
$country_name = 'Bhutan';
break;
case 'bw':
$lang_name = 'Botswana';
$country_name = 'BOTSWANA';
break;
case 'bz':
$lang_name = 'BELIZE';
$country_name = 'BELIZE';
break;
case 'by':
$lang_name = 'BELARUSIAN';
$country_name = 'Belarus';
break;
case 'en-CM':
case 'en_cm':
$lang_name = 'CAMEROONIAN_PIDGIN_ENGLISH';
$country_name = 'Cameroon';
break;
case 'wes':
$lang_name = 'CAMEROONIAN'; //Kamtok
$country_name = 'CAMEROON'; //Wes Cos
break;
case 'cm':
$lang_name = 'CAMEROON';
$country_name = 'CAMEROON';
break;
case 'ca':
$lang_name = 'CATALAN';
$country_name = 'CANADA';
break;
case 'cc':
$lang_name = 'COA_A_COCOS'; //COA A Cocos dialect of Betawi Malay [ente (you) and ane (me)] and AU-English
$country_name = 'COCOS_ISLANDS'; //CC Cocos (Keeling) Islands
break;
case 'cd':
$lang_name = 'Congo Democratic Republic';
$country_name = 'CONGO_DEMOCRATIC_REPUBLIC';
break;
//??????? ????
case 'ce':
$lang_name = 'CHECHEN';
$country_name = 'Chechenya';
break;
case 'cf':
$lang_name = 'Central African Republic';
$country_name = 'CENTRAL_AFRICAN_REPUBLIC';
break;
case 'cg':
$lang_name = 'CONGO';
$country_name = 'CONGO';
break;
case 'ch':
$lang_name = 'CHAMORRO'; //Finu' Chamoru
$country_name = 'SWITZERLAND';
break;
case 'ci':
$lang_name = 'Cote D-Ivoire';
$country_name = 'COTE_D-IVOIRE';
break;
case 'ck':
$lang_name = '';
$country_name = 'COOK_ISLANDS'; //CK Cook Islands
break;
case 'cl':
$lang_name = 'Chile';
$country_name = 'CHILE';
break;
case 'cn':
//Chinese Macrolanguage
case 'zh': //639-1: zh
case 'chi': //639-2/B: chi
case 'zho': //639-2/T and 639-3: zho
$lang_name = 'CHINESE';
$country_name = 'CHINA';
break;
//Chinese Individual Languages
// ??
// Fujian Province, Republic of China
case 'cn-fj':
// ???
case 'cdo': //Chinese Min Dong
$lang_name = 'CHINESE_DONG';
$country_name = 'CHINA';
break;
//1. Bingzhou spoken in central Shanxi (the ancient Bing Province), including Taiyuan.
//2. Lüliang spoken in western Shanxi (including Lüliang) and northern Shaanxi.
//3. Shangdang spoken in the area of Changzhi (ancient Shangdang) in southeastern Shanxi.
//4. Wutai spoken in parts of northern Shanxi (including Wutai County) and central Inner Mongolia.
//5. Da–Bao spoken in parts of northern Shanxi and central Inner Mongolia, including Baotou.
//6. Zhang-Hu spoken in Zhangjiakou in northwestern Hebei and parts of central Inner Mongolia, including Hohhot.
//7. Han-Xin spoken in southeastern Shanxi, southern Hebei (including Handan) and northern Henan (including Xinxiang).
//8. Zhi-Yan spoken in Zhidan County and Yanchuan County in northern Shaanxi.
// ?? / ??
case 'cjy': //Chinese Jinyu ?
$lang_name = 'CHINA_JINYU';
$country_name = 'CHINA';
break;
// Cantonese is spoken in Hong Kong
// ??
case 'cmn': //Chinese Mandarin ??? (Pu tong hua) literally translates into “common tongue.”
$lang_name = 'CHINESE_MANDARIN';
$country_name = 'CHINA';
break;
// Mandarin is spoken in Mainland China and Taiwan
// ?? / ??
//semantic shift has occurred in Min or the rest of Chinese:
//*tia?B ? "wok". The Min form preserves the original meaning "cooking pot".
//*dzh?nA "rice field". scholars identify the Min word with chéng ? (MC zying) "raised path between fields", but Norman argues that it is cognate with céng ? (MC dzong) "additional layer or floor".
//*tšhioC ? "house". the Min word is cognate with shu ? (MC syuH) "to guard".
//*tshyiC ? "mouth". In Min this form has displaced the common Chinese term kou ?. It is believed to be cognate with hui ? (MC xjwojH) "beak, bill, snout; to pant".
//Austroasiatic origin for some Min words:
//*-d??A "shaman" compared with Vietnamese ð?ng (/?o?2/) "to shamanize, to communicate with spirits" and Mon do? "to dance (as if) under demonic possession".
//*ki?nB ? "son" appears to be related to Vietnamese con (/k?n/) and Mon kon "child".
// Southern Min:
// Datian Min;
// Hokkien ?; Hokkien-Taiwanese ????? - Philippine Hokkien ???.
// Teochew;
// Zhenan Min;
// Zhongshan Min, etc.
//Pu-Xian Min (Hinghwa); Putian dialect: Xianyou dialect.
//Northern Min: Jian'ou dialect; Jianyang dialect; Chong'an dialect; Songxi dialect; Zhenghe dialect;
//Shao-Jiang Min: Shaowu dialect, Jiangle dialect, Guangze dialect, Shunchang dialect;
//http://www.shanxigov.cn/
//Central Min: Sanming dialect; Shaxian dialect; Yong'an dialect,
//Leizhou Min : Leizhou Min.
//Abbreviation
//Simplified Chinese: ?
//Traditional Chinese: ?
//Literal meaning: Min [River]
//??
case 'cpx': //Chinese Pu-Xian Min, Sing-iú-ua / ???, (Xianyou dialect) http://www.putian.gov.cn/
$lang_name = 'CHINESE_PU-XIAN';
$country_name = 'CHINA';
break;
// ??
case 'czh': //Chinese HuiZhou ?? http://www.huizhou.gov.cn/ | Song dynasty
$lang_name = 'CHINESE_HUIZHOU';
$country_name = 'CHINA';
break;
// ??
case 'czo': //Chinese Min Zhong ??? | ??? http://zx.cq.gov.cn/ | Zhong-Xian | Zhong ??
$lang_name = 'CHINESE_ZHONG';
$country_name = 'CHINA';
break;
// ??? SanMing: http://www.sm.gov.cn/ | Sha River (??)
case 'dng': //Ding Chinese
$lang_name = 'DING_CHINESE';
$country_name = 'CHINA';
break;
// ??
case 'gan': //Gan Chinese
$lang_name = 'GAN_CHINESE';
$country_name = 'CHINA';
break;
// ???
case 'hak': //Chinese Hakka
$lang_name = 'CHINESE_HAKKA';
$country_name = 'CHINA';
break;
case 'hsn': //Xiang Chinese ??/??
$lang_name = 'XIANG_CHINESE';
$country_name = 'CHINA';
break;
// ??
case 'lzh': //Literary Chinese
$lang_name = 'LITERARY_CHINESE';
$country_name = 'CHINA';
break;
// ???
case 'mnp': //Min Bei Chinese
$lang_name = 'MIN_BEI_CHINESE';
$country_name = 'CHINA';
break;
// ???
case 'nan': //Min Nan Chinese
$lang_name = 'MIN_NAN_CHINESE';
$country_name = 'CHINA';
break;
// ??
case 'wuu': //Wu Chinese
$lang_name = 'WU_CHINESE';
$country_name = 'CHINA';
break;
// ??
case 'yue': //Yue or Cartonese Chinese
$lang_name = 'YUE_CHINESE';
$country_name = 'CHINA';
break;
case 'co':
$lang_name = 'CORSICAN'; // Corsica
$country_name = 'COLUMBIA';
break;
//Eeyou Istchee ??
case 'cr':
$lang_name = 'CREE';
$country_name = 'COSTA_RICA';
break;
case 'cs':
$lang_name = 'CZECH';
$country_name = 'CZECH_REPUBLIC';
break;
case 'cu':
$lang_name = 'SLAVONIC';
$country_name = 'CUBA'; //langs:
break;
case 'cv':
$country_name = 'CAPE_VERDE';
$lang_name = 'CHUVASH';
break;
case 'cx':
$lang_name = ''; // Malaysian Chinese origin and European Australians
$country_name = 'CHRISTMAS_ISLAND';
break;
case 'cy':
$lang_name = 'CYPRUS';
$country_name = 'CYPRUS';
break;
case 'cz':
$lang_name = 'CZECH';
$country_name = 'CZECH_REPUBLIC';
break;
case 'cw':
$lang_name = 'PAPIAMENTU'; // Papiamentu (Portuguese-based Creole), Dutch, English
$country_name = 'CURAÇAO'; // Ilha da Curaçao (Island of Healing)
break;
case 'da':
$lang_name = 'DANISH';
$country_name = 'DENMARK';
break;
//Geman (Deutsch)
/* deu – German
gmh – Middle High German
goh – Old High German
gct – Colonia Tovar German
bar – Bavarian
cim – Cimbrian
geh – Hutterite German
ksh – Kölsch
nds – Low German
sli – Lower Silesian
ltz – Luxembourgish
vmf – Mainfränkisch
mhn – Mocheno
pfl – Palatinate German
pdc – Pennsylvania German
pdt – Plautdietsch
swg – Swabian German
gsw – Swiss German
uln – Unserdeutsch
sxu – Upper Saxon
wae – Walser German
wep – Westphalian
hrx – Riograndenser Hunsrückisch
yec – Yenish */
//Germany 84,900,000 75,101,421 (91.8%) 5,600,000 (6.9%) De facto sole nationwide official language
case 'de':
case 'de-DE':
case 'de_de':
case 'deu':
$lang_name = 'GERMAN';
$country_name = 'GERMANY';
break;
//Belgium 11,420,163 73,000 (0.6%) 2,472,746 (22%) De jure official language in the German speaking community
case 'de_be':
case 'de-BE':
$lang_name = 'BELGIUM_GERMAN';
$country_name = 'BELGIUM';
break;
//Austria 8,838,171 8,040,960 (93%) 516,000 (6%) De jure sole nationwide official language
case 'de_at':
case 'de-AT':
$lang_name = 'AUSTRIAN_GERMAN';
$country_name = 'AUSTRIA';
break;
// Switzerland 8,508,904 5,329,393 (64.6%) 395,000 (5%) Co-official language at federal level; de jure sole official language in 17, co-official in 4 cantons (out of 26)
case 'de_sw':
case 'de-SW':
$lang_name = 'SWISS_GERMAN';
$country_name = 'SWITZERLAND';
break;
//Luxembourg 602,000 11,000 (2%) 380,000 (67.5%) De jure nationwide co-official language
case 'de_lu':
case 'de-LU':
case 'ltz':
$lang_name = 'LUXEMBOURG_GERMAN';
$country_name = 'LUXEMBOURG';
break;
//Liechtenstein 37,370 32,075 (85.8%) 5,200 (13.9%) De jure sole nationwide official language
//Alemannic, or rarely Alemmanish
case 'de_li':
case 'de-LI':
$lang_name = 'LIECHTENSTEIN_GERMAN';
$country_name = 'LIECHTENSTEIN';
break;
case 'gsw':
$lang_name = 'Alemannic_German';
$country_name = 'SWITZERLAND';
break;
//mostly spoken on Lifou Island, Loyalty Islands, New Caledonia.
case 'dhv':
$lang_name = 'DREHU';
$country_name = 'NEW_CALEDONIA';
break;
case 'pdc':
//Pennsilfaanisch-Deitsche
$lang_name = 'PENNSYLVANIA_DUTCH';
$country_name = 'PENNSYLVANIA';
break;
case 'dk':
$lang_name = 'DANISH';
$country_name = 'DENMARK';
break;
//acf – Saint Lucian / Dominican Creole French
case 'acf':
$lang_name = 'DOMINICAN_CREOLE_FRENCH'; //ROSEAU
$country_name = 'DOMINICA';
break;
case 'en_dm':
case 'en-DM':
$lang_name = 'DOMINICA_ENGLISH';
$country_name = 'DOMINICA';
break;
case 'do':
case 'en_do':
case 'en-DO':
$lang_name = 'SPANISH'; //Santo Domingo
$country_name = 'DOMINICAN_REPUBLIC';
break;
case 'dj':
case 'aa-DJ':
case 'aa_dj':
$lang_name = 'DJIBOUTI'; //Yibuti, Afar
$country_name = 'REPUBLIC_OF_DJIBOUTI'; //République de Djibouti
break;
case 'dv':
$lang_name = 'DIVEHI'; //Maldivian
$country_name = 'MALDIVIA';
break;
//Berbera Taghelmustã (limba oamenilor alba?tri), zisã ?i Tuaregã, este vorbitã în Sahara occidentalã.
//Berbera Tamazigtã este vorbitã în masivul Atlas din Maroc, la sud de ora?ul Meknes.
//Berbera Zenaticã zisã ?i Rifanã, este vorbitã în masivul Rif din Maroc, în nord-estul ?ãrii.
//Berbera ?enuanã zisã ?i Telicã, este vorbitã în masivul Tell din Algeria, în nordul ?ãrii.
//Berbera Cabilicã este vorbitã în jurul masivelor Mitigea ?i Ores din Algeria, în nordul ?ãrii.
//Berbera ?auianã este vorbitã în jurul ora?ului Batna din Algeria.
//Berbera Tahelhitã, zisã ?i ?lãnuanã (în limba francezã Chleuh) este vorbitã în jurul masivului Tubkal din Maroc, în sud-vestul ?ãrii.
//Berbera Tama?ekã, zisã ?i Saharianã, este vorbitã în Sahara de nord, în Algeria, Libia ?i Egipt.
//Berber: Tacawit (@ city Batna from Chaoui, Algery), Shawiya (Shauian)
case 'shy':
$lang_name = 'SHAWIYA_BERBER';
$country_name = 'ALGERIA';
break;
case 'dz':
$lang_name = 'DZONGKHA';
$country_name = 'ALGERIA'; //http://www.el-mouradia.dz/
break;
case 'ec':
$country_name = 'ECUADOR';
$lang_name = 'ECUADOR';
break;
case 'eg':
$country_name = 'EGYPT';
$lang_name = 'EGYPT';
break;
case 'eh':
$lang_name = 'WESTERN_SAHARA';
$country_name = 'WESTERN_SAHARA';
break;
case 'ee':
//K?si?agbe (Sunday)
//Dzo?agbe (Monday)
//Bra?agbe, Bla?agbe (Tuesday)
//Ku?agbe (Wednesday)
//Yawo?agbe (Thursday)
//Fi?agbe (Friday)
//Memli?agbe (Saturday)
$lang_name = 'EWE'; //E?egbe Native to Ghana, Togo
$country_name = 'ESTONIA';
break;
//Greek Language:
//ell – Modern Greek
//grc – Ancient Greek
//cpg – Cappadocian Greek
//gmy – Mycenaean Greek
//pnt – Pontic
//tsd – Tsakonian
//yej – Yevanic
case 'el':
$lang_name = 'GREEK';
$country_name = 'GREECE';
break;
case 'cpg':
$lang_name = 'CAPPADOCIAN_GREEK';
$country_name = 'GREECE';
break;
case 'gmy':
$lang_name = 'MYCENAEAN_GREEK';
$country_name = 'GREECE';
break;
case 'pnt':
$lang_name = 'PONTIC';
$country_name = 'GREECE';
break;
case 'tsd':
$lang_name = 'TSAKONIAN';
$country_name = 'GREECE';
break;
//Albanian: Janina or Janinë, Aromanian: Ianina, Enina, Turkish: Yanya;
case 'yej':
$lang_name = 'YEVANIC';
$country_name = 'GREECE';
break;
case 'en_uk':
case 'en-UK':
case 'uk':
$lang_name = 'BRITISH_ENGLISH'; //used in United Kingdom
$country_name = 'GREAT_BRITAIN';
break;
case 'en_fj':
case 'en-FJ':
$lang_name = 'FIJIAN_ENGLISH';
$country_name = 'FIJI';
break;
case 'GibE':
case 'en_gb':
case 'en-GB':
case 'gb':
$lang_name = 'GIBRALTARIAN _ENGLISH'; //used in Gibraltar
$country_name = 'GIBRALTAR';
break;
case 'en_us':
case 'en-US':
$lang_name = 'AMERICAN_ENGLISH';
$country_name = 'UNITED_STATES_OF_AMERICA';
break;
case 'en_ie':
case 'en-IE':
case 'USEng':
$lang_name = 'HIBERNO_ENGLISH'; //Irish English
$country_name = 'IRELAND';
break;
case 'en_il':
case 'en-IL':
case 'ILEng':
case 'heblish':
case 'engbrew':
$lang_name = 'ISRAELY_ENGLISH';
$country_name = 'ISRAEL';
break;
case 'en_ca':
case 'en-CA':
case 'CanE':
$lang_name = 'CANADIAN_ENGLISH';
$country_name = 'CANADA';
break;
case 'en_ck':
$lang_name = 'COOK_ISLANDS_ENGLISH';
$country_name = 'COOK_ISLANDS'; //CK Cook Islands
break;
case 'en_in':
case 'en-IN':
$lang_name = 'INDIAN_ENGLISH';
$country_name = 'REPUBLIC_OF_INDIA';
break;
case 'en_ai':
case 'en-AI':
$lang_name = 'ANGUILLAN_ENGLISH';
$country_name = 'ANGUILLA';
break;
case 'en_au':
case 'en-AU':
case 'AuE':
$lang_name = 'AUSTRALIAN_ENGLISH';
$country_name = 'AUSTRALIA';
break;
case 'en_nz':
case 'en-NZ':
case 'NZE':
$lang_name = 'NEW_ZEALAND_ENGLISH';
$country_name = 'NEW_ZEALAND';
break;
//New England English
case 'en_ne':
$lang_name = 'NEW_ENGLAND_ENGLISH';
$country_name = 'NEW_ENGLAND';
break;
//
case 'en_bm':
$lang_name = 'BERMUDIAN ENGLISH.';
$country_name = 'BERMUDA';
break;
case 'en_nu':
$lang_name = 'NIUEAN_ENGLISH'; //Niuean (official) 46% (a Polynesian language closely related to Tongan and Samoan)
$country_name = 'NIUE'; // Niuean: Niue
break;
case 'en_ms':
$lang_name = 'MONTSERRAT_ENGLISH';
$country_name = 'MONTSERRAT';
break;
case 'en_pn':
$lang_name = 'PITCAIRN_ISLAND_ENGLISH';
$country_name = 'PITCAIRN_ISLAND';
break;
case 'en_sh':
$lang_name = 'ST_HELENA_ENGLISH';
$country_name = 'ST_HELENA';
break;
case 'en_tc':
$lang_name = 'TURKS_&_CAICOS_IS_ENGLISH';
$country_name = 'TURKS_&_CAICOS_IS';
break;
case 'en_vg':
$lang_name = 'VIRGIN_ISLANDS_ENGLISH';
$country_name = 'VIRGIN_ISLANDS_(BRIT)';
break;
case 'eo':
$lang_name = 'ESPERANTO'; //created in the late 19th century by L. L. Zamenhof, a Polish-Jewish ophthalmologist. In 1887
$country_name = 'EUROPE';
break;
case 'er':
$lang_name = 'ERITREA';
$country_name = 'ERITREA';
break;
//See:
// http://www.webapps-online.com/online-tools/languages-and-locales
// https://www.ibm.com/support/knowledgecenter/ko/SSS28S_3.0.0/com.ibm.help.forms.doc/locale_spec/i_xfdl_r_locale_quick_reference.html
case 'es':
//Spanish Main
$lang_name = 'SPANISH';
$country_name = 'SPAIN';
break;
case 'es_MX':
case 'es_mx':
//Spanish (Mexico) (es-MX)
$lang_name = 'SPANISH_MEXICO';
$country_name = 'MEXICO';
break;
case 'es_US':
case 'es_us':
$lang_name = 'SPANISH_UNITED_STATES';
$country_name = 'UNITED_STATES';
break;
case 'es_419':
//Spanish Latin America and the Caribbean
$lang_name = 'SPANISH_CARIBBEAN';
$country_name = 'CARIBBE';
break;
case 'es_ar':
// Spanish Argentina
$lang_name = 'SPANISH_ARGENTINIAN';
$country_name = 'ARGENTINA';
break;
case 'es_BO':
case 'es_bo':
$lang_name = 'SPANISH_BOLIVIAN';
$country_name = 'BOLIVIA';
break;
case 'es_BR':
case 'es_br':
$lang_name = 'SPANISH_BRAZILIAN';
$country_name = 'BRAZIL';
break;
case 'es_cl':
// Spanish Chile
$lang_name = 'SPANISH_CHILEAN';
$country_name = 'CHILE';
break;
case 'es_CO':
case 'es_co':
case 'es-419':
case 'es_419':
// Spanish (Colombia) (es-CO)
$lang_name = 'SPANISH_COLOMBIAN';
$country_name = 'COLOMBIA';
break;
// Variety of es-419 Spanish Latin America and the Caribbean
// Spanish language as spoken in
// the Caribbean islands of Cuba,
// Puerto Rico, and the Dominican Republic
// as well as in Panama, Venezuela,
// and the Caribbean coast of Colombia.
case 'es-CU':
case 'es-cu':
case 'es_cu':
// Spanish (Cuba) (es-CU)
$lang_name = 'CUBAN_SPANISH';
$country_name = 'CUBA';
break;
case 'es_CR':
case 'es_cr':
$lang_name = 'SPANISH_COSTA_RICA';
$country_name = 'COSTA_RICA';
break;
case 'es_DO':
case 'es_do':
//Spanish (Dominican Republic) (es-DO)
$lang_name = 'SPANISH_DOMINICAN_REPUBLIC';
$country_name = 'DOMINICAN_REPUBLIC';
break;
case 'es_ec':
// Spanish (Ecuador) (es-EC)
$lang_name = 'SPANISH';
$country_name = 'SPAIN';
break;
case 'es_es':
case 'es_ES':
// Spanish Spain
$lang_name = 'SPANISH';
$country_name = 'SPAIN';
break;
case 'es_ES_tradnl':
case 'es_es_tradnl':
$lang_name = 'SPANISH_NL';
$country_name = 'NL';
break;
case 'es_EU':
case 'es_eu':
$lang_name = 'SPANISH_EUROPE';
$country_name = 'EUROPE';
break;
case 'es_gt':
case 'es_GT':
// Spanish (Guatemala) (es-GT)
$lang_name = 'SPANISH';
$country_name = 'SPAIN';
break;
case 'es_HN':
case 'es_hn':
//Spanish (Honduras) (es-HN)
$lang_name = 'SPANISH';
$country_name = 'SPAIN';
break;
case 'es_la':
case 'es_LA':
// Spanish Lao
$lang_name = 'SPANISH';
$country_name = 'SPAIN';
break;
case 'es_NI':
case 'es_ni':
// Spanish (Nicaragua) (es-NI)
$lang_name = 'SPANISH_NICARAGUAN';
$country_name = 'NICARAGUA';
break;
case 'es_PA':
case 'es_pa':
//Spanish (Panama) (es-PA)
$lang_name = 'SPANISH_PANAMIAN';
$country_name = 'PANAMA';
break;
case 'es_pe':
case 'es_PE':
//Spanish (Peru) (es-PE)
$lang_name = 'SPANISH_PERU';
$country_name = 'PERU';
break;
case 'es_PR':
case 'es_pr':
//Spanish (Puerto Rico) (es-PR)
$lang_name = 'SPANISH_PUERTO_RICO';
$country_name = 'PUERTO_RICO';
break;
case 'es_PY':
case 'es_py':
//Spanish (Paraguay) (es-PY)
$lang_name = 'SPANISH_PARAGUAY';
$country_name = 'PARAGUAY';
break;
case 'es_SV':
case 'es_sv':
//Spanish (El Salvador) (es-SV)
$lang_name = 'SPANISH_EL_SALVADOR';
$country_name = 'EL_SALVADOR';
break;
case 'es-US':
case 'es-us':
// Spanish (United States) (es-US)
$lang_name = 'SPANISH_UNITED_STATES';
$country_name = 'UNITED_STATES';
break;
//This dialect is often spoken with an intonation resembling that of the Neapolitan language of Southern Italy, but there are exceptions.
case 'es_AR':
case 'es_ar':
//Spanish (Argentina) (es-AR)
$lang_name = 'RIOPLATENSE_SPANISH_ARGENTINA';
$country_name = 'ARGENTINA';
break;
case 'es_UY':
case 'es_uy':
//Spanish (Uruguay) (es-UY)
$lang_name = 'SPANISH_URUGUAY';
$country_name = 'URUGUAY';
break;
case 'es_ve':
case 'es_VE':
// Spanish (Venezuela) (es-VE)
$lang_name = 'SPANISH_VENEZUELA';
$country_name = 'BOLIVARIAN_REPUBLIC_OF_VENEZUELA';
break;
case 'es_xl':
case 'es_XL':
// Spanish Latin America
$lang_name = 'SPANISH_LATIN_AMERICA';
$country_name = 'LATIN_AMERICA';
break;
case 'et':
$lang_name = 'ESTONIAN';
$country_name = 'ESTONIA';
break;
case 'eu':
$lang_name = 'BASQUE';
$country_name = '';
break;
case 'fa':
$lang_name = 'PERSIAN';
$country_name = '';
break;
//for Fulah (also spelled Fula) the ISO 639-1 code is ff.
//fub – Adamawa Fulfulde
//fui – Bagirmi Fulfulde
//fue – Borgu Fulfulde
//fuq – Central-Eastern Niger Fulfulde
//ffm – Maasina Fulfulde
//fuv – Nigerian Fulfulde
//fuc – Pulaar
//fuf – Pular
//fuh – Western Niger Fulfulde
case 'fub':
$lang_name = 'ADAMAWA_FULFULDE';
$country_name = '';
break;
case 'fui':
$lang_name = 'BAGIRMI_FULFULDE';
$country_name = '';
break;
case 'fue':
$lang_name = 'BORGU_FULFULDE';
$country_name = '';
break;
case 'fuq':
$lang_name = 'CENTRAL-EASTERN_NIGER_FULFULDE';
$country_name = '';
break;
case 'ffm':
$lang_name = 'MAASINA_FULFULDE';
$country_name = '';
break;
case 'fuv':
$lang_name = 'NIGERIAN_FULFULDE';
$country_name = '';
break;
case 'fuc':
$lang_name = 'PULAAR';
$country_name = 'SENEGAMBIA_CONFEDERATION'; //sn //gm
break;
case 'fuf':
$lang_name = 'PULAR';
$country_name = '';
break;
case 'fuh':
$lang_name = 'WESTERN_NIGER_FULFULDE';
$country_name = '';
break;
case 'ff':
$lang_name = 'FULAH';
$country_name = '';
break;
case 'fi':
case 'fin':
$lang_name = 'FINNISH';
$country_name = 'FINLAND';
break;
case 'fkv':
$lang_name = 'KVEN';
$country_name = 'NORWAY';
break;
case 'fit':
$lang_name = 'KVEN';
$country_name = 'SWEDEN';
break;
case 'fj':
$lang_name = 'FIJIAN';
$country_name = 'FIJI';
break;
case 'fk':
$lang_name = 'FALKLANDIAN';
$country_name = 'FALKLAND_ISLANDS';
break;
case 'fm':
$lang_name = 'MICRONESIA';
$country_name = 'MICRONESIA';
break;
case 'fo':
$lang_name = 'FAROESE';
$country_name = 'FAROE_ISLANDS';
break;
//Metropolitan French (French: France Métropolitaine or la Métropole)
case 'fr':
case 'fr_me':
$lang_name = 'FRENCH';
$country_name = 'FRANCE';
break;
//Acadian French
case 'fr_ac':
$lang_name = 'ACADIAN_FRENCH';
$country_name = 'ACADIA';
break;
case 'fr_dm':
case 'fr-DM':
$lang_name = 'DOMINICA_FRENCH';
$country_name = 'DOMINICA';
break;
//al-dîzayir
case 'fr_dz':
$lang_name = 'ALGERIAN_FRENCH';
$country_name = 'ALGERIA';
break;
//Aostan French (French: français valdôtain)
//Seventy: septante[a] [s?p.t?~t]
//Eighty: huitante[b] [?i.t?~t]
//Ninety: nonante[c] [n?.n?~t]
case 'fr_ao':
$lang_name = 'AOSTAN_FRENCH';
$country_name = 'ITALY';
break;
//Belgian French
case 'fr_bl':
$lang_name = 'BELGIAN_FRENCH';
$country_name = 'BELGIUM';
break;
//Cambodian French - French Indochina
case 'fr_cb':
$lang_name = 'CAMBODIAN_FRENCH';
$country_name = 'CAMBODIA';
break;
//Cajun French - Le Français Cajun - New Orleans
case 'fr_cj':
$lang_name = 'CAJUN_FRENCH';
$country_name = 'UNITED_STATES';
break;
//Canadian French (French: Français Canadien)
//Official language in Canada, New Brunswick, Northwest Territories, Nunavut, Quebec, Yukon,
//Official language in United States, Maine (de facto), New Hampshire
case 'fr_ca':
case 'fr-CA':
$lang_name = 'CANADIAN_FRENCH';
$country_name = 'CANADA';
break;
//Guianese French
case 'gcr':
case 'fr_gu':
$lang_name = 'GUIANESE_FRENCH';
$country_name = 'FRENCH_GUIANA';
break;
//Guianese English
case 'gyn':
case 'en_gy':
$lang_name = 'GUYANESE_CREOLE';
$country_name = 'ENGLISH_GUIANA';
break;
//Haitian French
case 'fr-HT':
case 'fr_ht':
$lang_name = 'HAITIAN_FRENCH';
$country_name = 'HAITI'; //UNITED_STATES
break;
//Haitian English
case 'en-HT':
case 'en_ht':
$lang_name = 'HAITIAN_CREOLE';
$country_name = 'HAITI'; //UNITED_STATES
break;
//Indian French
case 'fr_id':
$lang_name = 'INDIAN_FRENCH';
$country_name = 'INDIA';
break;
case 'en_id':
$lang_name = 'INDIAN_ENGLISH';
$country_name = 'INDIA';
break;
//Jersey Legal French - Anglo-Norman French
case 'xno':
case 'fr_je':
$lang_name = 'JERSEY_LEGAL_FRENCH';
$country_name = 'UNITED_STATES';
break;
case 'fr_kh':
$lang_name = 'CAMBODIAN_FRENCH';
$country_name = 'CAMBODIA';
break;
//Lao French
case 'fr_la':
$lang_name = 'LAO_FRENCH';
$country_name = 'LAOS';
break;
//Louisiana French (French: Français de la Louisiane, Louisiana Creole: Françé la Lwizyan)
case 'frc':
case 'fr_lu':
$lang_name = 'LOUISIANIAN_FRENCH';
$country_name = 'LOUISIANA';
break;
//Louisiana Creole
case 'lou':
$lang_name = 'LOUISIANA_CREOLE';
$country_name = 'LOUISIANA';
break;
//Meridional French (French: Français Méridional, also referred to as Francitan)
case 'fr_mr':
$lang_name = 'MERIDIONAL_FRENCH';
$country_name = 'OCCITANIA';
break;
//Missouri French
case 'fr_mi':
$lang_name = 'MISSOURI_FRENCH';
$country_name = 'MISSOURI?';
break;
//New Caledonian French vs New Caledonian Pidgin French
case 'fr_nc':
$lang_name = 'NEW_CALEDONIAN_FRENCH';
$country_name = 'NEW_CALEDONIA';
break;
//Newfoundland French (French: Français Terre-Neuvien),
case 'fr_nf':
$lang_name = 'NEWFOUNDLAND_FRENCH';
$country_name = 'CANADA';
break;
//New England French
case 'fr_ne':
$lang_name = 'NEW_ENGLAND_FRENCH';
$country_name = 'NEW_ENGLAND';
break;
//Quebec French (French: français québécois; also known as Québécois French or simply Québécois)
case 'fr_qb':
$lang_name = 'QUEBEC_FRENCH';
$country_name = 'CANADA';
break;
//Swiss French
case 'fr_sw':
$lang_name = 'SWISS_FRENCH';
$country_name = 'SWITZERLAND';
break;
//French Southern and Antarctic Lands
case 'fr_tf':
case 'tf':
$lang_name = 'FRENCH_SOUTHERN_TERRITORIES'; //
$country_name = 'SOUTHERN_TERRITORIES'; //Terres australes françaises
break;
//Vietnamese French
case 'fr_vt':
$lang_name = 'VIETNAMESE_FRENCH';
$country_name = 'VIETNAM';
break;
//West Indian French
case 'fr_if':
$lang_name = 'WEST_INDIAN_FRENCH';
$country_name = 'INDIA';
break;
case 'fr_wf':
$country_name = 'TERRITORY_OF_THE_WALLIS_AND_FUTUNA_ISLANDS';
$lang_name = 'WALLISIAN_FRENCH';
break;
case 'fy':
$lang_name = 'WESTERN_FRISIAN';
$country_name = 'FRYSK';
break;
case 'ga':
$lang_name = 'IRISH';
$country_name = 'GABON';
break;
case 'GenAm':
$lang_name = 'General American';
$country_name = 'UNITED_STATES';
break;
//gcf – Guadeloupean Creole
case 'gcf':
$lang_name = 'GUADELOUPEAN_CREOLE_FRENCH';
$country_name = 'GUADELOUPE';
break;
case 'gd':
$lang_name = 'SCOTTISH';
$country_name = 'GRENADA';
break;
case 'ge':
$lang_name = 'GEORGIAN';
$country_name = 'GEORGIA';
break;
case 'gi':
$lang_name = 'LLANITO'; //Llanito or Yanito
$country_name = 'GIBRALTAR';
break;
case 'gg':
$lang_name = 'GUERNESIAIS'; //English, Guernésiais, Sercquiais, Auregnais
$country_name = 'GUERNSEY';
break;
case 'gh':
$lang_name = 'Ghana';
$country_name = 'GHANA';
break;
case 'ell':
$lang_name = 'MODERN_GREEK';
$country_name = 'GREECE';
break;
case 'gr':
case 'el_gr':
case 'el-gr':
case 'gre':
$lang_name = 'MODERN_GREEK';
$country_name = 'GREECE';
break;
case 'grc':
$lang_name = 'ANCIENT_GREEK';
$country_name = 'GREECE';
break;
//Galician is spoken by some 2.4 million people, mainly in Galicia,
//an autonomous community located in northwestern Spain.
case 'gl':
$lang_name = 'GALICIAN'; //Galicia
$country_name = 'GREENLAND';
break;
case 'gm':
$lang_name = 'Gambia';
$country_name = 'GAMBIA';
break;
//grn is the ISO 639-3 language code for Guarani. Its ISO 639-1 code is gn.
// nhd – Chiripá
// gui – Eastern Bolivian Guaraní
// gun – Mbyá Guaraní
// gug – Paraguayan Guaraní
// gnw – Western Bolivian Guaraní
case 'gn':
$lang_name = 'GUARANI';
$country_name = 'GUINEA';
break;
//Nhandéva is also known as Chiripá.
//The Spanish spelling, Nandeva, is used in the Paraguayan Chaco
// to refer to the local variety of Eastern Bolivian, a subdialect of Avá.
case 'nhd':
$lang_name = 'Chiripa';
$country_name = 'PARAGUAY';
break;
case 'gui':
$lang_name = 'EASTERN_BOLIVIAN_GUARANI';
$country_name = 'BOLIVIA';
break;
case 'gun':
$lang_name = 'MBYA_GUARANI';
$country_name = 'PARAGUAY';
break;
case 'gug':
$lang_name = 'PARAGUAYAN_GUARANI';
$country_name = 'PARAGUAY';
break;
case 'gnw':
$lang_name = 'WESTERN_BOLIVIAN_GUARANI';
$country_name = 'BOLIVIA';
break;
case 'gs':
$lang_name = 'ENGLISH';
$country_name = 'SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS';
break;
case 'gt':
$lang_name = 'Guatemala';
$country_name = 'GUATEMALA';
break;
case 'gq':
$lang_name = 'Equatorial Guinea';
$country_name = 'EQUATORIAL_GUINEA';
break;
case 'gu':
$lang_name = 'GUJARATI';
$country_name = 'GUAM';
break;
case 'gv':
$lang_name = 'manx';
$country_name = '';
break;
case 'gw':
$lang_name = 'Guinea Bissau';
$country_name = 'GUINEA_BISSAU';
break;
case 'gy':
$lang_name = 'Guyana';
$country_name = 'GUYANA';
break;
case 'ha':
$country_name = '';
$lang_name = 'HAUSA';
break;
//heb – Modern Hebrew
//hbo – Classical Hebrew (liturgical)
//smp – Samaritan Hebrew (liturgical)
//obm – Moabite (extinct)
//xdm – Edomite (extinct)
case 'he':
case 'heb':
$country_name = 'ISRAEL';
$lang_name = 'HEBREW';
break;
case 'hbo':
$country_name = 'ISRAEL';
$lang_name = 'CLASSICAL_HEBREW';
break;
case 'sam':
$country_name = 'SAMARIA';
$lang_name = 'SAMARITAN_ARAMEIC';
break;
case 'smp':
$country_name = 'SAMARIA';
$lang_name = 'SAMARITAN_HEBREW';
break;
case 'obm':
$country_name = 'MOAB';
$lang_name = 'MOABITE';
break;
case 'xdm':
$country_name = 'EDOMITE';
$lang_name = 'EDOM';
break;
case 'hi':
$lang_name = 'hindi';
$country_name = '';
break;
case 'ho':
$lang_name = 'hiri_motu';
$country_name = '';
break;
case 'hk':
$lang_name = 'Hong Kong';
$country_name = 'HONG_KONG';
break;
case 'hn':
$country_name = 'Honduras';
$lang_name = 'HONDURAS';
break;
case 'hr':
$lang_name = 'croatian';
$country_name = 'CROATIA';
break;
case 'ht':
$lang_name = 'haitian';
$country_name = 'HAITI';
break;
case 'ho':
$lang_name = 'hiri_motu';
$country_name = '';
break;
case 'hu':
$lang_name = 'hungarian';
$country_name = 'HUNGARY';
break;
case 'hy':
case 'hy-am':
$lang_name = 'ARMENIAN';
$country_name = '';
break;
case 'hy-AT':
case 'hy_at':
$lang_name = 'ARMENIAN-ARTSAKH';
$country_name = 'REPUBLIC_OF_ARTSAKH';
break;
case 'hz':
$lang_name = 'HERERO';
$country_name = '';
break;
case 'ia':
$lang_name = 'INTERLINGUA';
$country_name = '';
break;
case 'ic':
$lang_name = '';
$country_name = 'CANARY_ISLANDS';
break;
case 'id':
$lang_name = 'INDONESIAN';
$country_name = 'INDONESIA';
break;
case 'ie':
$lang_name = 'interlingue';
$country_name = 'IRELAND';
break;
case 'ig':
$lang_name = 'igbo';
$country_name = '';
break;
case 'ii':
$lang_name = 'sichuan_yi';
$country_name = '';
break;
case 'ik':
$lang_name = 'inupiaq';
$country_name = '';
break;
//Mostly spoken on Ouvéa Island or Uvea Island of the Loyalty Islands, New Caledonia.
case 'iai':
$lang_name = 'IAAI';
$country_name = 'NEW_CALEDONIA';
break;
case 'il':
$lang_name = 'ibrit';
$country_name = 'ISRAEL';
break;
case 'im':
$lang_name = 'Isle of Man';
$country_name = 'ISLE_OF_MAN';
break;
case 'in':
$lang_name = 'India';
$country_name = 'INDIA';
break;
case 'ir':
$lang_name = 'Iran';
$country_name = 'IRAN';
break;
case 'is':
$lang_name = 'Iceland';
$country_name = 'ICELAND';
break;
case 'it':
$lang_name = 'ITALIAN';
$country_name = 'ITALY';
break;
case 'iq':
$lang_name = 'Iraq';
$country_name = 'IRAQ';
break;
case 'je':
$lang_name = 'jerriais'; //Jerriais
$country_name = 'JERSEY'; //Bailiwick of Jersey
break;
case 'jm':
$lang_name = 'Jamaica';
$country_name = 'JAMAICA';
break;
case 'jo':
$lang_name = 'Jordan';
$country_name = 'JORDAN';
break;
case 'jp':
$lang_name = 'japanese';
$country_name = 'JAPAN';
break;
case 'jv':
$lang_name = 'javanese';
$country_name = '';
break;
case 'kh':
$lang_name = 'KH';
$country_name = 'CAMBODIA';
break;
case 'ke':
$lang_name = 'SWAHILI';
$country_name = 'KENYA';
break;
case 'ki':
$lang_name = 'Kiribati';
$country_name = 'KIRIBATI';
break;
//Bantu languages
//zdj – Ngazidja Comorian
case 'zdj':
$lang_name = 'Ngazidja Comorian';
$country_name = 'COMOROS';
break;
//wni – Ndzwani Comorian (Anjouani) dialect
case 'wni':
$lang_name = 'Ndzwani Comorian';
$country_name = 'COMOROS';
break;
//swb – Maore Comorian dialect
case 'swb':
$lang_name = 'Maore Comorian';
$country_name = 'COMOROS';
break;
//wlc – Mwali Comorian dialect
case 'wlc':
$lang_name = 'Mwali Comorian';
$country_name = 'COMOROS';
break;
case 'km':
$lang_name = 'KHMER';
$country_name = 'COMOROS';
break;
case 'kn':
$lang_name = 'kannada';
$country_name = 'ST_KITTS-NEVIS';
break;
case 'ko':
case 'kp':
$lang_name = 'korean';
// kor – Modern Korean
// jje – Jeju
// okm – Middle Korean
// oko – Old Korean
// oko – Proto Korean
// okm Middle Korean
// oko Old Korean
$country_name = 'Korea North';
break;
case 'kr':
$lang_name = 'korean';
$country_name = 'KOREA_SOUTH';
break;
case 'kn':
$lang_name = 'St Kitts-Nevis';
$country_name = 'ST_KITTS-NEVIS';
break;
case 'ks':
$lang_name = 'kashmiri'; //Kashmir
$country_name = 'KOREA_SOUTH';
break;
case 'ky':
$lang_name = 'Cayman Islands';
$country_name = 'CAYMAN_ISLANDS';
break;
case 'kz':
$lang_name = 'Kazakhstan';
$country_name = 'KAZAKHSTAN';
break;
case 'kw':
//endonim: Kernewek
$lang_name = 'Cornish';
$country_name = 'KUWAIT';
break;
case 'kg':
$lang_name = 'Kyrgyzstan';
$country_name = 'KYRGYZSTAN';
break;
case 'la':
$lang_name = 'Laos';
$country_name = 'LAOS';
break;
case 'lk':
$lang_name = 'Sri Lanka';
$country_name = 'SRI_LANKA';
break;
case 'lv':
$lang_name = 'Latvia';
$country_name = 'LATVIA';
break;
case 'lb':
$lang_name = 'LUXEMBOURGISH';
$country_name = 'LEBANON';
break;
case 'lc':
$lang_name = 'St Lucia';
$country_name = 'ST_LUCIA';
break;
case 'ls':
$lang_name = 'Lesotho';
$country_name = 'LESOTHO';
break;
case 'lo':
$lang_name = 'LAO';
$country_name = 'LAOS';
break;
case 'lr':
$lang_name = 'Liberia';
$country_name = 'LIBERIA';
break;
case 'ly':
$lang_name = 'Libya';
$country_name = 'Libya';
break;
case 'li':
$lang_name = 'LIMBURGISH';
$country_name = 'LIECHTENSTEIN';
break;
case 'lt':
$country_name = 'Lithuania';
$lang_name = 'LITHUANIA';
break;
case 'lu':
$lang_name = 'LUXEMBOURGISH';
$country_name = 'LUXEMBOURG';
break;
case 'ma':
$lang_name = 'Morocco';
$country_name = 'MOROCCO';
break;
case 'mc':
$country_name = 'MONACO';
$lang_name = 'Monaco';
break;
case 'md':
$country_name = 'MOLDOVA';
$lang_name = 'romanian';
break;
case 'me':
$lang_name = 'MONTENEGRIN'; //Serbo-Croatian, Cyrillic, Latin
$country_name = 'MONTENEGRO'; //???? ????
break;
case 'mf':
$lang_name = 'FRENCH'; //
$country_name = 'SAINT_MARTIN_(FRENCH_PART)';
break;
case 'mg':
$lang_name = 'Madagascar';
$country_name = 'MADAGASCAR';
break;
case 'mh':
$lang_name = 'Marshall Islands';
$country_name = 'MARSHALL_ISLANDS';
break;
case 'mi':
$lang_name = 'MAORI';
$country_name = 'Maori';
break;
//Mi'kmaq hieroglyphic writing was a writing system and memory aid used by the Mi'kmaq,
//a First Nations people of the east coast of Canada, Mostly spoken in Nova Scotia and Newfoundland.
case 'mic':
$lang_name = 'MIKMAQ';
$country_name = 'CANADA';
break;
case 'mk':
$lang_name = 'Macedonia';
$country_name = 'MACEDONIA';
break;
case 'mr':
$lang_name = 'Mauritania';
$country_name = 'Mauritania';
break;
case 'mu':
$lang_name = 'Mauritius';
$country_name = 'MAURITIUS';
break;
case 'mo':
$lang_name = 'Macau';
$country_name = 'MACAU';
break;
case 'mn':
$lang_name = 'Mongolia';
$country_name = 'MONGOLIA';
break;
case 'ms':
$lang_name = 'Montserrat';
$country_name = 'MONTSERRAT';
break;
case 'mz':
$lang_name = 'Mozambique';
$country_name = 'MOZAMBIQUE';
break;
case 'mm':
$lang_name = 'Myanmar';
$country_name = 'MYANMAR';
break;
case 'mp':
$lang_name = 'chamorro'; //Carolinian
$country_name = 'NORTHERN_MARIANA_ISLANDS';
break;
case 'mw':
$country_name = 'Malawi';
$lang_name = 'MALAWI';
break;
case 'my':
$lang_name = 'Myanmar';
$country_name = 'MALAYSIA';
break;
case 'mv':
$lang_name = 'Maldives';
$country_name = 'MALDIVES';
break;
case 'ml':
$lang_name = 'Mali';
$country_name = 'MALI';
break;
case 'mt':
$lang_name = 'Malta';
$country_name = 'MALTA';
break;
case 'mx':
$lang_name = 'Mexico';
$country_name = 'MEXICO';
break;
case 'mq':
$lang_name = 'antillean-creole'; // Antillean Creole (Créole Martiniquais)
$country_name = 'MARTINIQUE';
break;
case 'na':
$lang_name = 'Nambia';
$country_name = 'NAMBIA';
break;
case 'ni':
$lang_name = 'Nicaragua';
$country_name = 'NICARAGUA';
break;
//Barber: Targuí, tuareg
case 'ne':
$lang_name = 'Niger';
$country_name = 'NIGER';
break;
//Mostly spoken on Maré Island of the Loyalty Islands, New Caledonia.
case 'nen':
$lang_name = 'NENGONE';
$country_name = 'NEW_CALEDONIA';
break;
case 'new':
$lang_name = 'NEW_LANGUAGE';
$country_name = 'NEW_COUNTRY';
break;
case 'nc':
$lang_name = 'paicî'; //French, Nengone, Paicî, Ajië, Drehu
$country_name = 'NEW_CALEDONIA';
break;
case 'nk':
$lang_name = 'Korea North';
$country_name = 'KOREA_NORTH';
break;
case 'ng':
$lang_name = 'Nigeria';
$country_name = 'NIGERIA';
break;
case 'nf':
$lang_name = 'Norfolk Island';
$country_name = 'NORFOLK_ISLAND';
break;
case 'nl':
$lang_name = 'DUTCH'; //Netherlands, Flemish.
$country_name = 'NETHERLANDS';
break;
case 'no':
$lang_name = 'Norway';
$country_name = 'NORWAY';
break;
case 'np':
$lang_name = 'Nepal';
$country_name = 'NEPAL';
break;
case 'nr':
$lang_name = 'Nauru';
$country_name = 'NAURU';
break;
case 'niu':
$lang_name = 'NIUEAN'; //Niuean (official) 46% (a Polynesian language closely related to Tongan and Samoan)
$country_name = 'NIUE'; // Niuean: Niue
break;
case 'nu':
$lang_name = 'NU'; //Niuean (official) 46% (a Polynesian language closely related to Tongan and Samoan)
$country_name = 'NIUE'; // Niuean: Niue
break;
case 'nz':
$lang_name = 'New Zealand';
$country_name = 'NEW_ZEALAND';
break;
case 'ny':
$lang_name = 'Chewa';
$country_name = 'Nyanja';
break;
//langue d'oc
case 'oc':
$lang_name = 'OCCITAN';
$country_name = 'OCCITANIA';
break;
case 'oj':
$lang_name = 'ojibwa';
$country_name = '';
break;
case 'om':
$lang_name = 'Oman';
$country_name = 'OMAN';
break;
case 'or':
$lang_name = 'oriya';
$country_name = '';
break;
case 'os':
$lang_name = 'ossetian';
$country_name = '';
break;
case 'pa':
$country_name = 'Panama';
$lang_name = 'PANAMA';
break;
case 'pe':
$country_name = 'Peru';
$lang_name = 'PERU';
break;
case 'ph':
$lang_name = 'Philippines';
$country_name = 'PHILIPPINES';
break;
case 'pf':
$country_name = 'French Polynesia';
$lang_name = 'tahitian'; //Polynésie française
break;
case 'pg':
$country_name = 'PAPUA_NEW_GUINEA';
$lang_name = 'Papua New Guinea';
break;
case 'pi':
$lang_name = 'pali';
$country_name = '';
break;
case 'pl':
$lang_name = 'Poland';
$country_name = 'POLAND';
break;
case 'pn':
$lang_name = 'Pitcairn Island';
$country_name = 'PITCAIRN_ISLAND';
break;
case 'pr':
$lang_name = 'Puerto Rico';
$country_name = 'PUERTO_RICO';
break;
case 'pt':
case 'pt_pt':
$lang_name = 'PORTUGUESE';
$country_name = 'PORTUGAL';
break;
case 'pt_br':
$lang_name = 'PORTUGUESE_BRASIL';
$country_name = 'BRAZIL'; //pt
break;
case 'pk':
$lang_name = 'Pakistan';
$country_name = 'PAKISTAN';
break;
case 'pw':
$country_name = 'Palau Island';
$lang_name = 'PALAU_ISLAND';
break;
case 'ps':
$country_name = 'Palestine';
$lang_name = 'PALESTINE';
break;
case 'py':
$country_name = 'PARAGUAY';
$lang_name = 'PARAGUAY';
break;
case 'qa':
$lang_name = 'Qatar';
$country_name = 'QATAR';
break;
// rmn – Balkan Romani
// rml – Baltic Romani
// rmc – Carpathian Romani
// rmf – Kalo Finnish Romani
// rmo – Sinte Romani
// rmy – Vlax Romani
// rmw – Welsh Romani
case 'ri':
case 'rom':
$country_name = 'EASTEN_EUROPE';
$lang_name = 'ROMANI';
break;
case 'ro':
$country_name = 'ROMANIA';
$lang_name = 'ROMANIAN';
break;
case 'ro_md':
case 'ro_MD':
$country_name = 'ROMANIA';
$lang_name = 'ROMANIAN_MOLDAVIA';
break;
case 'ro_ro':
case 'ro_RO':
$country_name = 'ROMANIA';
$lang_name = 'ROMANIAN_ROMANIA';
break;
case 'rn':
$lang_name = 'kirundi';
$country_name = '';
break;
case 'rm':
$country_name = '';
$lang_name = 'romansh'; //Switzerland
break;
case 'rs':
$country_name = 'REPUBLIC_OF_SERBIA'; //????????? ?????? //Republika Srbija
$lang_name = 'serbian'; //Serbia, ?????? / Srbija
break;
case 'ru':
case 'ru_ru':
case 'ru_RU':
$country_name = 'RUSSIA';
$lang_name = 'RUSSIAN';
break;
case 'rw':
$country_name = 'RWANDA';
$lang_name = 'Rwanda';
break;
case 'sa':
$lang_name = 'arabic';
$country_name = 'SAUDI_ARABIA';
break;
case 'sb':
$lang_name = 'Solomon Islands';
$country_name = 'SOLOMON_ISLANDS';
break;
case 'sc':
$lang_name = 'seychellois-creole';
$country_name = 'SEYCHELLES';
break;
case 'sco':
$lang_name = 'SCOTISH';
$country_name = 'Scotland';
break;
//scf – San Miguel Creole French (Panama)
case 'scf':
$lang_name = 'SAN_MIGUEL_CREOLE_FRENCH';
$country_name = 'SAN_MIGUEL';
break;
case 'sd':
$lang_name = 'Sudan';
$country_name = 'SUDAN';
break;
case 'si':
$lang_name = 'SLOVENIAN';
$country_name = 'SLOVENIA';
break;
case 'sh':
$lang_name = 'SH';
$country_name = 'ST_HELENA';
break;
case 'sk':
$country_name = 'SLOVAKIA';
$lang_name = 'Slovakia';
break;
case 'sg':
$country_name = 'SINGAPORE';
$lang_name = 'Singapore';
break;
case 'sl':
$country_name = 'SIERRA_LEONE';
$lang_name = 'Sierra Leone';
break;
case 'sm':
$lang_name = 'San Marino';
$country_name = 'SAN_MARINO';
break;
case 'smi':
$lang_name = 'Sami';
$country_name = 'Norway'; //Native to Finland, Norway, Russia, and Sweden
break;
case 'sn':
$lang_name = 'Senegal';
$country_name = 'SENEGAL';
break;
case 'so':
$lang_name = 'Somalia';
$country_name = 'SOMALIA';
break;
case 'sq':
$lang_name = 'ALBANIAN';
$country_name = 'Albania';
break;
case 'sr':
$lang_name = 'Suriname';
$country_name = 'SURINAME';
break;
case 'ss':
$lang_name = ''; //Bari [Karo or Kutuk ('mother tongue', Beri)], Dinka, Luo, Murle, Nuer, Zande
$country_name = 'REPUBLIC_OF_SOUTH_SUDAN';
break;
case 'sse':
$lang_name = 'STANDARD_SCOTTISH_ENGLISH';
$country_name = 'Scotland';
break;
case 'st':
$lang_name = 'Sao Tome & Principe';
$country_name = 'SAO_TOME_&_PRINCIPE';
break;
case 'sv':
$lang_name = 'El Salvador';
$country_name = 'EL_SALVADOR';
break;
case 'sx':
$lang_name = 'dutch';
$country_name = 'SINT_MAARTEN_(DUTCH_PART)';
break;
case 'sz':
$lang_name = 'Swaziland';
$country_name = 'SWAZILAND';
break;
case 'se':
case 'sv-SE':
case 'sv-se':
//Swedish (Sweden) (sv-SE)
$lang_name = 'Sweden';
$country_name = 'SWEDEN';
break;
case 'sy':
$lang_name = 'SYRIAC'; //arabic syrian
$country_name = 'SYRIA';
break;
//ISO 639-2 swa
//ISO 639-3 swa – inclusive code
//Individual codes:
//swc – Congo Swahili
//swh – Coastal Swahili
//ymk – Makwe
//wmw – Mwani
//Person Mswahili
//People Waswahili
//Language Kiswahili
case 'sw':
$lang_name = 'SWAHILI';
$country_name = 'KENYA';
break;
case 'swa':
$lang_name = 'SWAHILI';
$country_name = 'AFRICAN_GREAT_LAKES';
break;
//swa – inclusive code
//
//Individual codes:
//swc – Congo Swahili
case 'swc':
$lang_name = 'CONGO_SWAHILI';
$country_name = 'CONGO';
break;
//swh – Coastal Swahili
case 'swh':
$lang_name = 'COASTAL_SWAHILI';
$country_name = 'AFRIKA_EAST_COAST';
break;
//ymk – Makwe
case 'ymk':
$lang_name = 'MAKWE';
$country_name = 'CABO_DELGADO_PROVINCE_OF_MOZAMBIQUE';
break;
//wmw – Mwani
case 'wmw':
$lang_name = 'MWANI';
$country_name = 'COAST_OF_CABO_DELGADO_PROVINCE_OF_MOZAMBIQUE';
break;
case 'tc':
$lang_name = 'Turks & Caicos Is';
$country_name = 'TURKS_&_CAICOS_IS';
break;
case 'td':
$lang_name = 'Chad';
$country_name = 'CHAD';
break;
case 'tf':
$lang_name = 'french '; //
$country_name = 'FRENCH_SOUTHERN_TERRITORIES'; //Terres australes françaises
break;
case 'tj':
$lang_name = 'Tajikistan';
$country_name = 'TAJIKISTAN';
break;
case 'tg':
$lang_name = 'Togo';
$country_name = 'TOGO';
break;
case 'th':
$country_name = 'Thailand';
$lang_name = 'THAILAND';
break;
case 'tk':
//260 speakers of Tokelauan, of whom 2,100 live in New Zealand,
//1,400 in Tokelau,
//and 17 in Swains Island
$lang_name = 'Tokelauan'; // /to?k?'la??n/ Tokelauans or Polynesians
$country_name = 'TOKELAUAU'; //Dependent territory of New Zealand
break;
case 'tl':
$country_name = 'East Timor';
$lang_name = 'East Timor';
break;
case 'to':
$country_name = 'Tonga';
$lang_name = 'TONGA';
break;
case 'tt':
$country_name = 'Trinidad & Tobago';
$lang_name = 'TRINIDAD_&_TOBAGO';
break;
case 'tn':
$lang_name = 'Tunisia';
$country_name = 'TUNISIA';
break;
case 'tm':
$lang_name = 'Turkmenistan';
$country_name = 'TURKMENISTAN';
break;
case 'tr':
$lang_name = 'Turkey';
$country_name = 'TURKEY';
break;
case 'tv':
$lang_name = 'Tuvalu';
$country_name = 'TUVALU';
break;
case 'tw':
$lang_name = 'TAIWANESE_HOKKIEN'; //Taibei Hokkien
$country_name = 'TAIWAN';
break;
case 'tz':
$country_name = 'TANZANIA';
$lang_name = 'Tanzania';
break;
case 'ug':
$lang_name = 'Uganda';
$country_name = 'UGANDA';
break;
case 'ua':
$lang_name = 'Ukraine';
$country_name = 'UKRAINE';
break;
case 'us':
$lang_name = 'en-us';
$country_name = 'UNITED_STATES_OF_AMERICA';
break;
case 'uz':
$lang_name = 'uzbek'; //Uyghur Perso-Arabic alphabet
$country_name = 'UZBEKISTAN';
break;
case 'uy':
$lang_name = 'Uruguay';
$country_name = 'URUGUAY';
break;
case 'va':
$country_name = 'VATICAN_CITY'; //Holy See
$lang_name = 'latin';
break;
case 'vc':
$country_name = 'ST_VINCENT_&_GRENADINES'; //
$lang_name = 'vincentian-creole';
break;
case 've':
$lang_name = 'Venezuela';
$country_name = 'VENEZUELA';
break;
case 'vi':
$lang_name = 'Virgin Islands (USA)';
$country_name = 'VIRGIN_ISLANDS_(USA)';
break;
case 'fr_vn':
$lang_name = 'FRENCH_VIETNAM';
$country_name = 'VIETNAM';
break;
case 'vn':
$lang_name = 'Vietnam';
$country_name = 'VIETNAM';
break;
case 'vg':
$lang_name = 'Virgin Islands (Brit)';
$country_name = 'VIRGIN_ISLANDS_(BRIT)';
break;
case 'vu':
$lang_name = 'Vanuatu';
$country_name = 'VANUATU';
break;
case 'wls':
$lang_name = 'WALLISIAN';
$country_name = 'WALES';
break;
case 'wf':
$country_name = 'TERRITORY_OF_THE_WALLIS_AND_FUTUNA_ISLANDS';
$lang_name = 'WF';
//Wallisian, or ‘Uvean
//Futunan - Austronesian, Malayo-Polynesian
break;
case 'ws':
$country_name = 'SAMOA';
$lang_name = 'Samoa';
break;
case 'ye':
$lang_name = 'Yemen';
$country_name = 'YEMEN';
break;
case 'yt':
$lang_name = 'Mayotte'; //Shimaore:
$country_name = 'DEPARTMENT_OF_MAYOTTE'; //Département de Mayotte
break;
case 'za':
$lang_name = 'zhuang';
$country_name = 'SOUTH_AFRICA';
break;
case 'zm':
$lang_name = 'zambian';
$country_name = 'ZAMBIA';
break;
case 'zw':
$lang_name = 'Zimbabwe';
$country_name = 'ZIMBABWE';
break;
case 'zu':
$lang_name = 'zulu';
$country_name = 'ZULU';
break;
default:
$lang_name = $file_dir;
$country_name = $file_dir;
break;
}
$return = ($lang_country == 'country') ? $country_name : $lang_name;
$return = ($langs_countries == true) ? $lang_name[$country_name] : $return;
return $return ;
}
/**
* @param string $var The key to look for
* @return bool True if $var is set
*/
public function is_set($var)
{
return isset($this -> $var);
}
/**
* @return string The file or folder name
*/
public function __toString()
{
return $this -> filename;
}
/**
* @return string The file extension of the file or folder name
*/
abstract public function file_ext();
}
?>