2012-03-09 9 views
0

Кто-нибудь знает, как конвертировать языковые коды стран, как приведенные ниже, в название фактического языка?Язык Преобразование кода страны

en_US 
de_DE 
en_GB 
it_IT 
fr_FR 

У меня динамический ввод и нужно будет преобразовать код языка страны с соответствующим названием языка (т.е. en_US = английский, fr_FR = французский).

+0

http://msdn.microsoft.com/en-us/library/ms533052%28v=vs.85%29.aspx –

ответ

1

Проверить этот код и он работает отлично я использовал коды из http://msdn.microsoft.com/en-us/library/ms533052%28v=vs.85%29.aspx

<?php 
    $strLcodes = '<tr><td>af</td><td>Afrikaans </td><td>sq</td><td>Albanian </td></tr> 
    <tr><td>ar-sa</td><td>Arabic (Saudi Arabia) </td><td>ar-iq</td><td>Arabic (Iraq) </td></tr> 
    <tr><td>ar-eg</td><td>Arabic (Egypt) </td><td>ar-ly</td><td>Arabic (Libya) </td></tr> 
    <tr><td>ar-dz</td><td>Arabic (Algeria) </td><td>ar-ma</td><td>Arabic (Morocco) </td></tr> 

    <tr><td>ar-tn</td><td>Arabic (Tunisia) </td><td>ar-om</td><td>Arabic (Oman) </td></tr> 
    <tr><td>ar-ye</td><td>Arabic (Yemen) </td><td>ar-sy</td><td>Arabic (Syria) </td></tr> 
    <tr><td>ar-jo</td><td>Arabic (Jordan) </td><td>ar-lb</td><td>Arabic (Lebanon) </td></tr> 
    <tr><td>ar-kw</td><td>Arabic (Kuwait) </td><td>ar-ae</td><td>Arabic (U.A.E.) </td></tr> 

    <tr><td>ar-bh</td><td>Arabic (Bahrain) </td><td>ar-qa</td><td>Arabic (Qatar) </td></tr> 
    <tr><td>eu</td><td>Basque </td><td>bg</td><td>Bulgarian </td></tr> 
    <tr><td>be</td><td>Belarusian </td><td>ca</td><td>Catalan </td></tr> 
    <tr><td>zh-tw</td><td>Chinese (Taiwan) </td><td>zh-cn</td><td>Chinese (PRC) </td></tr> 

    <tr><td>zh-hk</td><td>Chinese (Hong Kong SAR) </td><td>zh-sg</td><td>Chinese (Singapore) </td></tr> 
    <tr><td>hr</td><td>Croatian </td><td>cs</td><td>Czech </td></tr> 
    <tr><td>da</td><td>Danish </td><td>nl</td><td>Dutch (Standard) </td></tr> 
    <tr><td>nl-be</td><td>Dutch (Belgium) </td><td>en</td><td>English </td></tr> 

    <tr><td>en-us</td><td>English (United States) </td><td>en-gb</td><td>English (United Kingdom) </td></tr> 
    <tr><td>en-au</td><td>English (Australia) </td><td>en-ca</td><td>English (Canada) </td></tr> 
    <tr><td>en-nz</td><td>English (New Zealand) </td><td>en-ie</td><td>English (Ireland) </td></tr> 
    <tr><td>en-za</td><td>English (South Africa) </td><td>en-jm</td><td>English (Jamaica) </td></tr> 

    <tr><td>en</td><td>English (Caribbean) </td><td>en-bz</td><td>English (Belize) </td></tr> 
    <tr><td>en-tt</td><td>English (Trinidad) </td><td>et</td><td>Estonian </td></tr> 
    <tr><td>fo</td><td>Faeroese </td><td>fa</td><td>Farsi </td></tr> 
    <tr><td>fi</td><td>Finnish </td><td>fr</td><td>French (Standard) </td></tr> 

    <tr><td>fr-be</td><td>French (Belgium) </td><td>fr-ca</td><td>French (Canada) </td></tr> 
    <tr><td>fr-ch</td><td>French (Switzerland) </td><td>fr-lu</td><td>French (Luxembourg) </td></tr> 
    <tr><td>gd</td><td>Gaelic (Scotland) </td><td>ga</td><td>Irish </td></tr> 
    <tr><td>de</td><td>German (Standard) </td><td>de-ch</td><td>German (Switzerland) </td></tr> 

    <tr><td>de-at</td><td>German (Austria) </td><td>de-lu</td><td>German (Luxembourg) </td></tr> 
    <tr><td>de-li</td><td>German (Liechtenstein) </td><td>el</td><td>Greek </td></tr> 
    <tr><td>he</td><td>Hebrew </td><td>hi</td><td>Hindi </td></tr> 
    <tr><td>hu</td><td>Hungarian </td><td>is</td><td>Icelandic </td></tr> 

    <tr><td>id</td><td>Indonesian </td><td>it</td><td>Italian (Standard) </td></tr> 
    <tr><td>it-ch</td><td>Italian (Switzerland) </td><td>ja</td><td>Japanese </td></tr> 
    <tr><td>ko</td><td>Korean </td><td>ko</td><td>Korean (Johab) </td></tr> 
    <tr><td>lv</td><td>Latvian </td><td>lt</td><td>Lithuanian </td></tr> 

    <tr><td>mk</td><td>Macedonian (FYROM)</td><td>ms</td><td>Malaysian </td></tr> 
    <tr><td>mt</td><td>Maltese </td><td>no</td><td>Norwegian (Bokmal) </td></tr> 
    <tr><td>no</td><td>Norwegian (Nynorsk) </td><td>pl</td><td>Polish </td></tr> 
    <tr><td>pt-br</td><td>Portuguese (Brazil) </td><td>pt</td><td>Portuguese (Portugal) </td></tr> 

    <tr><td>rm</td><td>Rhaeto-Romanic </td><td>ro</td><td>Romanian </td></tr> 
    <tr><td>ro-mo</td><td>Romanian (Republic of Moldova) </td><td>ru</td><td>Russian </td></tr> 
    <tr><td>ru-mo</td><td>Russian (Republic of Moldova) </td><td>sz</td><td>Sami (Lappish) </td></tr> 
    <tr><td>sr</td><td>Serbian (Cyrillic) </td><td>sr</td><td>Serbian (Latin) </td></tr> 

    <tr><td>sk</td><td>Slovak </td><td>sl</td><td>Slovenian </td></tr> 
    <tr><td>sb</td><td>Sorbian </td><td>es</td><td>Spanish (Spain) </td></tr> 
    <tr><td>es-mx</td><td>Spanish (Mexico) </td><td>es-gt</td><td>Spanish (Guatemala) </td></tr> 
    <tr><td>es-cr</td><td>Spanish (Costa Rica) </td><td>es-pa</td><td>Spanish (Panama) </td></tr> 

    <tr><td>es-do</td><td>Spanish (Dominican Republic) </td><td>es-ve</td><td>Spanish (Venezuela) </td></tr> 
    <tr><td>es-co</td><td>Spanish (Colombia) </td><td>es-pe</td><td>Spanish (Peru) </td></tr> 
    <tr><td>es-ar</td><td>Spanish (Argentina) </td><td>es-ec</td><td>Spanish (Ecuador) </td></tr> 
    <tr><td>es-cl</td><td>Spanish (Chile) </td><td>es-uy</td><td>Spanish (Uruguay) </td></tr> 

    <tr><td>es-py</td><td>Spanish (Paraguay) </td><td>es-bo</td><td>Spanish (Bolivia) </td></tr> 
    <tr><td>es-sv</td><td>Spanish (El Salvador) </td><td>es-hn</td><td>Spanish (Honduras) </td></tr> 
    <tr><td>es-ni</td><td>Spanish (Nicaragua) </td><td>es-pr</td><td>Spanish (Puerto Rico) </td></tr> 
    <tr><td>sx</td><td>Sutu </td><td>sv</td><td>Swedish </td></tr> 

    <tr><td>sv-fi</td><td>Swedish (Finland) </td><td>th</td><td>Thai </td></tr> 
    <tr><td>ts</td><td>Tsonga </td><td>tn</td><td>Tswana </td></tr> 
    <tr><td>tr</td><td>Turkish </td><td>uk</td><td>Ukrainian </td></tr> 
    <tr><td>ur</td><td>Urdu </td><td>ve</td><td>Venda </td></tr> 

    <tr><td>vi</td><td>Vietnamese </td><td>xh</td><td>Xhosa </td></tr> 
    <tr><td>ji</td><td>Yiddish </td><td>zu</td><td>Zulu </td></tr> 
    '; 
    error_reporting(E_PARSE | E_ERROR); 
    $dom = new DOMDocument(); 
    $dom->loadHTML($strLcodes); 

    $xml = simplexml_import_dom($dom); 
    $path = $xml->xpath('//td'); 
    echo "<pre>"; 
    $strpath = implode('|',$path); 

    echo str_replace(' |', '<br/>',$strpath); 
    echo "</pre>"; 

?> 
0

Если вы хотите иметь больше выбора (например, название языков для отображения в другом языки и т. д. и т. д.), посмотрите Консорциум Unicode Common Language Data Repository (CLDR).

http://unicode.org/cldr/trac/browser/trunk/common/main 

Вы найдете удобный для анализа файлов XML, которые содержат информацию об этих кодах (и других вещах), собранных многими людьми по всей планете с целью, чтобы сделать это более доступным.

Вы можете легко оформить каталоги оттуда с svn, используйте RecursiveDirectoryIterator, а затем DOMDocument и DOMXPath к aquire информации.

Смежные вопросы