Changeset 65686 in spip-zone


Ignore:
Timestamp:
Sep 8, 2012, 7:15:09 PM (7 years ago)
Author:
eric@…
Message:

Ajout de la fonction de conversion des codes de langue pour wunderground

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/rainette/trunk/services/wunderground.php

    r65441 r65686  
    66define('_RAINETTE_WUNDERGROUND_SUFFIXE_METRIQUE', 'c:mb:km:kph');
    77define('_RAINETTE_WUNDERGROUND_SUFFIXE_STANDARD', 'f:in:mi:mph');
     8define('_RAINETTE_WUNDERGROUND_LANGUE_DEFAUT', 'FR');
    89
    910function wunderground_service2cache($lieu, $mode) {
     
    4748        // Identification de la langue du resume
    4849        // TODO : creer une fonction de transcodage prefixe spip vers prefixe wunderground
    49         $langue = strtoupper($GLOBALS['spip_lang']);
     50        $code_langue = wunderground_langue2code($GLOBALS['spip_lang']);
    5051
    5152        $url = _RAINETTE_WUNDERGROUND_URL_BASE_REQUETE
    5253                .  '/' . $cle
    5354                .  '/' . $demande
    54                 .  '/lang:' . $langue
     55                .  '/lang:' . $code_langue
    5556                .  '/q'
    5657                .  '/' . $query . '.xml';
     
    107108        return $icone;
    108109}
     110
     111function wunderground_langue2code($langue) {
     112        static $langue2wunderground = array(
     113                'aa' => array('', ''),                                  // afar (éthiopien)
     114                'ab' => array('', ''),                                  // abkhaze
     115                'af' => array('AF', ''),                                // afrikaans
     116                'am' => array('', ''),                                  // amharique
     117                'an' => array('', ''),                                  // aragonais
     118                'ar' => array('AR', ''),                                // arabe
     119                'as' => array('', ''),                                  // assamais
     120                'ast' => array('', ''),                                 // asturien
     121                'ay' => array('', ''),                                  // aymara
     122                'az' => array('AZ', ''),                                // azeri
     123                'ba' => array('', ''),                                  // bashkir
     124                'be' => array('BY', ''),                                // Bielorusse
     125                'ber_tam' => array('', ''),                             // berbère
     126                'ber_tam_tfng' => array('', ''),                // berbère tifinagh
     127                'bg' => array('BU', ''),                                // bulgare
     128                'bh' => array('', ''),                                  // langues biharis
     129                'bi' => array('', ''),                                  // bichlamar
     130                'bm' => array('', ''),                                  // bambara
     131                'bn' => array('', ''),                                  // bengali
     132                'bo' => array('', ''),                                  // tibétain
     133                'br' => array('', ''),                                  // breton
     134                'bs' => array('', ''),                                  // bosniaque
     135                'ca' => array('CA', ''),                                // catalan
     136                'co' => array('', ''),                                  // corse
     137                'cpf' => array('', ''),                                 // créole réunionais
     138                'cpf_dom' => array('', ''),                     // créole ???
     139                'cpf_hat' => array('HT', ''),                   // créole haïtien
     140                'cs' => array('CZ', ''),                                // tchèque
     141                'cy' => array('CY', ''),                                // gallois
     142                'da' => array('DK', ''),                                // danois
     143                'de' => array('DL', ''),                                // allemand
     144                'dz' => array('', ''),                                  // dzongkha
     145                'el' => array('GR', ''),                                // grec moderne
     146                'en' => array('EN', ''),                                // anglais
     147                'en_hx' => array('', 'EN'),                             // anglais hacker
     148                'en_sm' => array('', 'EN'),                             // anglais smurf
     149                'eo' => array('EO', ''),                                // esperanto
     150                'es' => array('SP', ''),                                // espagnol
     151                'es_co' => array('', 'SP'),                             // espagnol colombien
     152                'es_mx_pop' => array('', 'SP'),                 // espagnol mexicain
     153                'et' => array('ET', ''),                                // estonien
     154                'eu' => array('EU', ''),                                // basque
     155                'fa' => array('FA', ''),                                // persan (farsi)
     156                'ff' => array('', ''),                                  // peul
     157                'fi' => array('FI', ''),                                // finnois
     158                'fj' => array('', ''),                                  // fidjien
     159                'fo' => array('', ''),                                  // féroïen
     160                'fon' => array('', ''),                                 // fon
     161                'fr' => array('FR', ''),                                // français
     162                'fr_sc' => array('', 'FR'),                             // français schtroumpf
     163                'fr_lpc' => array('', 'FR'),                    // français langue parlée
     164                'fr_lsf' => array('', 'FR'),                    // français langue des signes
     165                'fr_spl' => array('', 'FR'),                    // français simplifié
     166                'fr_tu' => array('', 'FR'),                             // français copain
     167                'fy' => array('', ''),                                  // frison occidental
     168                'ga' => array('IR', ''),                                // irlandais
     169                'gd' => array('', ''),                                  // gaélique écossais
     170                'gl' => array('GZ', ''),                                // galicien
     171                'gn' => array('', ''),                                  // guarani
     172                'grc' => array('', ''),                                 // grec ancien
     173                'gu' => array('GU', ''),                                // goudjrati
     174                'ha' => array('', ''),                                  // haoussa
     175                'hac' => array('', ''),                                 // Kurdish-Horami
     176                'hbo' => array('', ''),                                 // hebreu classique ou biblique
     177                'he' => array('IL', ''),                                // hébreu
     178                'hi' => array('HI', ''),                                // hindi
     179                'hr' => array('CR', ''),                                // croate
     180                'hu' => array('HU', ''),                                // hongrois
     181                'hy' => array('HY', ''),                                // armenien
     182                'ia' => array('', ''),                                  // interlingua (langue auxiliaire internationale)
     183                'id' => array('ID', ''),                                // indonésien
     184                'ie' => array('', ''),                                  // interlingue
     185                'ik' => array('', ''),                                  // inupiaq
     186                'is' => array('IS', ''),                                // islandais
     187                'it' => array('IT', ''),                                // italien
     188                'it_fem' => array('', ''),                              // italien féminin
     189                'iu' => array('', ''),                                  // inuktitut
     190                'ja' => array('JP', ''),                                // japonais
     191                'jv' => array('JW', ''),                                // javanais
     192                'ka' => array('KA', ''),                                // géorgien
     193                'kk' => array('', ''),                                  // kazakh
     194                'kl' => array('', ''),                                  // groenlandais
     195                'km' => array('KM', ''),                                // khmer central
     196                'kn' => array('', ''),                                  // Kannada
     197                'ko' => array('KR', ''),                                // coréen
     198                'ks' => array('', ''),                                  // kashmiri
     199                'ku' => array('KU', ''),                                // kurde
     200                'ky' => array('', ''),                                  // kirghiz
     201                'la' => array('LA', ''),                                // latin
     202                'lb' => array('', ''),                                  // luxembourgeois
     203                'ln' => array('', ''),                                  // lingala
     204                'lo' => array('', ''),                                  // lao
     205                'lt' => array('LT', ''),                                // lituanien
     206                'lu' => array('luba-katanga', ''),
     207                'lv' => array('LV', ''),                                // letton
     208                'man' => array('GM', ''),                               // mandingue
     209                'mfv' => array('manjak', ''),                   // ISO-639-3
     210                'mg' => array('Malagasy', ''),
     211                'mi' => array('MI', ''),                                // maori
     212                'mk' => array('MK', ''),                                // macédonien
     213                'ml' => array('Malayalam', ''),
     214                'mn' => array('MN', ''),                                // mongol
     215                'mo' => array('Moldavian', ''),
     216                'mos' => array('Moré', ''),
     217                'mr' => array('MR', ''),                                // marathe
     218                'ms' => array('Bahasa Malaysia', ''),
     219                'mt' => array('MT', ''),                                // maltais
     220                'my' => array('MY', ''),                                // birman
     221                'na' => array('Nauru', ''),
     222                'nap' => array('napulitano', ''),
     223                'ne' => array('Nepali', ''),
     224                'nqo' => array('Nko', ''), // www.manden.org
     225                'nl' => array('NL', ''),                                // néerlandais
     226                'no' => array('NO', ''),                                // norvégien
     227                'nb' => array('', 'NO'),                                // norvégien bokmål
     228                'nn' => array('', 'NO'),                                // norvégien nynorsk
     229                'oc' => array('OC', ''),                                // occitan
     230                'oc_lnc' => array('', 'OC'),                    // occitan languedocien
     231                'oc_ni' => array('', 'OC'),                             // occitan niçard
     232                'oc_ni_la' => array('', 'OC'),                  // occitan niçard
     233                'oc_prv' => array('', 'OC'),                    // occitan provençal
     234                'oc_gsc' => array('', 'OC'),                    // occitan gascon
     235                'oc_lms' => array('', 'OC'),                    // occitan limousin
     236                'oc_auv' => array('', 'OC'),                    // occitan auvergnat
     237                'oc_va' => array('', 'OC'),                             // occitan vivaro-alpin
     238                'om' => array('', ''),                                  // galla
     239                'or' => array('', ''),                                  // oriya
     240                'pa' => array('PA', ''),                                // pendjabi
     241                'pbb' => array('', ''),                                 // Nasa Yuwe (páez) - iso 639-3
     242                'pl' => array('PL', ''),                                // polonais
     243                'ps' => array('PS', ''),                                // pachto
     244                'pt' => array('BR', ''),                                // portugais
     245                'pt_br' => array('', 'BR'),                             // portugais brésilien
     246                'qu' => array('', ''),                                  // quechua
     247                'rm' => array('Rhaeto-Romance', ''),
     248                'rn' => array('Kirundi', ''),
     249                'ro' => array('RO', ''),                                // roumain
     250                'roa' => array('chti', ''),
     251                'ru' => array('RU', ''),                                // russe
     252                'rw' => array('Kinyarwanda', ''),
     253                'sa' => array('संस्कृत', ''),
     254                'sc' => array('sardu', ''),
     255                'scn' => array('sicilianu', ''),
     256                'sd' => array('Sindhi', ''),
     257                'sg' => array('Sangho', ''),
     258                'sh' => array('', ''),                                  // serbo-croate
     259                'sh_latn' => array('', ''),                             // serbo-croate latin
     260                'sh_cyrl' => array('', ''),                             // serbo-croate cyrillique
     261                'si' => array('Sinhalese', ''),
     262                'sk' => array('SK', ''),                                // slovaque
     263                'sl' => array('SL', ''),                                // slovène
     264                'sm' => array('Samoan', ''),
     265                'sn' => array('Shona', ''),
     266                'so' => array('Somali', ''),
     267                'sq' => array('AL', ''),                                // albanais
     268                'sr' => array('SR', ''),                                // serbe
     269                'src' => array('', ''),                                 // sarde logoudorien - iso 639-3
     270                'sro' => array('', ''),                                 // sarde campidanien - iso 639-3
     271                'ss' => array('Siswati', ''),
     272                'st' => array('Sesotho', ''),
     273                'su' => array('Sundanese', ''),
     274                'sv' => array('SW', ''),                                // suédois
     275                'sw' => array('SI', ''),                                // swahili
     276                'ta' => array('தமிழ்', ''), // Tamil
     277                'te' => array('Telugu', ''),
     278                'tg' => array('Tajik', ''),
     279                'th' => array('TH', ''),                                // thaï
     280                'ti' => array('Tigrinya', ''),
     281                'tk' => array('TK', ''),                                // turkmène
     282                'tl' => array('TL', ''),                                // tagalog
     283                'tn' => array('Setswana', ''),
     284                'to' => array('Tonga', ''),
     285                'tr' => array('TR', ''),                                // turc
     286                'ts' => array('Tsonga', ''),
     287                'tt' => array('TT', ''),                                // tatar
     288                'tw' => array('Twi', ''),
     289                'ty' => array('reo mā`ohi', ''),   // tahitien
     290                'ug' => array('Uighur', ''),
     291                'uk' => array('UA', ''),                                // ukrainien
     292                'ur' => array('ٱردو', ''),
     293                'uz' => array('UZ', ''),                                // ouszbek
     294                'vi' => array('VU', ''),                                // vietnamien
     295                'vo' => array('Volapuk', ''),
     296                'wa' => array('walon', ''),
     297                'wo' => array('SN', ''),                                // wolof
     298                'xh' => array('Xhosa', ''),
     299                'yi' => array('YI', ''),                                // yiddish
     300                'yo' => array('Yoruba', ''),
     301                'za' => array('Zhuang', ''),
     302                'zh' => array('CN', ''),                                // chinois (ecriture simplifiee)
     303                'zh_tw' => array('TW', ''),                     // chinois taiwan (ecriture traditionnelle)
     304                'zu' => array('Zulu', '')
     305        );
     306
     307        $code = _RAINETTE_WUNDERGROUND_LANGUE_DEFAUT;
     308        if (array_key_exists($langue,  $langue2wunderground)) {
     309                if ($c0 = $langue2wunderground[$langue][0])
     310                        $code = strtoupper($c0);
     311                else
     312                        $code = strtoupper($langue2wunderground[$langue][1]);
     313        }
     314
     315        return $code;
     316}
     317
    109318
    110319/**
Note: See TracChangeset for help on using the changeset viewer.