From 13eb868cb189ff6825e7bffe28fee9414aef2295 Mon Sep 17 00:00:00 2001 From: domcox Date: Mon, 21 May 2018 22:33:43 +0200 Subject: [PATCH] fix several Windows Help issues --- mhelp/C/index.page | 4 +- mhelp/C/legal.xml | 3 +- mhelp/C/xiphos-01-introduction.page | 16 +- mhelp/C/xiphos-21-modules-configuration.page | 3 +- mhelp/C/xiphos-60-online-help.page | 14 +- mhelp/C/xiphos-90-credits.page | 123 +++ mhelp/CMakeLists.txt | 82 +- mhelp/ms_langcodes_file | 807 ----------------- mhelp/win32/bdd.odb | Bin 0 -> 57317 bytes mhelp/win32/ms-codepages | 808 ++++++++++++++++++ mhelp/win32/ms-langID | 807 +++++++++++++++++ mhelp/{xml/mhtmlhelp.xsl => win32/toc.xsl.in} | 6 +- mhelp/{ => win32}/xiphos.hhp.in | 0 mhelp/xml/html.css.custom.xsl | 50 ++ 14 files changed, 1864 insertions(+), 859 deletions(-) create mode 100644 mhelp/C/xiphos-90-credits.page delete mode 100644 mhelp/ms_langcodes_file create mode 100644 mhelp/win32/bdd.odb create mode 100644 mhelp/win32/ms-codepages create mode 100644 mhelp/win32/ms-langID rename mhelp/{xml/mhtmlhelp.xsl => win32/toc.xsl.in} (93%) rename mhelp/{ => win32}/xiphos.hhp.in (100%) create mode 100644 mhelp/xml/html.css.custom.xsl diff --git a/mhelp/C/index.page b/mhelp/C/index.page index 42da44b83..70b2d81c7 100644 --- a/mhelp/C/index.page +++ b/mhelp/C/index.page @@ -6,7 +6,9 @@ - Xiphos is an application to aid in study of the Bible. + + Bible study tool for reading, study, and research using modules from + The SWORD Project and elsewhere. <media type="image" its:translate="no" src="figures/xiphos-trail-icon.png"/> diff --git a/mhelp/C/legal.xml b/mhelp/C/legal.xml index 782a35eae..fdb438a1c 100644 --- a/mhelp/C/legal.xml +++ b/mhelp/C/legal.xml @@ -1,5 +1,6 @@ +<!-- <license href="https://www.gnu.org/licenses/gpl-2.0.html"> --> <license xmlns="http://projectmallard.org/1.0/" -href="http://www.gnu.org/licenses/" > +href="http://www.gnu.org/licenses/gpl-2.0.html"> <p> Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License (GPL), Version 2 or diff --git a/mhelp/C/xiphos-01-introduction.page b/mhelp/C/xiphos-01-introduction.page index a301c58f6..21297f14a 100644 --- a/mhelp/C/xiphos-01-introduction.page +++ b/mhelp/C/xiphos-01-introduction.page @@ -64,19 +64,21 @@ <media type="image" mime="image/png" style="floatstart" src="figures/sword3.png" /> - <p>"The SWORD Project" is based at <link href="http://www.crosswire.org"> - http://www.crosswire.org</link>. Other apps under the same banner are - <app>MacSword</app> for the Macintosh, <app>BibleDesktop</app>, a Java - app, <app>BibleTime</app> (another Linux program), and <app>The SWORD - Project for Windows</app> (aka <app>BibleCS</app> or <app>WinSword</app>). + <p>"The SWORD Project" is based at <link href="http://www.crosswire.org" + its:translate="no">http://www.crosswire.org</link>. Other apps under the + same banner are <app>MacSword</app> for the Macintosh, <app>BibleDesktop + </app>, a Java app, <app>BibleTime</app> (another Linux program), and + <app>The SWORD Project for Windows</app> (aka <app>BibleCS</app> or + <app>WinSword</app>). </p> <!-- Where important notices are kept regarding Xiphos --> <note style="warning"> <p>Xiphos is currently in development, so this manual may not reflect the program as you see it. If it does not, please file a - bug at the <link href="https://github.com/crosswire/xiphos"> - project website</link>, or email <sys>xiphos-devel@crosswire.org</sys>. + bug at the <link href="https://github.com/crosswire/xiphos" + its:translate="no">project website</link>, or email + <sys its:translate="no">xiphos-devel@crosswire.org</sys>. All help is appreciated, as it will improve the software.</p> </note> diff --git a/mhelp/C/xiphos-21-modules-configuration.page b/mhelp/C/xiphos-21-modules-configuration.page index c37c429ac..226b0fb8a 100644 --- a/mhelp/C/xiphos-21-modules-configuration.page +++ b/mhelp/C/xiphos-21-modules-configuration.page @@ -44,7 +44,8 @@ the modules available from other repositories do not represent content officially sanctioned by Crosswire. On the web, see this page for list of those repositories known: - <link href="http://www.crosswire.org/wiki/Module_Repositories"> + <link href="http://www.crosswire.org/wiki/Module_Repositories" + its:translate="no"> http://www.crosswire.org/wiki/Module_Repositories</link></p> <p>The list of standard repositories is maintained at CrossWire. Xiphos diff --git a/mhelp/C/xiphos-60-online-help.page b/mhelp/C/xiphos-60-online-help.page index a80ebad74..8a351ced8 100644 --- a/mhelp/C/xiphos-60-online-help.page +++ b/mhelp/C/xiphos-60-online-help.page @@ -41,10 +41,10 @@ <p>One way you can get help with Xiphos is using our low-traffic users' mailing list. You can sign up by clicking - <link href="http://www.crosswire.org/mailman/listinfo/xiphos-users/">this - link</link>. Once you are signed up, you can email the list with any - problems you are having and other users or the developers will respond, - typically within a day.</p> + <link href="http://www.crosswire.org/mailman/listinfo/xiphos-users/" + its:translate="no">this link</link>. Once you are signed up, you can + email the list with any problems you are having and other users or the + developers will respond, typically within a day.</p> </section> <section id="xiphos-live-chat"> @@ -53,9 +53,9 @@ <p>Another way to get help is with online chat. Xiphos has an IRC channel on freenode, #xiphos. If you don't know what that means, it's ok. Just click - <link href="http://webchat.freenode.net/?randomnick=1&channels=xiphos&prompt=1">this - link</link> (it will open your web browser), type a nickname or accept the - default, and click "Click to join chatroom". + <link href="http://webchat.freenode.net/?randomnick=1&channels=xiphos&prompt=1" + its:translate="no">this link</link> (it will open your web browser), + type a nickname or accept the default, and click "Click to join chatroom". This will take you to a chatroom where the developers and other users are available to help you with issues you may be having. Although many times someone will answer your question immediately, sometimes you may have to diff --git a/mhelp/C/xiphos-90-credits.page b/mhelp/C/xiphos-90-credits.page new file mode 100644 index 000000000..360594e10 --- /dev/null +++ b/mhelp/C/xiphos-90-credits.page @@ -0,0 +1,123 @@ +<page xmlns="http://projectmallard.org/1.0/" + xmlns:its="http://www.w3.org/2005/11/its" + xmlns:ui="http://projectmallard.org/ui/1.0/" + type="topic" + id="xiphos-90-credits"> + + <info> + <desc>Credits and contact information.</desc> + + <link type="guide" xref="index"/> + + <revision pkgversion="4.1.1" date="2018-05-20" status="draft"/> + + <title type='link' role="trail"> + Xiphos + + + Andy Piper + + + Pierre Benz + + + Dr Peter von Kaehne + + + Karl Kleinpaste + + + Matthew Talbert + + + + + + + Credits and Acknowledgment + +
+ License +

+ Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU General Public License (GPL), Version 2 or + any later version published by the Free Software Foundation. You can + find a copy of the GPL at this + link or in the file COPYING distributed + with this manual. +

+
+ +
+ Authors of the <app>Xiphos</app> User Documentation +

This manual was written by:

+ + +

Andy Piper

+
+ +

Pierre Benz

+
+ +

Dr Peter von Kaehne

+
+ +

Karl Kleinpaste

+
+ +

Matthew Talbert

+
+
+
+ + +
+ Contact information +

The Xiphos software and Manual:

+ + +

+ + Website + +

+
+ +

+ + Mailing list + +

+
+ +

+ + Xiphos Issues and Bug reports + +

+
+
+ +

The SWORD Project:

+ + +

+ + Crosswire website + +

+
+ +

+ + Modules Issues and Bug tracking + +

+
+
+
+ diff --git a/mhelp/CMakeLists.txt b/mhelp/CMakeLists.txt index c8f308e5b..563863463 100644 --- a/mhelp/CMakeLists.txt +++ b/mhelp/CMakeLists.txt @@ -51,6 +51,7 @@ if (HELP) xiphos-52-preferences-fonts-colors.page xiphos-53-preferences-modules.page xiphos-60-online-help.page + xiphos-90-credits.page ) # list of figures @@ -170,7 +171,8 @@ if (HELP) set (mallard-schema ${CMAKE_CURRENT_SOURCE_DIR}/xml/mallard-1.0.rng) foreach (lang ${help_all_langs}) add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${lang}/validate.txt - COMMAND ${XMLLINT} --noout --xinclude --noent --relaxng ${mallard-schema} *.page > ${CMAKE_CURRENT_BINARY_DIR}/${lang}/validate.txt 2>&1 +# COMMAND ${XMLLINT} --noout --xinclude --noent --relaxng ${mallard-schema} *.page > ${CMAKE_CURRENT_BINARY_DIR}/${lang}/validate.txt 2>&1 + COMMAND ${XMLLINT} --noout --xinclude --noent --relaxng ${mallard-schema} *.page DEPENDS help-${lang}-pages WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${lang} COMMENT "'${lang}' help - mallard pages validation report" @@ -241,7 +243,7 @@ if (HELP) ### optional features - # TODO: switch from yelp-x utilities which are bash script to plain XSLT + # TODO: in th future, switch from yelp-x utilities which are bash script to plain XSLT # export mallard files to epub @@ -286,32 +288,29 @@ if (HELP) # TODO: switch to plain XSLT message(STATUS "Configuring Help to HTML export") foreach (lang ${help_all_langs}) + # list help pages to convert set (mallard_pages) foreach(page ${help_pages}) list(APPEND mallard_pages ${CMAKE_CURRENT_BINARY_DIR}/${lang}/${page}) endforeach(page) - # convert Mallard pages into html files + # convert Mallard pages into html files using a custom css + set(custom_css ${CMAKE_CURRENT_SOURCE_DIR}/xml/html.css.custom.xsl) add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${lang}/html.timestamp - COMMAND ${YELP_BUILD} html ${mallard_pages} - COMMAND ${CMAKE_COMMAND} -E remove ${lang}.css - COMMAND ${CMAKE_COMMAND} -E touch ${lang}.css + COMMAND ${YELP_BUILD} html -x ${custom_css} ${mallard_pages} DEPENDS validate-${lang}-pages WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${lang} COMMENT "Generating '${lang}' html files" ) - add_custom_target(${lang}-html-files DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${lang}/html.timestamp ) - add_dependencies(handbook ${lang}-html-files) endforeach () set (have_html_help ON PARENT_SCOPE) - endfunction (xiphos_export_to_html) @@ -330,27 +329,27 @@ if (HELP) if (NOT have_html_help) xiphos_export_to_html() endif () - # generate .chm file for each + + # generate a .chm file for each foreach (lang ${help_all_langs}) message(STATUS "Configuring Windows© Help file for '${lang}'") - # 1. format lang to MS pattern - string(REGEX REPLACE "[_]" "-" ms_lang ${lang}) - # find MS language code for ms_lang - file(STRINGS ms_langcodes_file ms_found_code REGEX "^${ms_lang}[ ]") - # if empty, default to en-US - if (NOT ms_found_code) - set(ms_found_code "C 0x0409 English (United States)") + # Create xiphos.hhp file (PROJECT) + # 1. find the according Microsoft language ID + file(STRINGS win32/ms-langID ms_langID REGEX "^${lang}[ ]") + # if empty, default to the en-US langID + if (NOT ms_langID) + set(ms_langID "C 0x0409 English (United States)") endif () - # format to HHP style - string(LENGTH ${ms_lang} len_lang) + # remove lang, keep only langID and country values + string(LENGTH ${lang} len_lang) math(EXPR len_lang "${len_lang} + 1") - string(SUBSTRING ${ms_found_code} ${len_lang} -1 MS_LANGUAGE_CODE) + string(SUBSTRING ${ms_langID} ${len_lang} -1 MS_LANGUAGE_CODE) - # 2. set output file name + # 2. set the .chm output file name set(MS_COMPILED_FILE "xiphos_${lang}.chm") - # 3. set list of files to compile + # 3. set the list of files to compile foreach(line ${help_pages}) set(MS_FILES_LIST "${MS_FILES_LIST}${line}\n") endforeach() @@ -359,20 +358,38 @@ if (HELP) endforeach() # 4. create HHP file (Project file) - configure_file(${PROJECT_SOURCE_DIR}/mhelp/xiphos.hhp.in + configure_file(${PROJECT_SOURCE_DIR}/mhelp/win32/xiphos.hhp.in ${CMAKE_CURRENT_BINARY_DIR}/${lang}/xiphos.hhp) - # 5. Create HHC file (TOC) + # Create xiphos.hhc (TOC) + # 1. find MS codepage for lang + file(STRINGS win32/ms-codepages ms_codepage REGEX "^${lang}[ ]") + # if codepage unset, default to windows-1252 + if (${lang} STREQUAL ${ms_codepage}) + message(WARNING "No codepage set for ${lang}, please add it to the win32/ms-codepages file") + set(ms_codepage "${lang} windows-1252") + endif () + # remove lang + string(LENGTH ${lang} len_lang) + math(EXPR len_lang "${len_lang} + 1") + string(SUBSTRING ${ms_codepage} ${len_lang} -1 MS_WINDOWS_CODEPAGE) + + # 3. create XSLT file + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/win32/toc.xsl.in + ${CMAKE_CURRENT_BINARY_DIR}/${lang}/toc.xsl) + + # 4. build HHC file add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${lang}/xiphos.hhc # Create HHC file (TOC) - COMMAND ${XSLTPROC} --html ${CMAKE_CURRENT_SOURCE_DIR}/xml/mhtmlhelp.xsl ${CMAKE_CURRENT_BINARY_DIR}/${lang}/index.html > ${CMAKE_CURRENT_BINARY_DIR}/${lang}/xiphos.hhc + COMMAND ${XSLTPROC} --html ${CMAKE_CURRENT_BINARY_DIR}/${lang}/toc.xsl ${CMAKE_CURRENT_BINARY_DIR}/${lang}/index.html > ${CMAKE_CURRENT_BINARY_DIR}/${lang}/xiphos.hhc # Compile HTML files DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${lang}/html.timestamp WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${lang} - COMMENT "Generating '${lang}' Windows© HHC (Table of Contents) file" + COMMENT "Generating '${lang}' Windows HHC (Table of Contents) file" ) - # 6. TODO: Create HHK file (Index file) - workaround: + # 6. TODO: Create a HHK file (Index file) + # here is a workaround: file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/${lang}/xiphos.hhk "" "" @@ -388,7 +405,7 @@ if (HELP) # 7. Build CHM if (WIN32 AND NOT CMAKE_CROSSCOMPILING) - # pure Windows©: building help with HHC.EXE [NOTE: First switch to XSLT] + # pure Windows: building help with HHC.EXE [NOTE: First switch to XSLT] add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${lang}/${MS_COMPILED_FILE} COMMAND ${HHC_EXE} xiphos.hhp WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${lang} @@ -423,6 +440,7 @@ if (HELP) endif (MSHELP) # create PDF (experimental) + # needs htmldoc > 1.9.0 if (PDFHELP) set(lang "C") @@ -433,11 +451,11 @@ if (HELP) xiphos_export_to_html() endif () # create PDF file - # TODO: htmldoc is not utf-8 aware, we needs to run iconv first - # NOTE: another option is to run: COMMAND ${WKHTMLTOPDF} *.html xiphos.pdf - # but actually it needs a patched version of QT (and its dependencies) + # TODO: htmldoc is not full utf-8 aware, we needs to run iconv first + # NOTE: a better option is to run: COMMAND ${WKHTMLTOPDF} *.html xiphos.pdf + # but actually it needs a patched version of QT. add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${lang}/xiphos.pdf - COMMAND ${HTMLDOC} --webpage --linkstyle plain -f xiphos.pdf *.html + COMMAND ${HTMLDOC} --webpage --continuous --browserwidth 1200 --footer : --fontsize 8 --headfootsize 8 --no-jpeg --no-strict --linkstyle plain -f xiphos.pdf xiphos*.html DEPENDS ${lang}-html-files WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${lang} COMMENT "Generating '${lang}' PDF file" diff --git a/mhelp/ms_langcodes_file b/mhelp/ms_langcodes_file deleted file mode 100644 index 1e54eeb71..000000000 --- a/mhelp/ms_langcodes_file +++ /dev/null @@ -1,807 +0,0 @@ -aa 0x1000 Afar -aa-DJ 0x1000 Afar Djibouti -aa-ER 0x1000 Afar Eritrea -aa-ET 0x1000 Afar Ethiopia -af 0x0036 Afrikaans -af-NA 0x1000 Afrikaans Namibia -af-ZA 0x0436 Afrikaans "South Africa" -agq 0x1000 Aghem -agq-CM 0x1000 Aghem Cameroon -ak 0x1000 Akan -ak-GH 0x1000 Akan Ghana -sq 0x001C Albanian -sq-AL 0x041C Albanian Albania -sq-MK 0x1000 Albanian "Macedonia, FYRO" -gsw 0x0084 Alsatian -gsw-FR 0x0484 Alsatian France -gsw-LI 0x1000 Alsatian Liechtenstein -gsw-CH 0x1000 Alsatian Switzerland -am 0x005E Amharic -am-ET 0x045E Amharic Ethiopia -ar 0x0001 Arabic -ar-DZ 0x1401 Arabic Algeria -ar-BH 0x3C01 Arabic Bahrain -ar-TD 0x1000 Arabic Chad -ar-KM 0x1000 Arabic Comoros -ar-DJ 0x1000 Arabic Djibouti -ar-EG 0x0c01 Arabic Egypt -ar-ER 0x1000 Arabic Eritrea -ar-IQ 0x0801 Arabic Iraq -ar-IL 0x1000 Arabic Israel -ar-JO 0x2C01 Arabic Jordan -ar-KW 0x3401 Arabic Kuwait -ar-LB 0x3001 Arabic Lebanon -ar-LY 0x1001 Arabic Libya -ar-MR 0x1000 Arabic Mauritania -ar-MA 0x1801 Arabic Morocco -ar-OM 0x2001 Arabic Oman -ar-PS 0x1000 Arabic "Palestinian Authority" -ar-QA 0x4001 Arabic Qatar -ar-SA 0x0401 Arabic "Saudi Arabia" -ar-SO 0x1000 Arabic Somalia -ar-SS 0x1000 Arabic "South Sudan" -ar-SD 0x1000 Arabic Sudan -ar-SY 0x2801 Arabic Syria -ar-TN 0x1C01 Arabic Tunisia -ar-AE 0x3801 Arabic U.A.E. -ar-001 0x1000 Arabic World -ar-YE 0x2401 Arabic Yemen -hy 0x002B Armenian -hy-AM 0x042B Armenian Armenia -as 0x004D Assamese -as-IN 0x044D Assamese India -ast 0x1000 Asturian -ast-ES 0x1000 Asturian Spain -asa 0x1000 Asu -asa-TZ 0x1000 Asu Tanzania -az-Cyrl 0x742C "Azerbaijani (Cyrillic)" -az-Cyrl-AZ 0x082C "Azerbaijani (Cyrillic)" Azerbaijan -az 0x002C "Azerbaijani (Latin)" -az-Latn 0x782C "Azerbaijani (Latin)" -az-Latn-AZ 0x042C "Azerbaijani (Latin)" Azerbaijan -ksf 0x1000 Bafia -ksf-CM 0x1000 Bafia Cameroon -bm 0x1000 Bamanankan -bm-Latn-ML 0x1000 "Bamanankan (Latin)" Mali -bn 0x0045 Bangla -bn-BD 0x0845 Bangla Bangladesh -bn-IN 0x0445 Bangla India -bas 0x1000 Basaa -bas-CM 0x1000 Basaa Cameroon -ba 0x006D Bashkir -ba-RU 0x046D Bashkir Russia -eu 0x002D Basque -eu-ES 0x042D Basque Spain -be 0x0023 Belarusian -be-BY 0x0423 Belarusian Belarus -bem 0x1000 Bemba -bem-ZM 0x1000 Bemba Zambia -bez 0x1000 Bena -bez-TZ 0x1000 Bena Tanzania -byn 0x1000 Blin -byn-ER 0x1000 Blin Eritrea -brx 0x1000 Bodo -brx-IN 0x1000 Bodo India -bs-Cyrl 0x641A "Bosnian (Cyrillic)" -bs-Cyrl-BA 0x201A "Bosnian (Cyrillic)" "Bosnia and Herzegovina" -bs-Latn 0x681A "Bosnian (Latin)" -bs 0x781A "Bosnian (Latin)" -bs-Latn-BA 0x141A "Bosnian (Latin)" "Bosnia and Herzegovina" -br 0x007E Breton -br-FR 0x047E Breton France -bg 0x0002 Bulgarian -bg-BG 0x0402 Bulgarian Bulgaria -my 0x0055 Burmese -my-MM 0x0455 Burmese Myanmar -ca 0x0003 Catalan -ca-AD 0x1000 Catalan Andorra -ca-FR 0x1000 Catalan France -ca-IT 0x1000 Catalan Italy -ca-ES 0x0403 Catalan Spain -tzm-Latn-MA 0x1000 "Central Atlas Tamazight (Latin)" Morocco -ku 0x0092 "Central Kurdish" -ku-Arab 0x7c92 "Central Kurdish" -ku-Arab-IQ 0x0492 "Central Kurdish" Iraq -cd-RU 0x1000 Chechen Russia -chr 0x005C Cherokee -chr-Cher 0x7c5C Cherokee -chr-Cher-US 0x045C Cherokee "United States" -cgg 0x1000 Chiga -cgg-UG 0x1000 Chiga Uganda -zh-Hans 0x0004 "Chinese (Simplified)" -zh 0x7804 "Chinese (Simplified)" -zh-CN 0x0804 "Chinese (Simplified)" "People's Republic of China" -zh-SG 0x1004 "Chinese (Simplified)" Singapore -zh-Hant 0x7C04 "Chinese (Traditional)" -zh-HK 0x0C04 "Chinese (Traditional)" "Hong Kong S.A.R." -zh-MO 0x1404 "Chinese (Traditional)" "Macao S.A.R." -zh-TW 0x0404 "Chinese (Traditional)" Taiwan -cu-RU 0x1000 "Church Slavic" Russia -swc 0x1000 "Congo Swahili" -swc-CD 0x1000 "Congo Swahili" "Congo DRC" -kw 0x1000 Cornish -kw-GB 0x1000 Cornish "United Kingdom" -co 0x0083 Corsican -co-FR 0x0483 Corsican France -"bs, hr, or sr" 0x001A Croatian -hr-HR 0x041A Croatian Croatia -hr-BA 0x101A "Croatian (Latin)" "Bosnia and Herzegovina" -cs 0x0005 Czech -cs-CZ 0x0405 Czech "Czech Republic" -da 0x0006 Danish -da-DK 0x0406 Danish Denmark -da-GL 0x1000 Danish Greenland -prs 0x008C Dari -prs-AF 0x048C Dari Afghanistan -dv 0x0065 Divehi -dv-MV 0x0465 Divehi Maldives -dua 0x1000 Duala -dua-CM 0x1000 Duala Cameroon -nl 0x0013 Dutch -nl-AW 0x1000 Dutch Aruba -nl-BE 0x0813 Dutch Belgium -nl-BQ 0x1000 Dutch "Bonaire, Sint Eustatius and Saba" -nl-CW 0x1000 Dutch Curaçao -nl-NL 0x0413 Dutch Netherlands -nl-SX 0x1000 Dutch "Sint Maarten" -nl-SR 0x1000 Dutch Suriname -dz 0x1000 Dzongkha -dz-BT 0x0C51 Dzongkha Bhutan -ebu 0x1000 Embu -ebu-KE 0x1000 Embu Kenya -en 0x0009 English -en-AS 0x1000 English "American Samoa" -en-AI 0x1000 English Anguilla -en-AG 0x1000 English "Antigua and Barbuda" -en-AU 0x0C09 English Australia -en-AT 0x1000 English Austria -en-BS 0x1000 English Bahamas -en-BB 0x1000 English Barbados -en-BE 0x1000 English Belgium -en-BZ 0x2809 English Belize -en-BM 0x1000 English Bermuda -en-BW 0x1000 English Botswana -en-IO 0x1000 English "British Indian Ocean Territory" -en-VG 0x1000 English "British Virgin Islands" -en-BI 0x1000 English Burundi -en-CM 0x1000 English Cameroon -en-CA 0x1009 English Canada -en-029 0x2409 English Caribbean -en-KY 0x1000 English "Cayman Islands" -en-CX 0x1000 English "Christmas Island" -en-CC 0x1000 English "Cocos [Keeling] Islands" -en-CK 0x1000 English "Cook Islands" -en-CY 0x1000 English Cyprus -en-DK 0x1000 English Denmark -en-DM 0x1000 English Dominica -en-ER 0x1000 English Eritrea -en-150 0x1000 English Europe -en-FK 0x1000 English "Falkland Islands" -en-FI 0x1000 English Finland -en-FJ 0x1000 English Fiji -en-GM 0x1000 English Gambia -en-DE 0x1000 English Germany -en-GH 0x1000 English Ghana -en-GI 0x1000 English Gibraltar -en-GD 0x1000 English Grenada -en-GU 0x1000 English Guam -en-GG 0x1000 English Guernsey -en-GY 0x1000 English Guyana -en-HK 0x3C09 English "Hong Kong" -en-IN 0x4009 English India -en-IE 0x1809 English Ireland -en-IM 0x1000 English "Isle of Man" -en-IL 0x1000 English Israel -en-JM 0x2009 English Jamaica -en-JE 0x1000 English Jersey -en-KE 0x1000 English Kenya -en-KI 0x1000 English Kiribati -en-LS 0x1000 English Lesotho -en-LR 0x1000 English Liberia -en-MO 0x1000 English "Macao SAR" -en-MG 0x1000 English Madagascar -en-MW 0x1000 English Malawi -en-MY 0x4409 English Malaysia -en-MT 0x1000 English Malta -en-MH 0x1000 English "Marshall Islands" -en-MU 0x1000 English Mauritius -en-FM 0x1000 English Micronesia -en-MS 0x1000 English Montserrat -en-NA 0x1000 English Namibia -en-NR 0x1000 English Nauru -en-NL 0x1000 English Netherlands -en-NZ 0x1409 English "New Zealand" -en-NG 0x1000 English Nigeria -en-NU 0x1000 English Niue -en-NF 0x1000 English "Norfolk Island" -en-MP 0x1000 English "Northern Mariana Islands" -en-PK 0x1000 English Pakistan -en-PW 0x1000 English Palau -en-PG 0x1000 English "Papua New Guinea" -en-PN 0x1000 English "Pitcairn Islands" -en-PR 0x1000 English "Puerto Rico" -en-PH 0x3409 English "Republic of the Philippines" -en-RW 0x1000 English Rwanda -en-KN 0x1000 English "Saint Kitts and Nevis" -en-LC 0x1000 English "Saint Lucia" -en-VC 0x1000 English "Saint Vincent and the Grenadines" -en-WS 0x1000 English Samoa -en-SC 0x1000 English Seychelles -en-SL 0x1000 English "Sierra Leone" -en-SG 0x4809 English Singapore -en-SX 0x1000 English "Sint Maarten" -en-SI 0x1000 English Slovenia -en-SB 0x1000 English "Solomon Islands" -en-ZA 0x1C09 English "South Africa" -en-SS 0x1000 English "South Sudan" -en-SH 0x1000 English "St Helena, Ascension, Tristan da Cunha" -en-SD 0x1000 English Sudan -en-SZ 0x1000 English Swaziland -en-SE 0x1000 English Sweden -en-CH 0x1000 English Switzerland -en-TZ 0x1000 English Tanzania -en-TK 0x1000 English Tokelau -en-TO 0x1000 English Tonga -en-TT 0x2c09 English "Trinidad and Tobago" -en-TC 0x1000 English "Turks and Caicos Islands" -en-TV 0x1000 English Tuvalu -en-UG 0x1000 English Uganda -en-GB 0x0809 English "United Kingdom" -en-US 0x0409 English "United States" -en-UM 0x1000 English "US Minor Outlying Islands" -en-VI 0x1000 English "US Virgin Islands" -en-VU 0x1000 English Vanuatu -en-001 0x1000 English World -en-ZM 0x1000 English Zambia -en-ZW 0x3009 English Zimbabwe -eo 0x1000 Esperanto -eo-001 0x1000 Esperanto World -et 0x0025 Estonian -et-EE 0x0425 Estonian Estonia -ee 0x1000 Ewe -ee-GH 0x1000 Ewe Ghana -ee-TG 0x1000 Ewe Togo -ewo 0x1000 Ewondo -ewo-CM 0x1000 Ewondo Cameroon -fo 0x0038 Faroese -fo-DK 0x1000 Faroese Denmark -fo-FO 0x0438 Faroese "Faroe Islands" -fil 0x0064 Filipino -fil-PH 0x0464 Filipino Philippines -fi 0x000B Finnish -fi-FI 0x040B Finnish Finland -fr 0x000C French -fr-DZ 0x1000 French Algeria -fr-BE 0x080C French Belgium -fr-BJ 0x1000 French Benin -fr-BF 0x1000 French "Burkina Faso" -fr-BI 0x1000 French Burundi -fr-CM 0x2c0C French Cameroon -fr-CA 0x0c0C French Canada -fr-CF 0x1000 French "Central African Republic" -fr-TD 0x1000 French Chad -fr-KM 0x1000 French Comoros -fr-CG 0x1000 French Congo -fr-CD 0x240C French "Congo, DRC" -fr-CI 0x300C French "Côte d'Ivoire" -fr-DJ 0x1000 French Djibouti -fr-GQ 0x1000 French "Equatorial Guinea" -fr-FR 0x040C French France -fr-GF 0x1000 French "French Guiana" -fr-PF 0x1000 French "French Polynesia" -fr-GA 0x1000 French Gabon -fr-GP 0x1000 French Guadeloupe -fr-GN 0x1000 French Guinea -fr-HT 0x3c0C French Haiti -fr-LU 0x140C French Luxembourg -fr-MG 0x1000 French Madagascar -fr-ML 0x340C French Mali -fr-MQ 0x1000 French Martinique -fr-MR 0x1000 French Mauritania -fr-MU 0x1000 French Mauritius -fr-YT 0x1000 French Mayotte -fr-MA 0x380C French Morocco -fr-NC 0x1000 French "New Caledonia" -fr-NE 0x1000 French Niger -fr-MC 0x180C French "Principality of Monaco" -fr-RE 0x200C French Reunion -fr-RW 0x1000 French Rwanda -fr-BL 0x1000 French "Saint Barthélemy" -fr-MF 0x1000 French "Saint Martin" -fr-PM 0x1000 French "Saint Pierre and Miquelon" -fr-SN 0x280C French Senegal -fr-SC 0x1000 French Seychelles -fr-CH 0x100C French Switzerland -fr-SY 0x1000 French Syria -fr-TG 0x1000 French Togo -fr-TN 0x1000 French Tunisia -fr-VU 0x1000 French Vanuatu -fr-WF 0x1000 French "Wallis and Futuna" -fy 0x0062 Frisian -fy-NL 0x0462 Frisian Netherlands -fur 0x1000 Friulian -fur-IT 0x1000 Friulian Italy -ff 0x0067 Fulah -ff-Latn 0x7C67 Fulah -ff-CM 0x1000 Fulah Cameroon -ff-GN 0x1000 Fulah Guinea -ff-MR 0x1000 Fulah Mauritania -ff-Latn-SN 0x0867 Fulah Senegal -gl 0x0056 Galician -gl-ES 0x0456 Galician Spain -lg 0x1000 Ganda -lg-UG 0x1000 Ganda Uganda -ka 0x0037 Georgian -ka-GE 0x0437 Georgian Georgia -de 0x0007 German -de-AT 0x0C07 German Austria -de-BE 0x1000 German Belgium -de-DE 0x0407 German Germany -de-IT 0x1000 German Italy -de-LI 0x1407 German Liechtenstein -de-LU 0x1007 German Luxembourg -de-CH 0x0807 German Switzerland -el 0x0008 Greek -el-CY 0x1000 Greek Cyprus -el-GR 0x0408 Greek Greece -kl 0x006F Greenlandic -kl-GL 0x046F Greenlandic Greenland -gn 0x0074 Guarani -gn-PY 0x0474 Guarani Paraguay -gu 0x0047 Gujarati -gu-IN 0x0447 Gujarati India -guz 0x1000 Gusii -guz-KE 0x1000 Gusii Kenya -ha 0x0068 "Hausa (Latin)" -ha-Latn 0x7C68 "Hausa (Latin)" -ha-Latn-GH 0x1000 "Hausa (Latin)" Ghana -ha-Latn-NE 0x1000 "Hausa (Latin)" Niger -ha-Latn-NG 0x0468 "Hausa (Latin)" Nigeria -haw 0x0075 Hawaiian -haw-US 0x0475 Hawaiian "United States" -he 0x000D Hebrew -he-IL 0x040D Hebrew Israel -hi 0x0039 Hindi -hi-IN 0x0439 Hindi India -hu 0x000E Hungarian -hu-HU 0x040E Hungarian Hungary -is 0x000F Icelandic -is-IS 0x040F Icelandic Iceland -ig 0x0070 Igbo -ig-NG 0x0470 Igbo Nigeria -id 0x0021 Indonesian -id-ID 0x0421 Indonesian Indonesia -ia 0x1000 Interlingua -ia-FR 0x1000 Interlingua France -ia-001 0x1000 Interlingua World -iu 0x005D "Inuktitut (Latin)" -iu-Latn 0x7C5D "Inuktitut (Latin)" -iu-Latn-CA 0x085D "Inuktitut (Latin)" Canada -iu-Cans 0x785D "Inuktitut (Syllabics)" -iu-Cans-CA 0x045d "Inuktitut (Syllabics)" Canada -ga 0x003C Irish -ga-IE 0x083C Irish Ireland -it 0x0010 Italian -it-IT 0x0410 Italian Italy -it-SM 0x1000 Italian "San Marino" -it-CH 0x0810 Italian Switzerland -it-VA 0x1000 Italian "Vatican City" -ja 0x0011 Japanese -ja-JP 0x0411 Japanese Japan -jv 0x1000 Javanese -jv-Latn 0x1000 Javanese Latin -jv-Latn-ID 0x1000 Javanese "Latin, Indonesia" -dyo 0x1000 Jola-Fonyi -dyo-SN 0x1000 Jola-Fonyi Senegal -kea 0x1000 Kabuverdianu -kea-CV 0x1000 Kabuverdianu "Cabo Verde" -kab 0x1000 Kabyle -kab-DZ 0x1000 Kabyle Algeria -kkj 0x1000 Kako -kkj-CM 0x1000 Kako Cameroon -kln 0x1000 Kalenjin -kln-KE 0x1000 Kalenjin Kenya -kam 0x1000 Kamba -kam-KE 0x1000 Kamba Kenya -kn 0x004B Kannada -kn-IN 0x044B Kannada India -ks 0x0060 Kashmiri -ks-Arab 0x0460 Kashmiri Perso-Arabic -ks-Arab-IN 0x1000 Kashmiri Perso-Arabic -kk 0x003F Kazakh -kk-KZ 0x043F Kazakh Kazakhstan -km 0x0053 Khmer -km-KH 0x0453 Khmer Cambodia -quc 0x0086 K'iche -quc-Latn-GT 0x0486 K'iche Guatemala -ki 0x1000 Kikuyu -ki-KE 0x1000 Kikuyu Kenya -rw 0x0087 Kinyarwanda -rw-RW 0x0487 Kinyarwanda Rwanda -sw 0x0041 Kiswahili -sw-KE 0x0441 Kiswahili Kenya -sw-TZ 0x1000 Kiswahili Tanzania -sw-UG 0x1000 Kiswahili Uganda -kok 0x0057 Konkani -kok-IN 0x0457 Konkani India -ko 0x0012 Korean -ko-KR 0x0412 Korean Korea -ko-KP 0x1000 Korean "North Korea" -khq 0x1000 "Koyra Chiini" -khq-ML 0x1000 "Koyra Chiini" Mali -ses 0x1000 "Koyraboro Senni" -ses-ML 0x1000 "Koyraboro Senni" Mali -nmg 0x1000 Kwasio -nmg-CM 0x1000 Kwasio Cameroon -ky 0x0040 Kyrgyz -ky-KG 0x0440 Kyrgyz Kyrgyzstan -ku-Arab-IR 0x1000 Kurdish "Perso-Arabic, Iran" -lkt 0x1000 Lakota -lkt-US 0x1000 Lakota "United States" -lag 0x1000 Langi -lag-TZ 0x1000 Langi Tanzania -lo 0x0054 Lao -lo-LA 0x0454 Lao "Lao P.D.R." -lv 0x0026 Latvian -lv-LV 0x0426 Latvian Latvia -ln 0x1000 Lingala -ln-AO 0x1000 Lingala Angola -ln-CF 0x1000 Lingala "Central African Republic" -ln-CG 0x1000 Lingala Congo -ln-CD 0x1000 Lingala "Congo DRC" -lt 0x0027 Lithuanian -lt-LT 0x0427 Lithuanian Lithuania -nds 0x1000 "Low German" -nds-DE 0x1000 "Low German " Germany -nds-NL 0x1000 "Low German" Netherlands -dsb 0x7C2E "Lower Sorbian" -dsb-DE 0x082E "Lower Sorbian" Germany -lu 0x1000 Luba-Katanga -lu-CD 0x1000 Luba-Katanga "Congo DRC" -luo 0x1000 Luo -luo-KE 0x1000 Luo Kenya -lb 0x006E Luxembourgish -lb-LU 0x046E Luxembourgish Luxembourg -luy 0x1000 Luyia -luy-KE 0x1000 Luyia Kenya -mk 0x002F Macedonian -mk-MK 0x042F Macedonian "Macedonia (Former Yugoslav Republic of Macedonia)" -jmc 0x1000 Machame -jmc-TZ 0x1000 Machame Tanzania -mgh 0x1000 Makhuwa-Meetto -mgh-MZ 0x1000 Makhuwa-Meetto Mozambique -kde 0x1000 Makonde -kde-TZ 0x1000 Makonde Tanzania -mg 0x1000 Malagasy -mg-MG 0x1000 Malagasy Madagascar -ms 0x003E Malay -ms-BN 0x083E Malay "Brunei Darussalam" -ms-MY 0x043E Malay Malaysia -ml 0x004C Malayalam -ml-IN 0x044C Malayalam India -mt 0x003A Maltese -mt-MT 0x043A Maltese Malta -gv 0x1000 Manx -gv-IM 0x1000 Manx "Isle of Man" -mi 0x0081 Maori -mi-NZ 0x0481 Maori "New Zealand" -arn 0x007A Mapudungun -arn-CL 0x047A Mapudungun Chile -mr 0x004E Marathi -mr-IN 0x044E Marathi India -mas 0x1000 Masai -mas-KE 0x1000 Masai Kenya -mas-TZ 0x1000 Masai Tanzania -mzn-IR 0x1000 Mazanderani Iran -mer 0x1000 Meru -mer-KE 0x1000 Meru Kenya -mgo 0x1000 Meta' -mgo-CM 0x1000 Meta' Cameroon -moh 0x007C Mohawk -moh-CA 0x047C Mohawk Canada -mn 0x0050 "Mongolian (Cyrillic)" -mn-Cyrl 0x7850 "Mongolian (Cyrillic)" -mn-MN 0x0450 "Mongolian (Cyrillic)" Mongolia -mn-Mong 0x7C50 "Mongolian (Traditional Mongolian)" -mn-Mong-CN 0x0850 "Mongolian (Traditional Mongolian)" "People's Republic of China" -mn-Mong-MN 0x0C50 "Mongolian (Traditional Mongolian)" Mongolia -mfe 0x1000 Morisyen -mfe-MU 0x1000 Morisyen Mauritius -mua 0x1000 Mundang -mua-CM 0x1000 Mundang Cameroon -nqo 0x1000 N'ko -nqo-GN 0x1000 N'ko Guinea -naq 0x1000 Nama -naq-NA 0x1000 Nama Namibia -ne 0x0061 Nepali -ne-IN 0x0861 Nepali India -ne-NP 0x0461 Nepali Nepal -nnh 0x1000 Ngiemboon -nnh-CM 0x1000 Ngiemboon Cameroon -jgo 0x1000 Ngomba -jgo-CM 0x1000 Ngomba Cameroon -lrc-IQ 0x1000 "Northern Luri" Iraq -lrc-IR 0x1000 "Northern Luri" Iran -nd 0x1000 "North Ndebele" -nd-ZW 0x1000 "North Ndebele" Zimbabwe -no 0x0014 "Norwegian (Bokmal)" -nb 0x7C14 "Norwegian (Bokmal)" -nb-NO 0x0414 "Norwegian (Bokmal)" Norway -nn 0x7814 "Norwegian (Nynorsk)" -nn-NO 0x0814 "Norwegian (Nynorsk)" Norway -nb-SJ 0x1000 "Norwegian Bokmål" "Svalbard and Jan Mayen" -nus 0x1000 Nuer -nus-SD 0x1000 Nuer Sudan -nyn 0x1000 Nyankole -nyn-UG 0x1000 Nyankole Uganda -oc 0x0082 Occitan -oc-FR 0x0482 Occitan France -or 0x0048 Odia -or-IN 0x0448 Odia India -om 0x0072 Oromo -om-ET 0x0472 Oromo Ethiopia -om-KE 0x1000 Oromo Kenya -os 0x1000 Ossetian -os-GE 0x1000 Ossetian "Cyrillic, Georgia" -os-RU 0x1000 Ossetian "Cyrillic, Russia" -ps 0x0063 Pashto -ps-AF 0x0463 Pashto Afghanistan -fa 0x0029 Persian -fa-AF 0x1000 Persian Afghanistan -fa-IR 0x0429 Persian Iran -pl 0x0015 Polish -pl-PL 0x0415 Polish Poland -pt 0x0016 Portuguese -pt-AO 0x1000 Portuguese Angola -pt-BR 0x0416 Portuguese Brazil -pt-CV 0x1000 Portuguese "Cabo Verde" -pt-GQ 0x1000 Portuguese "Equatorial Guinea" -pt-GW 0x1000 Portuguese Guinea-Bissau -pt-LU 0x1000 Portuguese Luxembourg -pt-MO 0x1000 Portuguese "Macao SAR" -pt-MZ 0x1000 Portuguese Mozambique -pt-PT 0x0816 Portuguese Portugal -pt-ST 0x1000 Portuguese "São Tomé and Príncipe" -pt-CH 0x1000 Portuguese Switzerland -pt-TL 0x1000 Portuguese Timor-Leste -prg-001 0x1000 Prussian -qps-ploca 0x05FE "Pseudo Language" "Pseudo locale for east Asian/complex script localization testing" -qps-ploc 0x0501 "Pseudo Language" "Pseudo locale used for localization testing" -qps-plocm 0x09FF "Pseudo Language" "Pseudo locale used for localization testing of mirrored locales" -pa 0x0046 Punjabi -pa-Arab 0x7C46 Punjabi -pa-IN 0x0446 Punjabi India -pa-Arab-PK 0x0846 Punjabi "Islamic Republic of Pakistan" -quz 0x006B Quechua -quz-BO 0x046B Quechua Bolivia -quz-EC 0x086B Quechua Ecuador -quz-PE 0x0C6B Quechua Peru -ksh 0x1000 Ripuarian -ksh-DE 0x1000 Ripuarian Germany -ro 0x0018 Romanian -ro-MD 0x0818 Romanian Moldova -ro-RO 0x0418 Romanian Romania -rm 0x0017 Romansh -rm-CH 0x0417 Romansh Switzerland -rof 0x1000 Rombo -rof-TZ 0x1000 Rombo Tanzania -rn 0x1000 Rundi -rn-BI 0x1000 Rundi Burundi -ru 0x0019 Russian -ru-BY 0x1000 Russian Belarus -ru-KZ 0x1000 Russian Kazakhstan -ru-KG 0x1000 Russian Kyrgyzstan -ru-MD 0x0819 Russian Moldova -ru-RU 0x0419 Russian Russia -ru-UA 0x1000 Russian Ukraine -rwk 0x1000 Rwa -rwk-TZ 0x1000 Rwa Tanzania -ssy 0x1000 Saho -ssy-ER 0x1000 Saho Eritrea -sah 0x0085 Sakha -sah-RU 0x0485 Sakha Russia -saq 0x1000 Samburu -saq-KE 0x1000 Samburu Kenya -smn 0x703B "Sami (Inari)" -smn-FI 0x243B "Sami (Inari)" Finland -smj 0x7C3B "Sami (Lule)" -smj-NO 0x103B "Sami (Lule)" Norway -smj-SE 0x143B "Sami (Lule)" Sweden -se 0x003B "Sami (Northern)" -se-FI 0x0C3B "Sami (Northern)" Finland -se-NO 0x043B "Sami (Northern)" Norway -se-SE 0x083B "Sami (Northern)" Sweden -sms 0x743B "Sami (Skolt)" -sms-FI 0x203B "Sami (Skolt)" Finland -sma 0x783B "Sami (Southern)" -sma-NO 0x183B "Sami (Southern)" Norway -sma-SE 0x1C3B "Sami (Southern)" Sweden -sg 0x1000 Sango -sg-CF 0x1000 Sango "Central African Republic" -sbp 0x1000 Sangu -sbp-TZ 0x1000 Sangu Tanzania -sa 0x004F Sanskrit -sa-IN 0x044F Sanskrit India -gd 0x0091 "Scottish Gaelic" -gd-GB 0x0491 "Scottish Gaelic" "United Kingdom" -seh 0x1000 Sena -seh-MZ 0x1000 Sena Mozambique -sr-Cyrl 0x6C1A "Serbian (Cyrillic)" -sr-Cyrl-BA 0x1C1A "Serbian (Cyrillic)" "Bosnia and Herzegovina" -sr-Cyrl-ME 0x301A "Serbian (Cyrillic)" Montenegro -sr-Cyrl-RS 0x281A "Serbian (Cyrillic)" Serbia -sr-Cyrl-CS 0x0C1A "Serbian (Cyrillic)" "Serbia and Montenegro (Former)" -sr-Latn 0x701A "Serbian (Latin)" -sr 0x7C1A "Serbian (Latin)" -sr-Latn-BA 0x181A "Serbian (Latin)" "Bosnia and Herzegovina" -sr-Latn-ME 0x2c1A "Serbian (Latin)" Montenegro -sr-Latn-RS 0x241A "Serbian (Latin)" Serbia -sr-Latn-CS 0x081A "Serbian (Latin)" "Serbia and Montenegro (Former)" -nso 0x006C "Sesotho sa Leboa" -nso-ZA 0x046C "Sesotho sa Leboa" "South Africa" -tn 0x0032 Setswana -tn-BW 0x0832 Setswana Botswana -tn-ZA 0x0432 Setswana "South Africa" -ksb 0x1000 Shambala -ksb-TZ 0x1000 Shambala Tanzania -sn 0x1000 Shona -sn-Latn 0x1000 Shona Latin -sn-Latn-ZW 0x1000 Shona Zimbabwe -sd 0x0059 Sindhi -sd-Arab 0x7C59 Sindhi -sd-Arab-PK 0x0859 Sindhi "Islamic Republic of Pakistan" -si 0x005B Sinhala -si-LK 0x045B Sinhala "Sri Lanka" -sk 0x001B Slovak -sk-SK 0x041B Slovak Slovakia -sl 0x0024 Slovenian -sl-SI 0x0424 Slovenian Slovenia -xog 0x1000 Soga -xog-UG 0x1000 Soga Uganda -so 0x0077 Somali -so-DJ 0x1000 Somali Djibouti -so-ET 0x1000 Somali Ethiopia -so-KE 0x1000 Somali Kenya -so-SO 0x0477 Somali Somalia -st 0x0030 Sotho -st-ZA 0x0430 Sotho "South Africa" -nr 0x1000 "South Ndebele" -nr-ZA 0x1000 "South Ndebele" "South Africa" -st-LS 0x1000 "Southern Sotho" Lesotho -es 0x000A Spanish -es-AR 0x2C0A Spanish Argentina -es-BZ 0x1000 Spanish Belize -es-VE 0x200A Spanish "Bolivarian Republic of Venezuela" -es-BO 0x400A Spanish Bolivia -es-BR 0x1000 Spanish Brazil -es-CL 0x340A Spanish Chile -es-CO 0x240A Spanish Colombia -es-CR 0x140A Spanish "Costa Rica" -es-CU 0x5c0A Spanish Cuba -es-DO 0x1c0A Spanish "Dominican Republic" -es-EC 0x300A Spanish Ecuador -es-SV 0x440A Spanish "El Salvador" -es-GQ 0x1000 Spanish "Equatorial Guinea" -es-GT 0x100A Spanish Guatemala -es-HN 0x480A Spanish Honduras -es-419 0x580A Spanish "Latin America" -es-MX 0x080A Spanish Mexico -es-NI 0x4C0A Spanish Nicaragua -es-PA 0x180A Spanish Panama -es-PY 0x3C0A Spanish Paraguay -es-PE 0x280A Spanish Peru -es-PH 0x1000 Spanish Philippines -es-PR 0x500A Spanish "Puerto Rico" -es-ES_tradnl 0x040A Spanish Spain -es-ES 0x0c0A Spanish Spain -es-US 0x540A Spanish "United States" -es-UY 0x380A Spanish Uruguay -zgh 0x1000 "Standard Moroccan Tamazight" -zgh-Tfng-MA 0x1000 "Standard Moroccan Tamazight" Morocco -zgh-Tfng 0x1000 "Standard Moroccan Tamazight" Tifinagh -ss 0x1000 Swati -ss-ZA 0x1000 Swati "South Africa" -ss-SZ 0x1000 Swati Swaziland -sv 0x001D Swedish -sv-AX 0x1000 Swedish "Åland Islands" -sv-FI 0x081D Swedish Finland -sv-SE 0x041D Swedish Sweden -syr 0x005A Syriac -syr-SY 0x045A Syriac Syria -shi 0x1000 Tachelhit -shi-Tfng 0x1000 Tachelhit Tifinagh -shi-Tfng-MA 0x1000 Tachelhit "Tifinagh, Morocco" -shi-Latn 0x1000 "Tachelhit (Latin)" -shi-Latn-MA 0x1000 "Tachelhit (Latin)" Morocco -dav 0x1000 Taita -dav-KE 0x1000 Taita Kenya -tg 0x0028 "Tajik (Cyrillic)" -tg-Cyrl 0x7C28 "Tajik (Cyrillic)" -tg-Cyrl-TJ 0x0428 "Tajik (Cyrillic)" Tajikistan -tzm 0x005F "Tamazight (Latin)" -tzm-Latn 0x7C5F "Tamazight (Latin)" -tzm-Latn-DZ 0x085F "Tamazight (Latin)" Algeria -ta 0x0049 Tamil -ta-IN 0x0449 Tamil India -ta-MY 0x1000 Tamil Malaysia -ta-SG 0x1000 Tamil Singapore -ta-LK 0x0849 Tamil "Sri Lanka" -twq 0x1000 Tasawaq -twq-NE 0x1000 Tasawaq Niger -tt 0x0044 Tatar -tt-RU 0x0444 Tatar Russia -te 0x004A Telugu -te-IN 0x044A Telugu India -teo 0x1000 Teso -teo-KE 0x1000 Teso Kenya -teo-UG 0x1000 Teso Uganda -th 0x001E Thai -th-TH 0x041E Thai Thailand -bo 0x0051 Tibetan -bo-IN 0x1000 Tibetan India -bo-CN 0x0451 Tibetan "People's Republic of China" -tig 0x1000 Tigre -tig-ER 0x1000 Tigre Eritrea -ti 0x0073 Tigrinya -ti-ER 0x0873 Tigrinya Eritrea -ti-ET 0x0473 Tigrinya Ethiopia -to 0x1000 Tongan -to-TO 0x1000 Tongan Tonga -ts 0x0031 Tsonga -ts-ZA 0x0431 Tsonga "South Africa" -tr 0x001F Turkish -tr-CY 0x1000 Turkish Cyprus -tr-TR 0x041F Turkish Turkey -tk 0x0042 Turkmen -tk-TM 0x0442 Turkmen Turkmenistan -uk 0x0022 Ukrainian -uk-UA 0x0422 Ukrainian Ukraine -"dsb or hsb" 0x002E "Upper Sorbian" -hsb-DE 0x042E "Upper Sorbian" Germany -ur 0x0020 Urdu -ur-IN 0x0820 Urdu India -ur-PK 0x0420 Urdu "Islamic Republic of Pakistan" -ug 0x0080 Uyghur -ug-CN 0x0480 Uyghur "People's Republic of China" -uz-Arab 0x1000 Uzbek Perso-Arabic -uz-Arab-AF 0x1000 Uzbek "Perso-Arabic, Afghanistan" -uz-Cyrl 0x7843 "Uzbek (Cyrillic)" -uz-Cyrl-UZ 0x0843 "Uzbek (Cyrillic)" Uzbekistan -uz 0x0043 "Uzbek (Latin)" -uz-Latn 0x7C43 "Uzbek (Latin)" -uz-Latn-UZ 0x0443 "Uzbek (Latin)" Uzbekistan -vai 0x1000 Vai -vai-Vaii 0x1000 Vai -vai-Vaii-LR 0x1000 Vai Liberia -vai-Latn-LR 0x1000 "Vai (Latin)" " Liberia" -vai-Latn 0x1000 "Vai (Latin)" -ca-ES-valencia 0x0803 Valencian Spain -ve 0x0033 Venda -ve-ZA 0x0433 Venda "South Africa" -vi 0x002A Vietnamese -vi-VN 0x042A Vietnamese Vietnam -vo 0x1000 Volapük -vo-001 0x1000 Volapük World -vun 0x1000 Vunjo -vun-TZ 0x1000 Vunjo Tanzania -wae 0x1000 Walser -wae-CH 0x1000 Walser Switzerland -cy 0x0052 Welsh -cy-GB 0x0452 Welsh "United Kingdom" -wal 0x1000 Wolaytta -wal-ET 0x1000 Wolaytta Ethiopia -wo 0x0088 Wolof -wo-SN 0x0488 Wolof Senegal -xh 0x0034 Xhosa -xh-ZA 0x0434 Xhosa "South Africa" -yav 0x1000 Yangben -yav-CM 0x1000 Yangben Cameroon -ii 0x0078 Yi -ii-CN 0x0478 Yi "People's Republic of China" -yo 0x006A Yoruba -yo-BJ 0x1000 Yoruba Benin -yo-NG 0x046A Yoruba Nigeria -dje 0x1000 Zarma -dje-NE 0x1000 Zarma Niger -zu 0x0035 Zulu -zu-ZA 0x0435 Zulu "South Africa" diff --git a/mhelp/win32/bdd.odb b/mhelp/win32/bdd.odb new file mode 100644 index 0000000000000000000000000000000000000000..80bea24a44716179e53a14ea6a60b1e3aaf3a6be GIT binary patch literal 57317 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

vVOg;p`&uqYSvqV$^UOkb0FryvI6$MqYmV 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 literal 0 HcmV?d00001 diff --git a/mhelp/win32/ms-codepages b/mhelp/win32/ms-codepages new file mode 100644 index 000000000..b146d2aa6 --- /dev/null +++ b/mhelp/win32/ms-codepages @@ -0,0 +1,808 @@ +aa +aa_DJ +aa_ER +aa_ET +af windows-1252 +af_NA +af_ZA +agq +agq_CM +ak +ak_GH +am +am_ET +ar windows-1256 +ar_001 +ar_AE windows-1256 +ar_BH windows-1256 +ar_DJ +ar_DZ windows-1256 +ar_EG windows-1256 +ar_ER +ar_IL +ar_IQ windows-1256 +ar_JO windows-1256 +ar_KM +ar_KW windows-1256 +ar_LB windows-1256 +ar_LY windows-1256 +ar_MA windows-1256 +ar_MR +ar_OM windows-1256 +ar_PS +ar_QA windows-1256 +ar_SA windows-1256 +ar_SD +ar_SO +ar_SS +ar_SY windows-1256 +ar_TD +ar_TN windows-1256 +ar_YE windows-1256 +arn +arn_CL +as +as_IN +asa +asa_TZ +ast +ast_ES +az +az_Cyrl +az_Cyrl_AZ +az_Latn +az_Latn_AZ +ba +ba_RU +bas +bas_CM +be windows-1251 +be_BY +bem +bem_ZM +bez +bez_TZ +bg windows-1251 +bg_BG +bm +bm_Latn_ML +bn +bn +bn_BD +bn_IN +bo +bo_CN +bo_IN +br +br_FR +brx +brx_IN +bs +bs_Cyrl +bs_Cyrl_BA +bs_Latn +bs_Latn_BA +byn +byn_ER +C windows-1252 +ca windows-1252 +ca_AD +ca_ES +ca_ES_valencia +ca_FR +ca_IT +cd_RU +cgg +cgg_UG +chr +chr_Cher +chr_Cher_US +co +co_FR +cs windows-1250 +cs_CZ +cu_RU +cy +cy_GB +da windows-1252 +da_DK +da_GL +dav +dav_KE +de +de_AT windows-1252 +de_BE +de_CH windows-1252 +de_DE windows-1252 +de_IT +de_LI windows-1252 +de_LU windows-1252 +dje +dje_NE +dsb +dsb_DE +dua +dua_CM +dv +dv_MV +dyo +dyo_SN +dz +dz_BT +ebu +ebu_KE +ee +ee_GH +ee_TG +el windows-1253 +el_CY +el_GR +en +en_001 +en_029 +en_150 +en_AG +en_AI +en_AS +en_AT +en_AU windows-1252 +en_BB +en_BE +en_BI +en_BM +en_BS +en_BW +en_BZ windows-1252 +en_CA windows-1252 +en_CC +en_CH +en_CK +en_CM +en_CX +en_CY +en_DE +en_DK +en_DM +en_ER +en_FI +en_FJ +en_FK +en_FM +en_GB windows-1252 +en_GD +en_GG +en_GH +en_GI +en_GM +en_GU +en_GY +en_HK +en_IE windows-1252 +en_IL +en_IM +en_IN +en_IO +en_JE +en_JM windows-1252 +en_KE +en_KI +en_KN +en_KY +en_LC +en_LR +en_LS +en_MG +en_MH +en_MO +en_MP +en_MS +en_MT +en_MU +en_MW +en_MY +en_NA +en_NF +en_NG +en_NL +en_NR +en_NU +en_NZ windows-1252 +en_PG +en_PH windows-1252 +en_PK +en_PN +en_PR +en_PW +en_RW +en_SB +en_SC +en_SD +en_SE +en_SG +en_SH +en_SI +en_SL +en_SS +en_SX +en_SZ +en_TC +en_TK +en_TO +en_TT windows-1252 +en_TV +en_TZ +en_UG +en_UM +en_US windows-1252 +en_VC +en_VG +en_VI +en_VU +en_WS +en_ZA windows-1252 +en_ZM +en_ZW +eo +eo_001 +es windows-1252 +es_419 +es_AR windows-1252 +es_BO windows-1252 +es_BR +es_BZ +es_CL windows-1252 +es_CO windows-1252 +es_CR windows-1252 +es_CU +es_DO windows-1252 +es_EC windows-1252 +es_ES windows-1252 +es_ES_tradnl +es_GQ +es_GT windows-1252 +es_HN windows-1252 +es_MX windows-1252 +es_NI windows-1252 +es_PA windows-1252 +es_PE windows-1252 +es_PH +es_PR windows-1252 +es_PY windows-1252 +es_SV windows-1252 +es_US +es_UY windows-1252 +es_VE windows-1252 +et windows-1257 +et_EE +eu windows-1252 +eu_ES +ewo +ewo_CM +fa windows-1256 +fa_AF +fa_IR +ff +ff_CM +ff_GN +ff_Latn +ff_Latn_SN +ff_MR +fi windows-1252 +fi_FI +fil +fil_PH +fo windows-1252 +fo_DK +fo_FO +fr windows-1252 +fr_BE windows-1252 +fr_BF +fr_BI +fr_BJ +fr_BL +fr_CA windows-1252 +fr_CD +fr_CF +fr_CG +fr_CH windows-1252 +fr_CI +fr_CM +fr_DJ +fr_DZ +fr_FR windows-1252 +fr_GA +fr_GF +fr_GN +fr_GP +fr_GQ +fr_HT +fr_KM +fr_LU windows-1252 +fr_MA +fr_MC +fr_MF +fr_MG +fr_ML +fr_MQ +fr_MR +fr_MU +fr_NC +fr_NE +fr_PF +fr_PM +fr_RE +fr_RW +fr_SC +fr_SN +fr_SY +fr_TD +fr_TG +fr_TN +fr_VU +fr_WF +fr_YT +fur +fur_IT +fy +fy_NL +ga +ga_IE +gd +gd_GB +gl +gl_ES +gn +gn_PY +gsw +gsw_CH +gsw_FR +gsw_LI +gu +gu_IN +guz +guz_KE +gv +gv_IM +ha +ha_Latn +ha_Latn_GH +ha_Latn_NE +ha_Latn_NG +haw +haw_US +he windows-1255 +he_IL +hi +hi_IN +hr_BA +hr_HR +hsb_DE +hu windows-1250 +hu_HU +hy +hy_AM +ia +ia_001 +ia_FR +id windows-1252 +id_ID +ig +ig_NG +ii +ii_CN +is windows-1252 +is_IS +it +it_CH windows-1252 +it_IT windows-1252 +it_SM +it_VA +iu +iu_Cans +iu_Cans_CA +iu_Latn +iu_Latn_CA +ja +ja_JP +jgo +jgo_CM +jmc +jmc_TZ +jv +jv_Latn +jv_Latn_ID +ka +ka_GE +kab +kab_DZ +kam +kam_KE +kde +kde_TZ +kea +kea_CV +khq +khq_ML +ki +ki_KE +kk windows-1251 +kk_KZ +kkj +kkj_CM +kl +kl_GL +kln +kln_KE +km +km_KH +kn +kn_IN +ko +ko_KP +ko_KR +kok +kok_IN +ks +ks_Arab +ks_Arab_IN +ksb +ksb_TZ +ksf +ksf_CM +ksh +ksh_DE +ku +ku_Arab +ku_Arab_IQ +ku_Arab_IR +kw +kw_GB +ky +ky_KG +lag +lag_TZ +lb +lb_LU +lg +lg_UG +lkt +lkt_US +ln +ln_AO +ln_CD +ln_CF +ln_CG +lo +lo_LA +lrc_IQ +lrc_IR +lt windows-1257 +lt_LT +lu +lu_CD +luo +luo_KE +luy +luy_KE +lv windows-1257 +lv_LV +mas +mas_KE +mas_TZ +mer +mer_KE +mfe +mfe_MU +mg +mg_MG +mgh +mgh_MZ +mgo +mgo_CM +mi +mi_NZ +mk windows-1251 +mk_MK +ml +ml_IN +mn +mn windows-1251 +mn_Cyrl +mn_MN +mn_Mong +mn_Mong_CN +mn_Mong_MN +moh +moh_CA +mr +mr_IN +ms +ms_BN windows-1252 +ms_MY windows-1252 +mt +mt_MT +mua +mua_CM +my +my_MM +mzn_IR +naq +naq_NA +nb windows-1252 +nb_NO +nb_SJ +nd +nd_ZW +nds +nds_DE +nds_NL +ne +ne_IN +ne_NP +nl +nl_AW +nl_BE windows-1252 +nl_BQ +nl_CW +nl_NL windows-1252 +nl_SR +nl_SX +nmg +nmg_CM +nn +nn_NO +nnh +nnh_CM +no windows-1252 +nqo +nqo_GN +nr +nr_ZA +nso +nso_ZA +nus +nus_SD +nyn +nyn_UG +oc +oc_FR +om +om_ET +om_KE +or +or_IN +os +os_GE +os_RU +pa +pa_Arab +pa_Arab_PK +pa_IN +pl windows-1250 +pl_PL +prg_001 +prs +prs_AF +ps +ps_AF +pt +pt_AO +pt_BR windows-1252 +pt_CH +pt_CV +pt_GQ +pt_GW +pt_LU +pt_MO +pt_MZ +pt_PT windows-1252 +pt_ST +pt_TL +qps_ploc +qps_ploca +qps_plocm +quc +quc_Latn_GT +quz +quz_BO +quz_EC +quz_PE +rm +rm_CH +rn +rn_BI +ro windows-1250 +ro_MD +ro_RO +rof +rof_TZ +ru windows-1251 +ru_BY +ru_KG +ru_KZ +ru_MD +ru_RU +ru_UA +rw +rw_RW +rwk +rwk_TZ +sa +sa_IN +sah +sah_RU +saq +saq_KE +sbp +sbp_TZ +sd +sd_Arab +sd_Arab_PK +se +se_FI +se_NO +se_SE +seh +seh_MZ +ses +ses_ML +sg +sg_CF +shi +shi_Latn +shi_Latn_MA +shi_Tfng +shi_Tfng_MA +si +si_LK +sk windows-1250 +sk_SK +sl windows-1250 +sl_SI +sma +sma_NO +sma_SE +smj +smj_NO +smj_SE +smn +smn_FI +sms +sms_FI +sn +sn_Latn +sn_Latn_ZW +so +so_DJ +so_ET +so_KE +so_SO +sq windows-1250 +sq_AL +sq_MK +sr windows-1250 +sr_Cyrl +sr_Cyrl_BA +sr_Cyrl_CS +sr_Cyrl_ME +sr_Cyrl_RS +sr_Latn +sr_Latn_BA +sr_Latn_CS +sr_Latn_ME +sr_Latn_RS +ss +ss_SZ +ss_ZA +ssy +ssy_ER +st +st_LS +st_ZA +sv +sv_AX +sv_FI windows-1252 +sv_SE windows-1252 +sw windows-1252 +sw_KE +sw_TZ +sw_UG +swc +swc_CD +syr +syr_SY +ta +ta_IN +ta_LK +ta_MY +ta_SG +te +te_IN +teo +teo_KE +teo_UG +tg +tg_Cyrl +tg_Cyrl_TJ +th +th_TH +ti +ti_ER +ti_ET +tig +tig_ER +tk +tk_TM +tn +tn_BW +tn_ZA +to +to_TO +tr windows-1254 +tr_CY +tr_TR +ts +ts_ZA +tt windows-1251 +tt_RU +twq +twq_NE +tzm +tzm_Latn +tzm_Latn_DZ +tzm_Latn_MA +ug +ug_CN +uk windows-1251 +uk_UA +ur windows-1256 +ur_IN +ur_PK +uz windows-1254 +uz_Arab +uz_Arab_AF +uz_Cyrl +uz_Cyrl_UZ +uz_Latn +uz_Latn_UZ +vai +vai_Latn +vai_Latn_LR +vai_Vaii +vai_Vaii_LR +ve +ve_ZA +vi windows-1258 +vi_VN +vo +vo_001 +vun +vun_TZ +wae +wae_CH +wal +wal_ET +wo +wo_SN +xh +xh_ZA +xog +xog_UG +yav +yav_CM +yo +yo_BJ +yo_NG +zgh +zgh_Tfng +zgh_Tfng_MA +zh +zh_CN +zh_Hans +zh_Hant +zh_HK +zh_MO +zh_SG +zh_TW +zu +zu_ZA diff --git a/mhelp/win32/ms-langID b/mhelp/win32/ms-langID new file mode 100644 index 000000000..5aadd0992 --- /dev/null +++ b/mhelp/win32/ms-langID @@ -0,0 +1,807 @@ +aa 0x1000 Afar +aa_DJ 0x1000 Afar Djibouti +aa_ER 0x1000 Afar Eritrea +aa_ET 0x1000 Afar Ethiopia +af 0x0036 Afrikaans +af_NA 0x1000 Afrikaans Namibia +af_ZA 0x0436 Afrikaans South Africa +agq 0x1000 Aghem +agq_CM 0x1000 Aghem Cameroon +ak 0x1000 Akan +ak_GH 0x1000 Akan Ghana +am 0x005E Amharic +am_ET 0x045E Amharic Ethiopia +ar 0x0001 Arabic +ar_001 0x1000 Arabic World +ar_AE 0x3801 Arabic U.A.E. +ar_BH 0x3C01 Arabic Bahrain +ar_DJ 0x1000 Arabic Djibouti +ar_DZ 0x1401 Arabic Algeria +ar_EG 0x0c01 Arabic Egypt +ar_ER 0x1000 Arabic Eritrea +ar_IL 0x1000 Arabic Israel +ar_IQ 0x0801 Arabic Iraq +ar_JO 0x2C01 Arabic Jordan +ar_KM 0x1000 Arabic Comoros +ar_KW 0x3401 Arabic Kuwait +ar_LB 0x3001 Arabic Lebanon +ar_LY 0x1001 Arabic Libya +ar_MA 0x1801 Arabic Morocco +ar_MR 0x1000 Arabic Mauritania +ar_OM 0x2001 Arabic Oman +ar_PS 0x1000 Arabic Palestinian Authority +ar_QA 0x4001 Arabic Qatar +ar_SA 0x0401 Arabic Saudi Arabia +ar_SD 0x1000 Arabic Sudan +ar_SO 0x1000 Arabic Somalia +ar_SS 0x1000 Arabic South Sudan +ar_SY 0x2801 Arabic Syria +ar_TD 0x1000 Arabic Chad +ar_TN 0x1C01 Arabic Tunisia +ar_YE 0x2401 Arabic Yemen +arn 0x007A Mapudungun +arn_CL 0x047A Mapudungun Chile +as 0x004D Assamese +as_IN 0x044D Assamese India +asa 0x1000 Asu +asa_TZ 0x1000 Asu Tanzania +ast 0x1000 Asturian +ast_ES 0x1000 Asturian Spain +az 0x002C Azerbaijani (Latin) +az_Cyrl 0x742C Azerbaijani (Cyrillic) +az_Cyrl_AZ 0x082C Azerbaijani (Cyrillic) Azerbaijan +az_Latn 0x782C Azerbaijani (Latin) +az_Latn_AZ 0x042C Azerbaijani (Latin) Azerbaijan +ba 0x006D Bashkir +ba_RU 0x046D Bashkir Russia +bas 0x1000 Basaa +bas_CM 0x1000 Basaa Cameroon +be 0x0023 Belarusian +be_BY 0x0423 Belarusian Belarus +bem 0x1000 Bemba +bem_ZM 0x1000 Bemba Zambia +bez 0x1000 Bena +bez_TZ 0x1000 Bena Tanzania +bg 0x0002 Bulgarian +bg_BG 0x0402 Bulgarian Bulgaria +bm 0x1000 Bamanankan +bm_Latn_ML 0x1000 Bamanankan (Latin) Mali +bn 0x0045 Bangla +bn_BD 0x0845 Bangla Bangladesh +bn_IN 0x0445 Bangla India +bo 0x0051 Tibetan +bo_CN 0x0451 Tibetan People's Republic of China +bo_IN 0x1000 Tibetan India +br 0x007E Breton +br_FR 0x047E Breton France +brx 0x1000 Bodo +brx_IN 0x1000 Bodo India +bs 0x781A Bosnian (Latin) +bs_Cyrl 0x641A Bosnian (Cyrillic) +bs_Cyrl_BA 0x201A Bosnian (Cyrillic) Bosnia and Herzegovina +bs_Latn 0x681A Bosnian (Latin) +bs_Latn_BA 0x141A Bosnian (Latin) Bosnia and Herzegovina +bs, hr, or sr 0x001A Croatian +byn 0x1000 Blin +byn_ER 0x1000 Blin Eritrea +ca 0x0003 Catalan +ca_AD 0x1000 Catalan Andorra +ca_ES 0x0403 Catalan Spain +ca_ES_valencia 0x0803 Valencian Spain +ca_FR 0x1000 Catalan France +ca_IT 0x1000 Catalan Italy +cd_RU 0x1000 Chechen Russia +cgg 0x1000 Chiga +cgg_UG 0x1000 Chiga Uganda +chr 0x005C Cherokee +chr_Cher 0x7c5C Cherokee +chr_Cher_US 0x045C Cherokee United States +co 0x0083 Corsican +co_FR 0x0483 Corsican France +cs 0x0005 Czech +cs_CZ 0x0405 Czech Czech Republic +cu_RU 0x1000 Church Slavic Russia +cy 0x0052 Welsh +cy_GB 0x0452 Welsh United Kingdom +da 0x0006 Danish +da_DK 0x0406 Danish Denmark +da_GL 0x1000 Danish Greenland +dav 0x1000 Taita +dav_KE 0x1000 Taita Kenya +de 0x0007 German +de_AT 0x0C07 German Austria +de_BE 0x1000 German Belgium +de_CH 0x0807 German Switzerland +de_DE 0x0407 German Germany +de_IT 0x1000 German Italy +de_LI 0x1407 German Liechtenstein +de_LU 0x1007 German Luxembourg +dje 0x1000 Zarma +dje_NE 0x1000 Zarma Niger +dsb 0x7C2E Lower Sorbian +dsb_DE 0x082E Lower Sorbian Germany +dsb or hsb 0x002E Upper Sorbian +dua 0x1000 Duala +dua_CM 0x1000 Duala Cameroon +dv 0x0065 Divehi +dv_MV 0x0465 Divehi Maldives +dyo 0x1000 Jola-Fonyi +dyo_SN 0x1000 Jola-Fonyi Senegal +dz 0x1000 Dzongkha +dz_BT 0x0C51 Dzongkha Bhutan +ebu 0x1000 Embu +ebu_KE 0x1000 Embu Kenya +ee 0x1000 Ewe +ee_GH 0x1000 Ewe Ghana +ee_TG 0x1000 Ewe Togo +el 0x0008 Greek +el_CY 0x1000 Greek Cyprus +el_GR 0x0408 Greek Greece +en 0x0009 English +en_001 0x1000 English World +en_029 0x2409 English Caribbean +en_150 0x1000 English Europe +en_AG 0x1000 English Antigua and Barbuda +en_AI 0x1000 English Anguilla +en_AS 0x1000 English American Samoa +en_AT 0x1000 English Austria +en_AU 0x0C09 English Australia +en_BB 0x1000 English Barbados +en_BE 0x1000 English Belgium +en_BI 0x1000 English Burundi +en_BM 0x1000 English Bermuda +en_BS 0x1000 English Bahamas +en_BW 0x1000 English Botswana +en_BZ 0x2809 English Belize +en_CA 0x1009 English Canada +en_CC 0x1000 English Cocos [Keeling] Islands +en_CH 0x1000 English Switzerland +en_CK 0x1000 English Cook Islands +en_CM 0x1000 English Cameroon +en_CX 0x1000 English Christmas Island +en_CY 0x1000 English Cyprus +en_DE 0x1000 English Germany +en_DK 0x1000 English Denmark +en_DM 0x1000 English Dominica +en_ER 0x1000 English Eritrea +en_FI 0x1000 English Finland +en_FJ 0x1000 English Fiji +en_FK 0x1000 English Falkland Islands +en_FM 0x1000 English Micronesia +en_GB 0x0809 English United Kingdom +en_GD 0x1000 English Grenada +en_GG 0x1000 English Guernsey +en_GH 0x1000 English Ghana +en_GI 0x1000 English Gibraltar +en_GM 0x1000 English Gambia +en_GU 0x1000 English Guam +en_GY 0x1000 English Guyana +en_HK 0x3C09 English Hong Kong +en_IE 0x1809 English Ireland +en_IL 0x1000 English Israel +en_IM 0x1000 English Isle of Man +en_IN 0x4009 English India +en_IO 0x1000 English British Indian Ocean Territory +en_JE 0x1000 English Jersey +en_JM 0x2009 English Jamaica +en_KE 0x1000 English Kenya +en_KI 0x1000 English Kiribati +en_KN 0x1000 English Saint Kitts and Nevis +en_KY 0x1000 English Cayman Islands +en_LC 0x1000 English Saint Lucia +en_LR 0x1000 English Liberia +en_LS 0x1000 English Lesotho +en_MG 0x1000 English Madagascar +en_MH 0x1000 English Marshall Islands +en_MO 0x1000 English Macao SAR +en_MP 0x1000 English Northern Mariana Islands +en_MS 0x1000 English Montserrat +en_MT 0x1000 English Malta +en_MU 0x1000 English Mauritius +en_MW 0x1000 English Malawi +en_MY 0x4409 English Malaysia +en_NA 0x1000 English Namibia +en_NF 0x1000 English Norfolk Island +en_NG 0x1000 English Nigeria +en_NL 0x1000 English Netherlands +en_NR 0x1000 English Nauru +en_NU 0x1000 English Niue +en_NZ 0x1409 English New Zealand +en_PG 0x1000 English Papua New Guinea +en_PH 0x3409 English Republic of the Philippines +en_PK 0x1000 English Pakistan +en_PN 0x1000 English Pitcairn Islands +en_PR 0x1000 English Puerto Rico +en_PW 0x1000 English Palau +en_RW 0x1000 English Rwanda +en_SB 0x1000 English Solomon Islands +en_SC 0x1000 English Seychelles +en_SD 0x1000 English Sudan +en_SE 0x1000 English Sweden +en_SG 0x4809 English Singapore +en_SH 0x1000 English St Helena, Ascension, Tristan da Cunha +en_SI 0x1000 English Slovenia +en_SL 0x1000 English Sierra Leone +en_SS 0x1000 English South Sudan +en_SX 0x1000 English Sint Maarten +en_SZ 0x1000 English Swaziland +en_TC 0x1000 English Turks and Caicos Islands +en_TK 0x1000 English Tokelau +en_TO 0x1000 English Tonga +en_TT 0x2c09 English Trinidad and Tobago +en_TV 0x1000 English Tuvalu +en_TZ 0x1000 English Tanzania +en_UG 0x1000 English Uganda +en_UM 0x1000 English US Minor Outlying Islands +en_US 0x0409 English United States +en_VC 0x1000 English Saint Vincent and the Grenadines +en_VG 0x1000 English British Virgin Islands +en_VI 0x1000 English US Virgin Islands +en_VU 0x1000 English Vanuatu +en_WS 0x1000 English Samoa +en_ZA 0x1C09 English South Africa +en_ZM 0x1000 English Zambia +en_ZW 0x3009 English Zimbabwe +eo 0x1000 Esperanto +eo_001 0x1000 Esperanto World +es 0x000A Spanish +es_419 0x580A Spanish Latin America +es_AR 0x2C0A Spanish Argentina +es_BO 0x400A Spanish Bolivia +es_BR 0x1000 Spanish Brazil +es_BZ 0x1000 Spanish Belize +es_CL 0x340A Spanish Chile +es_CO 0x240A Spanish Colombia +es_CR 0x140A Spanish Costa Rica +es_CU 0x5c0A Spanish Cuba +es_DO 0x1c0A Spanish Dominican Republic +es_EC 0x300A Spanish Ecuador +es_ES 0x0c0A Spanish Spain +es_ES_tradnl 0x040A Spanish Spain +es_GQ 0x1000 Spanish Equatorial Guinea +es_GT 0x100A Spanish Guatemala +es_HN 0x480A Spanish Honduras +es_MX 0x080A Spanish Mexico +es_NI 0x4C0A Spanish Nicaragua +es_PA 0x180A Spanish Panama +es_PE 0x280A Spanish Peru +es_PH 0x1000 Spanish Philippines +es_PR 0x500A Spanish Puerto Rico +es_PY 0x3C0A Spanish Paraguay +es_SV 0x440A Spanish El Salvador +es_US 0x540A Spanish United States +es_UY 0x380A Spanish Uruguay +es_VE 0x200A Spanish Bolivarian Republic of Venezuela +et 0x0025 Estonian +et_EE 0x0425 Estonian Estonia +eu 0x002D Basque +eu_ES 0x042D Basque Spain +ewo 0x1000 Ewondo +ewo_CM 0x1000 Ewondo Cameroon +fa 0x0029 Persian +fa_AF 0x1000 Persian Afghanistan +fa_IR 0x0429 Persian Iran +ff 0x0067 Fulah +ff_CM 0x1000 Fulah Cameroon +ff_GN 0x1000 Fulah Guinea +ff_Latn 0x7C67 Fulah +ff_Latn_SN 0x0867 Fulah Senegal +ff_MR 0x1000 Fulah Mauritania +fi 0x000B Finnish +fi_FI 0x040B Finnish Finland +fil 0x0064 Filipino +fil_PH 0x0464 Filipino Philippines +fo 0x0038 Faroese +fo_DK 0x1000 Faroese Denmark +fo_FO 0x0438 Faroese Faroe Islands +fr 0x000C French +fr_BE 0x080C French Belgium +fr_BF 0x1000 French Burkina Faso +fr_BI 0x1000 French Burundi +fr_BJ 0x1000 French Benin +fr_BL 0x1000 French Saint Barthélemy +fr_CA 0x0c0C French Canada +fr_CD 0x240C French Congo, DRC +fr_CF 0x1000 French Central African Republic +fr_CG 0x1000 French Congo +fr_CH 0x100C French Switzerland +fr_CI 0x300C French Côte d'Ivoire +fr_CM 0x2c0C French Cameroon +fr_DJ 0x1000 French Djibouti +fr_DZ 0x1000 French Algeria +fr_FR 0x040C French France +fr_GA 0x1000 French Gabon +fr_GF 0x1000 French French Guiana +fr_GN 0x1000 French Guinea +fr_GP 0x1000 French Guadeloupe +fr_GQ 0x1000 French Equatorial Guinea +fr_HT 0x3c0C French Haiti +fr_KM 0x1000 French Comoros +fr_LU 0x140C French Luxembourg +fr_MA 0x380C French Morocco +fr_MC 0x180C French Principality of Monaco +fr_MF 0x1000 French Saint Martin +fr_MG 0x1000 French Madagascar +fr_ML 0x340C French Mali +fr_MQ 0x1000 French Martinique +fr_MR 0x1000 French Mauritania +fr_MU 0x1000 French Mauritius +fr_NC 0x1000 French New Caledonia +fr_NE 0x1000 French Niger +fr_PF 0x1000 French French Polynesia +fr_PM 0x1000 French Saint Pierre and Miquelon +fr_RE 0x200C French Reunion +fr_RW 0x1000 French Rwanda +fr_SC 0x1000 French Seychelles +fr_SN 0x280C French Senegal +fr_SY 0x1000 French Syria +fr_TD 0x1000 French Chad +fr_TG 0x1000 French Togo +fr_TN 0x1000 French Tunisia +fr_VU 0x1000 French Vanuatu +fr_WF 0x1000 French Wallis and Futuna +fr_YT 0x1000 French Mayotte +fur 0x1000 Friulian +fur_IT 0x1000 Friulian Italy +fy 0x0062 Frisian +fy_NL 0x0462 Frisian Netherlands +ga 0x003C Irish +ga_IE 0x083C Irish Ireland +gd 0x0091 Scottish Gaelic +gd_GB 0x0491 Scottish Gaelic United Kingdom +gl 0x0056 Galician +gl_ES 0x0456 Galician Spain +gn 0x0074 Guarani +gn_PY 0x0474 Guarani Paraguay +gsw 0x0084 Alsatian +gsw_CH 0x1000 Alsatian Switzerland +gsw_FR 0x0484 Alsatian France +gsw_LI 0x1000 Alsatian Liechtenstein +gu 0x0047 Gujarati +gu_IN 0x0447 Gujarati India +guz 0x1000 Gusii +guz_KE 0x1000 Gusii Kenya +gv 0x1000 Manx +gv_IM 0x1000 Manx Isle of Man +ha 0x0068 Hausa (Latin) +ha_Latn 0x7C68 Hausa (Latin) +ha_Latn_GH 0x1000 Hausa (Latin) Ghana +ha_Latn_NE 0x1000 Hausa (Latin) Niger +ha_Latn_NG 0x0468 Hausa (Latin) Nigeria +haw 0x0075 Hawaiian +haw_US 0x0475 Hawaiian United States +he 0x000D Hebrew +he_IL 0x040D Hebrew Israel +hi 0x0039 Hindi +hi_IN 0x0439 Hindi India +hr_BA 0x101A Croatian (Latin) Bosnia and Herzegovina +hr_HR 0x041A Croatian Croatia +hsb_DE 0x042E Upper Sorbian Germany +hu 0x000E Hungarian +hu_HU 0x040E Hungarian Hungary +hy 0x002B Armenian +hy_AM 0x042B Armenian Armenia +ia 0x1000 Interlingua +ia_001 0x1000 Interlingua World +ia_FR 0x1000 Interlingua France +id 0x0021 Indonesian +id_ID 0x0421 Indonesian Indonesia +ig 0x0070 Igbo +ig_NG 0x0470 Igbo Nigeria +ii 0x0078 Yi +ii_CN 0x0478 Yi People's Republic of China +is 0x000F Icelandic +is_IS 0x040F Icelandic Iceland +it 0x0010 Italian +it_CH 0x0810 Italian Switzerland +it_IT 0x0410 Italian Italy +it_SM 0x1000 Italian San Marino +it_VA 0x1000 Italian Vatican City +iu 0x005D Inuktitut (Latin) +iu_Cans 0x785D Inuktitut (Syllabics) +iu_Cans_CA 0x045d Inuktitut (Syllabics) Canada +iu_Latn 0x7C5D Inuktitut (Latin) +iu_Latn_CA 0x085D Inuktitut (Latin) Canada +ja 0x0011 Japanese +ja_JP 0x0411 Japanese Japan +jgo 0x1000 Ngomba +jgo_CM 0x1000 Ngomba Cameroon +jmc 0x1000 Machame +jmc_TZ 0x1000 Machame Tanzania +jv 0x1000 Javanese +jv_Latn 0x1000 Javanese Latin +jv_Latn_ID 0x1000 Javanese Latin, Indonesia +ka 0x0037 Georgian +ka_GE 0x0437 Georgian Georgia +kab 0x1000 Kabyle +kab_DZ 0x1000 Kabyle Algeria +kam 0x1000 Kamba +kam_KE 0x1000 Kamba Kenya +kde 0x1000 Makonde +kde_TZ 0x1000 Makonde Tanzania +kea 0x1000 Kabuverdianu +kea_CV 0x1000 Kabuverdianu Cabo Verde +khq 0x1000 Koyra Chiini +khq_ML 0x1000 Koyra Chiini Mali +ki 0x1000 Kikuyu +ki_KE 0x1000 Kikuyu Kenya +kk 0x003F Kazakh +kk_KZ 0x043F Kazakh Kazakhstan +kkj 0x1000 Kako +kkj_CM 0x1000 Kako Cameroon +kl 0x006F Greenlandic +kl_GL 0x046F Greenlandic Greenland +kln 0x1000 Kalenjin +kln_KE 0x1000 Kalenjin Kenya +km 0x0053 Khmer +km_KH 0x0453 Khmer Cambodia +kn 0x004B Kannada +kn_IN 0x044B Kannada India +ko 0x0012 Korean +ko_KP 0x1000 Korean North Korea +ko_KR 0x0412 Korean Korea +kok 0x0057 Konkani +kok_IN 0x0457 Konkani India +ks 0x0060 Kashmiri +ks_Arab 0x0460 Kashmiri Perso-Arabic +ks_Arab_IN 0x1000 Kashmiri Perso-Arabic +ksb 0x1000 Shambala +ksb_TZ 0x1000 Shambala Tanzania +ksf 0x1000 Bafia +ksf_CM 0x1000 Bafia Cameroon +ksh 0x1000 Ripuarian +ksh_DE 0x1000 Ripuarian Germany +ku 0x0092 Central Kurdish +ku_Arab 0x7c92 Central Kurdish +ku_Arab_IQ 0x0492 Central Kurdish Iraq +ku_Arab_IR 0x1000 Kurdish Perso-Arabic, Iran +kw 0x1000 Cornish +kw_GB 0x1000 Cornish United Kingdom +ky 0x0040 Kyrgyz +ky_KG 0x0440 Kyrgyz Kyrgyzstan +lag 0x1000 Langi +lag_TZ 0x1000 Langi Tanzania +lb 0x006E Luxembourgish +lb_LU 0x046E Luxembourgish Luxembourg +lg 0x1000 Ganda +lg_UG 0x1000 Ganda Uganda +lkt 0x1000 Lakota +lkt_US 0x1000 Lakota United States +ln 0x1000 Lingala +ln_AO 0x1000 Lingala Angola +ln_CD 0x1000 Lingala Congo DRC +ln_CF 0x1000 Lingala Central African Republic +ln_CG 0x1000 Lingala Congo +lo 0x0054 Lao +lo_LA 0x0454 Lao Lao P.D.R. +lrc_IQ 0x1000 Northern Luri Iraq +lrc_IR 0x1000 Northern Luri Iran +lt 0x0027 Lithuanian +lt_LT 0x0427 Lithuanian Lithuania +lu 0x1000 Luba-Katanga +lu_CD 0x1000 Luba-Katanga Congo DRC +luo 0x1000 Luo +luo_KE 0x1000 Luo Kenya +luy 0x1000 Luyia +luy_KE 0x1000 Luyia Kenya +lv 0x0026 Latvian +lv_LV 0x0426 Latvian Latvia +mas 0x1000 Masai +mas_KE 0x1000 Masai Kenya +mas_TZ 0x1000 Masai Tanzania +mer 0x1000 Meru +mer_KE 0x1000 Meru Kenya +mfe 0x1000 Morisyen +mfe_MU 0x1000 Morisyen Mauritius +mg 0x1000 Malagasy +mg_MG 0x1000 Malagasy Madagascar +mgh 0x1000 Makhuwa-Meetto +mgh_MZ 0x1000 Makhuwa-Meetto Mozambique +mgo 0x1000 Meta' +mgo_CM 0x1000 Meta' Cameroon +mi 0x0081 Maori +mi_NZ 0x0481 Maori New Zealand +mk 0x002F Macedonian +mk_MK 0x042F Macedonian Macedonia (Former Yugoslav Republic of Macedonia) +ml 0x004C Malayalam +ml_IN 0x044C Malayalam India +mn 0x0050 Mongolian (Cyrillic) +mn_Cyrl 0x7850 Mongolian (Cyrillic) +mn_MN 0x0450 Mongolian (Cyrillic) Mongolia +mn_Mong 0x7C50 Mongolian (Traditional Mongolian) +mn_Mong_CN 0x0850 Mongolian (Traditional Mongolian) People's Republic of China +mn_Mong_MN 0x0C50 Mongolian (Traditional Mongolian) Mongolia +moh 0x007C Mohawk +moh_CA 0x047C Mohawk Canada +mr 0x004E Marathi +mr_IN 0x044E Marathi India +ms 0x003E Malay +ms_BN 0x083E Malay Brunei Darussalam +ms_MY 0x043E Malay Malaysia +mt 0x003A Maltese +mt_MT 0x043A Maltese Malta +mua 0x1000 Mundang +mua_CM 0x1000 Mundang Cameroon +my 0x0055 Burmese +my_MM 0x0455 Burmese Myanmar +mzn_IR 0x1000 Mazanderani Iran +naq 0x1000 Nama +naq_NA 0x1000 Nama Namibia +nb 0x7C14 Norwegian (Bokmal) +nb_NO 0x0414 Norwegian (Bokmal) Norway +nb_SJ 0x1000 Norwegian Bokmål Svalbard and Jan Mayen +nd 0x1000 North Ndebele +nd_ZW 0x1000 North Ndebele Zimbabwe +nds 0x1000 Low German +nds_DE 0x1000 Low German Germany +nds_NL 0x1000 Low German Netherlands +ne 0x0061 Nepali +ne_IN 0x0861 Nepali India +ne_NP 0x0461 Nepali Nepal +nl 0x0013 Dutch +nl_AW 0x1000 Dutch Aruba +nl_BE 0x0813 Dutch Belgium +nl_BQ 0x1000 Dutch Bonaire, Sint Eustatius and Saba +nl_CW 0x1000 Dutch Curaçao +nl_NL 0x0413 Dutch Netherlands +nl_SR 0x1000 Dutch Suriname +nl_SX 0x1000 Dutch Sint Maarten +nmg 0x1000 Kwasio +nmg_CM 0x1000 Kwasio Cameroon +nn 0x7814 Norwegian (Nynorsk) +nn_NO 0x0814 Norwegian (Nynorsk) Norway +nnh 0x1000 Ngiemboon +nnh_CM 0x1000 Ngiemboon Cameroon +no 0x0014 Norwegian (Bokmal) +nqo 0x1000 N'ko +nqo_GN 0x1000 N'ko Guinea +nr 0x1000 South Ndebele +nr_ZA 0x1000 South Ndebele South Africa +nso 0x006C Sesotho sa Leboa +nso_ZA 0x046C Sesotho sa Leboa South Africa +nus 0x1000 Nuer +nus_SD 0x1000 Nuer Sudan +nyn 0x1000 Nyankole +nyn_UG 0x1000 Nyankole Uganda +oc 0x0082 Occitan +oc_FR 0x0482 Occitan France +om 0x0072 Oromo +om_ET 0x0472 Oromo Ethiopia +om_KE 0x1000 Oromo Kenya +or 0x0048 Odia +or_IN 0x0448 Odia India +os 0x1000 Ossetian +os_GE 0x1000 Ossetian Cyrillic, Georgia +os_RU 0x1000 Ossetian Cyrillic, Russia +pa 0x0046 Punjabi +pa_Arab 0x7C46 Punjabi +pa_Arab_PK 0x0846 Punjabi Islamic Republic of Pakistan +pa_IN 0x0446 Punjabi India +pl 0x0015 Polish +pl_PL 0x0415 Polish Poland +prg_001 0x1000 Prussian +prs 0x008C Dari +prs_AF 0x048C Dari Afghanistan +ps 0x0063 Pashto +ps_AF 0x0463 Pashto Afghanistan +pt 0x0016 Portuguese +pt_AO 0x1000 Portuguese Angola +pt_BR 0x0416 Portuguese Brazil +pt_CH 0x1000 Portuguese Switzerland +pt_CV 0x1000 Portuguese Cabo Verde +pt_GQ 0x1000 Portuguese Equatorial Guinea +pt_GW 0x1000 Portuguese Guinea-Bissau +pt_LU 0x1000 Portuguese Luxembourg +pt_MO 0x1000 Portuguese Macao SAR +pt_MZ 0x1000 Portuguese Mozambique +pt_PT 0x0816 Portuguese Portugal +pt_ST 0x1000 Portuguese São Tomé and Príncipe +pt_TL 0x1000 Portuguese Timor-Leste +qps_ploc 0x0501 Pseudo Language Pseudo locale used for localization testing +qps_ploca 0x05FE Pseudo Language Pseudo locale for east Asian/complex script localization testing +qps_plocm 0x09FF Pseudo Language Pseudo locale used for localization testing of mirrored locales +quc 0x0086 K'iche +quc_Latn_GT 0x0486 K'iche Guatemala +quz 0x006B Quechua +quz_BO 0x046B Quechua Bolivia +quz_EC 0x086B Quechua Ecuador +quz_PE 0x0C6B Quechua Peru +rm 0x0017 Romansh +rm_CH 0x0417 Romansh Switzerland +rn 0x1000 Rundi +rn_BI 0x1000 Rundi Burundi +ro 0x0018 Romanian +ro_MD 0x0818 Romanian Moldova +ro_RO 0x0418 Romanian Romania +rof 0x1000 Rombo +rof_TZ 0x1000 Rombo Tanzania +ru 0x0019 Russian +ru_BY 0x1000 Russian Belarus +ru_KG 0x1000 Russian Kyrgyzstan +ru_KZ 0x1000 Russian Kazakhstan +ru_MD 0x0819 Russian Moldova +ru_RU 0x0419 Russian Russia +ru_UA 0x1000 Russian Ukraine +rw 0x0087 Kinyarwanda +rw_RW 0x0487 Kinyarwanda Rwanda +rwk 0x1000 Rwa +rwk_TZ 0x1000 Rwa Tanzania +sa 0x004F Sanskrit +sa_IN 0x044F Sanskrit India +sah 0x0085 Sakha +sah_RU 0x0485 Sakha Russia +saq 0x1000 Samburu +saq_KE 0x1000 Samburu Kenya +sbp 0x1000 Sangu +sbp_TZ 0x1000 Sangu Tanzania +sd 0x0059 Sindhi +sd_Arab 0x7C59 Sindhi +sd_Arab_PK 0x0859 Sindhi Islamic Republic of Pakistan +se 0x003B Sami (Northern) +se_FI 0x0C3B Sami (Northern) Finland +se_NO 0x043B Sami (Northern) Norway +se_SE 0x083B Sami (Northern) Sweden +seh 0x1000 Sena +seh_MZ 0x1000 Sena Mozambique +ses 0x1000 Koyraboro Senni +ses_ML 0x1000 Koyraboro Senni Mali +sg 0x1000 Sango +sg_CF 0x1000 Sango Central African Republic +shi 0x1000 Tachelhit +shi_Latn 0x1000 Tachelhit (Latin) +shi_Latn_MA 0x1000 Tachelhit (Latin) Morocco +shi_Tfng 0x1000 Tachelhit Tifinagh +shi_Tfng_MA 0x1000 Tachelhit Tifinagh, Morocco +si 0x005B Sinhala +si_LK 0x045B Sinhala Sri Lanka +sk 0x001B Slovak +sk_SK 0x041B Slovak Slovakia +sl 0x0024 Slovenian +sl_SI 0x0424 Slovenian Slovenia +sma 0x783B Sami (Southern) +sma_NO 0x183B Sami (Southern) Norway +sma_SE 0x1C3B Sami (Southern) Sweden +smj 0x7C3B Sami (Lule) +smj_NO 0x103B Sami (Lule) Norway +smj_SE 0x143B Sami (Lule) Sweden +smn 0x703B Sami (Inari) +smn_FI 0x243B Sami (Inari) Finland +sms 0x743B Sami (Skolt) +sms_FI 0x203B Sami (Skolt) Finland +sn 0x1000 Shona +sn_Latn 0x1000 Shona Latin +sn_Latn_ZW 0x1000 Shona Zimbabwe +so 0x0077 Somali +so_DJ 0x1000 Somali Djibouti +so_ET 0x1000 Somali Ethiopia +so_KE 0x1000 Somali Kenya +so_SO 0x0477 Somali Somalia +sq 0x001C Albanian +sq_AL 0x041C Albanian Albania +sq_MK 0x1000 Albanian Macedonia, FYRO +sr 0x7C1A Serbian (Latin) +sr_Cyrl 0x6C1A Serbian (Cyrillic) +sr_Cyrl_BA 0x1C1A Serbian (Cyrillic) Bosnia and Herzegovina +sr_Cyrl_CS 0x0C1A Serbian (Cyrillic) Serbia and Montenegro (Former) +sr_Cyrl_ME 0x301A Serbian (Cyrillic) Montenegro +sr_Cyrl_RS 0x281A Serbian (Cyrillic) Serbia +sr_Latn 0x701A Serbian (Latin) +sr_Latn_BA 0x181A Serbian (Latin) Bosnia and Herzegovina +sr_Latn_CS 0x081A Serbian (Latin) Serbia and Montenegro (Former) +sr_Latn_ME 0x2c1A Serbian (Latin) Montenegro +sr_Latn_RS 0x241A Serbian (Latin) Serbia +ss 0x1000 Swati +ss_SZ 0x1000 Swati Swaziland +ss_ZA 0x1000 Swati South Africa +ssy 0x1000 Saho +ssy_ER 0x1000 Saho Eritrea +st 0x0030 Sotho +st_LS 0x1000 Southern Sotho Lesotho +st_ZA 0x0430 Sotho South Africa +sv 0x001D Swedish +sv_AX 0x1000 Swedish Åland Islands +sv_FI 0x081D Swedish Finland +sv_SE 0x041D Swedish Sweden +sw 0x0041 Kiswahili +sw_KE 0x0441 Kiswahili Kenya +sw_TZ 0x1000 Kiswahili Tanzania +sw_UG 0x1000 Kiswahili Uganda +swc 0x1000 Congo Swahili +swc_CD 0x1000 Congo Swahili Congo DRC +syr 0x005A Syriac +syr_SY 0x045A Syriac Syria +ta 0x0049 Tamil +ta_IN 0x0449 Tamil India +ta_LK 0x0849 Tamil Sri Lanka +ta_MY 0x1000 Tamil Malaysia +ta_SG 0x1000 Tamil Singapore +te 0x004A Telugu +te_IN 0x044A Telugu India +teo 0x1000 Teso +teo_KE 0x1000 Teso Kenya +teo_UG 0x1000 Teso Uganda +tg 0x0028 Tajik (Cyrillic) +tg_Cyrl 0x7C28 Tajik (Cyrillic) +tg_Cyrl_TJ 0x0428 Tajik (Cyrillic) Tajikistan +th 0x001E Thai +th_TH 0x041E Thai Thailand +ti 0x0073 Tigrinya +ti_ER 0x0873 Tigrinya Eritrea +ti_ET 0x0473 Tigrinya Ethiopia +tig 0x1000 Tigre +tig_ER 0x1000 Tigre Eritrea +tk 0x0042 Turkmen +tk_TM 0x0442 Turkmen Turkmenistan +tn 0x0032 Setswana +tn_BW 0x0832 Setswana Botswana +tn_ZA 0x0432 Setswana South Africa +to 0x1000 Tongan +to_TO 0x1000 Tongan Tonga +tr 0x001F Turkish +tr_CY 0x1000 Turkish Cyprus +tr_TR 0x041F Turkish Turkey +ts 0x0031 Tsonga +ts_ZA 0x0431 Tsonga South Africa +tt 0x0044 Tatar +tt_RU 0x0444 Tatar Russia +twq 0x1000 Tasawaq +twq_NE 0x1000 Tasawaq Niger +tzm 0x005F Tamazight (Latin) +tzm_Latn 0x7C5F Tamazight (Latin) +tzm_Latn_DZ 0x085F Tamazight (Latin) Algeria +tzm_Latn_MA 0x1000 Central Atlas Tamazight (Latin) Morocco +ug 0x0080 Uyghur +ug_CN 0x0480 Uyghur People's Republic of China +uk 0x0022 Ukrainian +uk_UA 0x0422 Ukrainian Ukraine +ur 0x0020 Urdu +ur_IN 0x0820 Urdu India +ur_PK 0x0420 Urdu Islamic Republic of Pakistan +uz 0x0043 Uzbek (Latin) +uz_Arab 0x1000 Uzbek Perso-Arabic +uz_Arab_AF 0x1000 Uzbek Perso-Arabic, Afghanistan +uz_Cyrl 0x7843 Uzbek (Cyrillic) +uz_Cyrl_UZ 0x0843 Uzbek (Cyrillic) Uzbekistan +uz_Latn 0x7C43 Uzbek (Latin) +uz_Latn_UZ 0x0443 Uzbek (Latin) Uzbekistan +vai 0x1000 Vai +vai_Latn 0x1000 Vai (Latin) +vai_Latn_LR 0x1000 Vai (Latin) Liberia +vai_Vaii 0x1000 Vai +vai_Vaii_LR 0x1000 Vai Liberia +ve 0x0033 Venda +ve_ZA 0x0433 Venda South Africa +vi 0x002A Vietnamese +vi_VN 0x042A Vietnamese Vietnam +vo 0x1000 Volapük +vo_001 0x1000 Volapük World +vun 0x1000 Vunjo +vun_TZ 0x1000 Vunjo Tanzania +wae 0x1000 Walser +wae_CH 0x1000 Walser Switzerland +wal 0x1000 Wolaytta +wal_ET 0x1000 Wolaytta Ethiopia +wo 0x0088 Wolof +wo_SN 0x0488 Wolof Senegal +xh 0x0034 Xhosa +xh_ZA 0x0434 Xhosa South Africa +xog 0x1000 Soga +xog_UG 0x1000 Soga Uganda +yav 0x1000 Yangben +yav_CM 0x1000 Yangben Cameroon +yo 0x006A Yoruba +yo_BJ 0x1000 Yoruba Benin +yo_NG 0x046A Yoruba Nigeria +zgh 0x1000 Standard Moroccan Tamazight +zgh_Tfng 0x1000 Standard Moroccan Tamazight Tifinagh +zgh_Tfng_MA 0x1000 Standard Moroccan Tamazight Morocco +zh 0x7804 Chinese (Simplified) +zh_CN 0x0804 Chinese (Simplified) People's Republic of China +zh_Hans 0x0004 Chinese (Simplified) +zh_Hant 0x7C04 Chinese (Traditional) +zh_HK 0x0C04 Chinese (Traditional) Hong Kong S.A.R. +zh_MO 0x1404 Chinese (Traditional) Macao S.A.R. +zh_SG 0x1004 Chinese (Simplified) Singapore +zh_TW 0x0404 Chinese (Traditional) Taiwan +zu 0x0035 Zulu +zu_ZA 0x0435 Zulu South Africa diff --git a/mhelp/xml/mhtmlhelp.xsl b/mhelp/win32/toc.xsl.in similarity index 93% rename from mhelp/xml/mhtmlhelp.xsl rename to mhelp/win32/toc.xsl.in index 4c9393c9d..27e577b0b 100644 --- a/mhelp/xml/mhtmlhelp.xsl +++ b/mhelp/win32/toc.xsl.in @@ -21,14 +21,14 @@ along with this program; see the file COPYING.LGPL. If not, see - + diff --git a/mhelp/xiphos.hhp.in b/mhelp/win32/xiphos.hhp.in similarity index 100% rename from mhelp/xiphos.hhp.in rename to mhelp/win32/xiphos.hhp.in diff --git a/mhelp/xml/html.css.custom.xsl b/mhelp/xml/html.css.custom.xsl new file mode 100644 index 000000000..4edbea13d --- /dev/null +++ b/mhelp/xml/html.css.custom.xsl @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +body{ + font-size: 12px; +} +div.footer { + /* do not display footer */ + font-size: 0; +} + + +