2019-09-17 10:16:07 +03:00
< ? php
/**
* @ package AutoIndex
*
2023-10-31 18:27:04 +02:00
* @ copyright Copyright ( C ) 2002 - 2004 Justin Hagstrom , 2019 - 2023 Florin C . Bodin aka OryNider
2019-09-17 10:16:07 +03:00
* @ license http :// www . gnu . org / licenses / gpl . html GNU General Public License ( GPL )
*
* @ link http :// autoindex . sourceforge . net
*/
/*
AutoIndex PHP Script is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 2 of the License , or
( at your option ) any later version .
AutoIndex PHP Script is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program ; if not , write to the Free Software
Foundation , Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
*/
if ( ! defined ( 'IN_AUTOINDEX' ) || ! IN_AUTOINDEX )
{
die ();
}
/**
* Abstract class to represent either a file or a directory .
*
* @ author Justin Hagstrom < JustinHagstrom @ yahoo . com >
* @ version 1.0 . 1 ( July 03 , 2004 )
* @ package AutoIndex
* @ see DirItem , FileItem
*/
abstract class Item
{
/**
* @ var string
2024-03-18 19:53:21 +02:00
*/
2019-09-17 10:16:07 +03:00
protected $filename ;
/**
* @ var Size
2024-03-18 19:53:21 +02:00
*/
2019-09-17 10:16:07 +03:00
protected $size ;
/**
* @ var int Last modified time
*/
protected $m_time ;
2024-03-18 19:53:21 +02:00
protected $last_write_time ;
2019-09-17 10:16:07 +03:00
/**
* @ var int Last accessed time
2024-03-18 19:53:21 +02:00
*/
2019-09-17 10:16:07 +03:00
protected $a_time ;
/**
* @ var int
2024-03-18 19:53:21 +02:00
*/
2019-09-17 10:16:07 +03:00
protected $downloads ;
/**
* @ var string
2024-03-18 19:53:21 +02:00
*/
2019-09-17 10:16:07 +03:00
protected $description ;
/**
* @ var string The HTML text of the link to the type icon
2024-03-18 19:53:21 +02:00
*/
2019-09-17 10:16:07 +03:00
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 ;
2023-01-20 12:58:28 +02:00
$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 = '' ;
2021-04-11 17:29:47 +03:00
2023-01-20 12:58:28 +02:00
global $descriptions , $words ;
2020-03-01 07:39:08 +02:00
2023-01-20 12:58:28 +02:00
$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 ;
2020-03-01 07:39:08 +02:00
2019-09-17 10:16:07 +03:00
if ( DAYS_NEW )
{
global $config ;
2023-01-20 12:58:28 +02:00
$days_new = $config -> __get ( 'days_new' );
$age = ( time () - $this -> m_time ) / 86400 ;
2019-09-17 10:16:07 +03:00
$age_r = round ( $age , 1 );
$s = (( $age_r == 1 ) ? '' : 's' );
2023-01-20 12:58:28 +02:00
$this -> description = ( $age_r <= 1 ) ? $this -> description . ' @ ' . $this -> last_write_time : $this -> description ;
$this -> new_icon = (( $days_new > 0 && $age <= $days_new ) ?
( ICON_PATH ? ' <img src="' . $config -> __get ( 'icon_path' )
2019-09-17 10:16:07 +03:00
. 'new.png" alt="' . " $age_r day $s " . ' old" height="14" width="28" />' : ' <span class="autoindex_small" style="color: #FF0000;">[New]</span>' ) : '' );
}
}
2020-03-01 07:39:08 +02:00
/**
* 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' :
2023-10-31 18:27:04 +02:00
case 'rup' :
2020-03-01 07:39:08 +02:00
$lang_name = 'AROMANIAN' ;
2023-10-31 18:27:04 +02:00
$country_name = 'BALCANS' ; //$country_name = 'Aromaya';
break ;
2020-03-01 07:39:08 +02:00
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 ;
2023-10-31 18:27:04 +02:00
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//jrb – Judeo-Arabic
//yhd – Judeo-Iraqi Arabic
//aju – Judeo-Moroccan Arabic
//yud – Judeo-Tripolitanian Arabic
//ajt – Judeo-Tunisian Arabic
//jye – Judeo-Yemeni Arabic
2020-03-01 07:39:08 +02:00
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' :
2023-01-20 12:58:28 +02:00
$lang_name = 'BASHKIR' ; //Baskortostán (Rusia)
2020-03-01 07:39:08 +02:00
$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.
2023-01-20 12:58:28 +02:00
//2. Lüliang spoken in western Shanxi (including Lüliang) and northern Shaanxi.
2020-03-01 07:39:08 +02:00
//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.
2023-01-20 12:58:28 +02:00
//5. Da– Bao spoken in parts of northern Shanxi and central Inner Mongolia, including Baotou.
2020-03-01 07:39:08 +02:00
//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
// ??
2023-01-20 12:58:28 +02:00
case 'cmn' : //Chinese Mandarin ??? (Pu tong hua) literally translates into “common tongue.”
2020-03-01 07:39:08 +02:00
$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".
2023-01-20 12:58:28 +02:00
//*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".
2020-03-01 07:39:08 +02:00
//*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:
2023-01-20 12:58:28 +02:00
//*-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".
2020-03-01 07:39:08 +02:00
//*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]
2023-10-31 18:27:04 +02:00
//??
2023-01-20 12:58:28 +02:00
case 'cpx' : //Chinese Pu-Xian Min, Sing-iú-ua / ???, (Xianyou dialect) http://www.putian.gov.cn/
2020-03-01 07:39:08 +02:00
$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 ;
2023-10-31 18:27:04 +02:00
// ??
2020-03-01 07:39:08 +02:00
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 ;
2023-10-31 18:27:04 +02:00
//Eeyou Istchee ??
2020-03-01 07:39:08 +02:00
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
2023-01-20 12:58:28 +02:00
$country_name = 'CURAÇAO' ; // Ilha da Curaçao (Island of Healing)
2020-03-01 07:39:08 +02:00
break ;
case 'da' :
$lang_name = 'DANISH' ;
$country_name = 'DENMARK' ;
break ;
//Geman (Deutsch)
2023-01-20 12:58:28 +02:00
/* 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 */
2020-03-01 07:39:08 +02:00
//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 ;
2023-01-20 12:58:28 +02:00
//acf – Saint Lucian / Dominican Creole French
2020-03-01 07:39:08 +02:00
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
2023-01-20 12:58:28 +02:00
$country_name = 'REPUBLIC_OF_DJIBOUTI' ; //République de Djibouti
2020-03-01 07:39:08 +02:00
break ;
case 'dv' :
$lang_name = 'DIVEHI' ; //Maldivian
$country_name = 'MALDIVIA' ;
break ;
2023-01-20 12:58:28 +02:00
//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.
2020-03-01 07:39:08 +02:00
//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:
2023-01-20 12:58:28 +02:00
//ell – Modern Greek
//grc – Ancient Greek
//cpg – Cappadocian Greek
//gmy – Mycenaean Greek
//pnt – Pontic
//tsd – Tsakonian
//yej – Yevanic
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//Albanian: Janina or Janinë, Aromanian: Ianina, Enina, Turkish: Yanya;
2020-03-01 07:39:08 +02:00
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' :
2023-10-31 18:27:04 +02:00
case 'es_co' :
case 'es-419' :
case 'es_419' :
2020-03-01 07:39:08 +02:00
// 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' :
2023-10-31 18:27:04 +02:00
case 'es-cu' :
case 'es_cu' :
2020-03-01 07:39:08 +02:00
// 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.
2023-01-20 12:58:28 +02:00
//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
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//Metropolitan French (French: France Métropolitaine or la Métropole)
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//al-dîzayir
2020-03-01 07:39:08 +02:00
case 'fr_dz' :
$lang_name = 'ALGERIAN_FRENCH' ;
$country_name = 'ALGERIA' ;
break ;
2023-01-20 12:58:28 +02:00
//Aostan French (French: français valdôtain)
2020-03-01 07:39:08 +02:00
//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 ;
2023-01-20 12:58:28 +02:00
//Cajun French - Le Français Cajun - New Orleans
2020-03-01 07:39:08 +02:00
case 'fr_cj' :
$lang_name = 'CAJUN_FRENCH' ;
$country_name = 'UNITED_STATES' ;
break ;
2023-01-20 12:58:28 +02:00
//Canadian French (French: Français Canadien)
2020-03-01 07:39:08 +02:00
//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 ;
2023-01-20 12:58:28 +02:00
//Louisiana French (French: Français de la Louisiane, Louisiana Creole: Françé la Lwizyan)
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//Meridional French (French: Français Méridional, also referred to as Francitan)
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//Newfoundland French (French: Français Terre-Neuvien),
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//Quebec French (French: français québécois; also known as Québécois French or simply Québécois)
2020-03-01 07:39:08 +02:00
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' ; //
2023-01-20 12:58:28 +02:00
$country_name = 'SOUTHERN_TERRITORIES' ; //Terres australes françaises
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//gcf – Guadeloupean Creole
2020-03-01 07:39:08 +02:00
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' :
2023-01-20 12:58:28 +02:00
$lang_name = 'GUERNESIAIS' ; //English, Guernésiais, Sercquiais, Auregnais
2020-03-01 07:39:08 +02:00
$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' :
2023-10-31 18:27:04 +02:00
case 'el_gr' :
case 'el-gr' :
2020-03-01 07:39:08 +02:00
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.
2023-01-20 12:58:28 +02:00
// nhd – Chiripá
// gui – Eastern Bolivian Guaraní
// gun – Mbyá Guaraní
// gug – Paraguayan Guaraní
// gnw – Western Bolivian Guaraní
2020-03-01 07:39:08 +02:00
case 'gn' :
$lang_name = 'GUARANI' ;
$country_name = 'GUINEA' ;
break ;
2023-01-20 12:58:28 +02:00
//Nhandéva is also known as Chiripá.
2020-03-01 07:39:08 +02:00
//The Spanish spelling, Nandeva, is used in the Paraguayan Chaco
2023-01-20 12:58:28 +02:00
// to refer to the local variety of Eastern Bolivian, a subdialect of Avá.
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//heb – Modern Hebrew
//hbo – Classical Hebrew (liturgical)
//smp – Samaritan Hebrew (liturgical)
//obm – Moabite (extinct)
//xdm – Edomite (extinct)
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//Mostly spoken on Ouvéa Island or Uvea Island of the Loyalty Islands, New Caledonia.
2020-03-01 07:39:08 +02:00
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
2023-01-20 12:58:28 +02:00
//zdj – Ngazidja Comorian
2020-03-01 07:39:08 +02:00
case 'zdj' :
$lang_name = 'Ngazidja Comorian' ;
$country_name = 'COMOROS' ;
break ;
2023-01-20 12:58:28 +02:00
//wni – Ndzwani Comorian (Anjouani) dialect
2020-03-01 07:39:08 +02:00
case 'wni' :
$lang_name = 'Ndzwani Comorian' ;
$country_name = 'COMOROS' ;
break ;
2023-01-20 12:58:28 +02:00
//swb – Maore Comorian dialect
2020-03-01 07:39:08 +02:00
case 'swb' :
$lang_name = 'Maore Comorian' ;
$country_name = 'COMOROS' ;
break ;
2023-01-20 12:58:28 +02:00
//wlc – Mwali Comorian dialect
2020-03-01 07:39:08 +02:00
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' ;
2023-01-20 12:58:28 +02:00
// kor – Modern Korean
// jje – Jeju
// okm – Middle Korean
// oko – Old Korean
// oko – Proto Korean
2020-03-01 07:39:08 +02:00
// 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' :
2023-01-20 12:58:28 +02:00
$lang_name = 'antillean-creole' ; // Antillean Creole (Créole Martiniquais)
2020-03-01 07:39:08 +02:00
$country_name = 'MARTINIQUE' ;
break ;
case 'na' :
$lang_name = 'Nambia' ;
$country_name = 'NAMBIA' ;
break ;
case 'ni' :
$lang_name = 'Nicaragua' ;
$country_name = 'NICARAGUA' ;
break ;
2023-01-20 12:58:28 +02:00
//Barber: Targuí, tuareg
2020-03-01 07:39:08 +02:00
case 'ne' :
$lang_name = 'Niger' ;
$country_name = 'NIGER' ;
break ;
2023-01-20 12:58:28 +02:00
//Mostly spoken on Maré Island of the Loyalty Islands, New Caledonia.
2020-03-01 07:39:08 +02:00
case 'nen' :
$lang_name = 'NENGONE' ;
$country_name = 'NEW_CALEDONIA' ;
break ;
case 'new' :
$lang_name = 'NEW_LANGUAGE' ;
$country_name = 'NEW_COUNTRY' ;
break ;
case 'nc' :
2023-01-20 12:58:28 +02:00
$lang_name = 'paicî' ; //French, Nengone, Paicî, Ajië, Drehu
2020-03-01 07:39:08 +02:00
$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' ;
2023-01-20 12:58:28 +02:00
$lang_name = 'tahitian' ; //Polynésie française
2020-03-01 07:39:08 +02:00
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' :
2020-03-19 08:51:44 +02:00
$lang_name = 'PORTUGUESE' ;
2020-03-01 07:39:08 +02:00
$country_name = 'PORTUGAL' ;
break ;
case 'pt_br' :
2020-03-19 08:51:44 +02:00
$lang_name = 'PORTUGUESE_BRASIL' ;
2020-03-01 07:39:08 +02:00
$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 ;
2023-01-20 12:58:28 +02:00
// rmn – Balkan Romani
// rml – Baltic Romani
// rmc – Carpathian Romani
// rmf – Kalo Finnish Romani
// rmo – Sinte Romani
// rmy – Vlax Romani
// rmw – Welsh Romani
2020-03-01 07:39:08 +02:00
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 ;
2023-01-20 12:58:28 +02:00
//scf – San Miguel Creole French (Panama)
2020-03-01 07:39:08 +02:00
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
2023-01-20 12:58:28 +02:00
//ISO 639-3 swa – inclusive code
2020-03-01 07:39:08 +02:00
//Individual codes:
2023-01-20 12:58:28 +02:00
//swc – Congo Swahili
//swh – Coastal Swahili
//ymk – Makwe
//wmw – Mwani
2020-03-01 07:39:08 +02:00
//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 ;
2023-01-20 12:58:28 +02:00
//swa – inclusive code
2020-03-01 07:39:08 +02:00
//
//Individual codes:
2023-01-20 12:58:28 +02:00
//swc – Congo Swahili
2020-03-01 07:39:08 +02:00
case 'swc' :
$lang_name = 'CONGO_SWAHILI' ;
$country_name = 'CONGO' ;
break ;
2023-01-20 12:58:28 +02:00
//swh – Coastal Swahili
2020-03-01 07:39:08 +02:00
case 'swh' :
$lang_name = 'COASTAL_SWAHILI' ;
$country_name = 'AFRIKA_EAST_COAST' ;
break ;
2023-01-20 12:58:28 +02:00
//ymk – Makwe
2020-03-01 07:39:08 +02:00
case 'ymk' :
$lang_name = 'MAKWE' ;
$country_name = 'CABO_DELGADO_PROVINCE_OF_MOZAMBIQUE' ;
break ;
2023-01-20 12:58:28 +02:00
//wmw – Mwani
2020-03-01 07:39:08 +02:00
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 ' ; //
2023-01-20 12:58:28 +02:00
$country_name = 'FRENCH_SOUTHERN_TERRITORIES' ; //Terres australes françaises
2020-03-01 07:39:08 +02:00
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' ;
2023-01-20 12:58:28 +02:00
//Wallisian, or ‘ Uvean
2020-03-01 07:39:08 +02:00
//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:
2023-01-20 12:58:28 +02:00
$country_name = 'DEPARTMENT_OF_MAYOTTE' ; //Département de Mayotte
2020-03-01 07:39:08 +02:00
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 ;
}
2019-09-17 10:16:07 +03:00
/**
* @ 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 ();
}
2023-01-20 12:58:28 +02:00
?>