Delen via

Customize the Windows 11 Start layout

Looking for the IT pro version of this topic? See Customize the Start menu layout on Windows 11


For the Windows 10 version of this topic, see Customize the Windows 10 Start layout

OEMs can customize the Windows 11 Start layout so that OEM-defined items (apps and/or websites) are pinned in certain areas of the Start menu.

Start layout customizations are configured with LayoutModification.json and, optionally, LayoutModification.xml:

  • LayoutModification.json provides full support for app pins
  • LayoutModification.xml enables adding website pins to LayoutModification.json


You can't use Windows Configuration Designer or Unattend to configure the Windows 11 Start Menu.

Start menu sections

The Start menu is comprised of three sections: Pinned, All apps, and Recommended. Your LayoutModification.json can include customizations for the Pinned and/or Recommended sections.

Pinned section

The section at the top of the Start menu is called the Pinned section. This section consists of pins arranged in a grid. The items in this section are a subset of all the apps installed on the PC; not all installed apps are included in this section by default. The number of rows and items in this view are consistent across device panel sizes.

While the initial view of this section displays 18 items, a user can use the pagination control to move through pages of additional pins. The items in this section are a combination of Microsoft-defined apps, dynamically delivered apps, and OEM-configured items. After setting up their PC, users can add, move, or remove pins in this this section.

Available customizations:

  • Up to four items on page 1 of this section. Configured with primaryOEMPins in LayoutModification.json.
  • Up to four items at the bottom of the pinned app grid. Users need to scroll down in the Start menu to see these pins. Configured with secondaryOEMPins in LayoutModification.json.

If you pin fewer than four items in either of these sections, other Microsoft-defined apps will slide over to fill the space to maintain the same order. Any array elements beyond the first four will be ignored.


An item can only appear in the Pinned section once. It's not possible to pin an app in more than one location in this section, whether on the same page or on different pages.

All apps section

This appears when a user clicks on All apps in the upper-right corner of the Start menu. All Apps is a comprehensive list, in alphabetical order, of all installed apps.

Available customizations:

  • No customizations for this section. All apps is a list that includes all installed apps and can't be customized by users or OEMs.

This is the section below the "Pinned" section. On first boot, the Get Started app from Microsoft will be pre-populated in this location. An OEM can also pre-populate the section with a welcome or first run experience app that will stay pinned for up to seven days unless a customer removes it.

Available customizations: One item in this section. Configured with firstRunOEMPins in LayoutModification.json.

  • For the best and cleanest user experience, we recommend that the app chosen for the Recommended section is not pre-pinned to the taskbar or first page of Start pins.

Customizing Start menu items


Using WCD or Unattend to customize the Windows 11 Start menu is not supported, LayoutModification.json is required.

OEMs can customize the Start layout by creating a custom LayoutModification.json file and adding it to an image, in the %localappdata%\Microsoft\Windows\Shell folder. You only need one LayoutModification.json in your image, as these files can contain one or more of the top-level members in any combination.

If you're pinning web links, you'll also need to create a LayoutModification.xml file to use in combination with LayoutModification.json.


Make sure your LayoutModification.json uses UTF-8 encoding.


LayoutModification.json enables you to configure the pins within a Start layout's customizable sections.

LayoutModification.json members

Member Description
primaryOEMPins Configures items that display on page 1 of the "Pinned" section. You can specify up to four items, in any combination of type.
secondaryOEMPins Configures items that appear at the end of the "Pinned" section. You can specify up to four items, in any combination of type.
firstRunOEMPins Configures the OEM-configurable item in the "Recommended" section. You can specify one item.

LayoutModification.json keys

Each of the above members can use the following possible members to define pins for each section:

Key Description
  • Specifies a Universal Windows Platform App. To pin a UWP app, use the app's AUMID.
  • Used in conjunction with the tileID subelement to specify a web link. see Pinning a web link To learn about pining a web link.
tileID Used only with packagedAppID. Corresponds to a TileID in a LayoutModification.xml when pinning a web link.
desktopAppID Specifies an unpackaged Win32 app. To pin a Win32 app, use the app's AUMID. If the app doesn't have an AUMID, specify it using desktopAppLink instead.
desktopAppLink Specifies an unpackaged Win32 app that doesn't have an associated AUMID. To pin this type of app, use the path to the .lnk shortcut that points to the app.
caption Applies only to the firstRunOEMPins item. The text string that displays when a user hovers over the tile.

For images that contain multiple languages, you can specify different text for different languages (as shown in the example below), as well as a default caption that's used as a fallback when a user's language doesn't match any explicitly specified languages. See Language tags for captions for more infomation about how to specify languages for captions.

Sample LayoutModification.json file

Here is a sample LayoutModification.json file showing customizations for the three customizable Start menu sections:

  • Three items in primaryOEMPins: one UWP app, one Win32 app, and one web link
  • Two items in secondaryOEMPins: One web link, and one Win32 app
  • One item in firstRunOEMPins: one Win32 app specified by a .lnk file
{ "primaryOEMPins": [ 
    { "packagedAppId": "OEM.App1_1abcde2f3ghjk!App"}, 
    { "desktopAppLink": "%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\MyWin32App.lnk"}, 
    { "packagedAppId": "Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe!App", 
      "tileId": "MSEdge.paomdnjincdkenhiicpl.UserData.Default"} 
  "secondaryOEMPins": [ 
    { "packagedAppId": "Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe!App", 
      "tileId": "MSEdge.anfoedbkjbcacemdbigf.UserData.Default" }, 
    { "desktopAppId": "Contoso.Desktop.Example.AUMID"} 
  "firstRunOEMPins": [ 
    { "desktopAppLink": "%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\PutMeInRecommended.lnk", 
      "caption": { 
        "en-US": "(localized caption text for US English)", 
        "de": "(localized caption text for German)", 
        "default": "(fallback caption text for other languages)" } 


Each single backslash character (\) need to be escaped as \\ per JSON syntax.

Pin Conflicts

  • Dynamically delivered apps: Before Microsoft attempts to dynamically pin a first-party or third-party app, it first checks whether the exact same app is already pinned by the OEM on any page. If it is, Microsoft keeps the OEM app pinned in its place.

  • First-party apps statically defined by Microsoft on Page 1: Microsoft first-party apps (ex: Microsoft Edge, Mail, Store) pinned on Page 1 cannot be moved by the OEM. If the OEM attempts to pin one of these apps on Page 1 as well, it will be ignored.

  • Elevating statically-defined Microsoft first-party apps: OEMs may pin a Microsoft first-party app (ex: Calculator, Camera) on Page 1 and move its position to Page 1 so long as either it is not already statically pinned by Microsoft on Page 1 or is not pinned.

To pin a web link to the Start menu, you'll need to use both LayoutModification.json and LayoutModification.xml files.

Web links use both LayoutModification.xml and LayoutModification.json. Each web link that's specified in LayoutModification.json must have a corresponding SecondaryTile element in LayoutModification.xml:

  • LayoutModification.xml is used to configure the web link
  • LayoutModification.json references the configured web link


Make sure to include both LayoutModification files to your image.

Create a LayoutModification.xml

The easiest way to create a Start layout .xml file is to add website links on a Windows 10 reference PC's Start menu, and then use PowerShell to export the layout. You'll need to include both the exported layout and your LayoutModification.json in your image if you're using web pins.

See Export the Start Layout to learn how to export a Start Layout.

Your exported Start layout will contain SecondaryTile elements for each of the web links you've configured. Make note of the AppUserModelID and TileID elements. You'll add these to your LayoutModification.json to pin the web link.


Make sure to remove the Square71x71LogoUri tag from the XML.

Example web pin

Below is an example of a web pin from a LayoutModification.xml:

Arguments="--launch-tile --profile-directory=Default --app-id=anfoedbkjbhcfgooaffkopcacemdbigf --app-url=" 
DisplayName="(Text of your choice to display in Start)" 

Add this tile to LayoutModification.json by adding a new JSON object in the section you want to add the pin:

  • Use the attribute from AppUserModelID ("Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe!App") for the packagedAppID value in LayoutModification.json.
  • Use the attribute from TileID ("MSEdge.anfoedbkjbcacemdbigf.UserData.Default") for the tileID value in LayoutModification.json.

Here's what it looks like, using the above example, to pin the web link to the bottom of the "Pinned" section:

"secondaryOEMPins": [ 
  { "packagedAppId": "Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe!App", 
    "tileId": "MSEdge.anfoedbkjbcacemdbigf.UserData.Default" }, 

Pre-pinning Office

Office Click-to-Run (C2R) apps will automatically be pinned to Start by Windows if the apps are pre-installed. Install the C2R version of Office using the Office pre-installation kit (OPK), and Windows will automatically detect the Office installation and add the appropriate pins to Start. Not every C2R Office app will be pinned to Start, only Word, Excel, and PowerPoint. This behavior is entirely automatic and does not require anything in LayoutModification.json.

If C2R Office is not pre-installed, the other items pinned to Start will slide over to fill the place of these apps so there are no gaps left in the middle of the layout.

Add a layout to an image

  1. Mount your Windows image.

    dism /mount-image /imagefile:E:\Sources\install.wim /mountdir:C:\mount /index:1
  2. Copy your LayoutModification.json and LayoutModification.xml, to your mounted image. Windows looks for these files in the \Windows\Users\Default\Appdata\Local\Microsoft\Windows\Shell folder. If layoutmodification files already exists in the folder, replace the existing file(s) with the new one(s).

    xcopy /s LayoutModification.json C:\Mount\Users\Default\Appdata\Local\Microsoft\Windows\Shell
    xcopy /s LayoutModification.xml C:\Mount\Users\Default\Appdata\Local\Microsoft\Windows\Shell
  3. Unmount your image, committing changes.

    dism /unmount-image /mountdir:C:\mount /commit

Language tags for captions

The following table contains the tags to use for every language supported by Windows 11:

  • If you know the language/locale, search for it in first column, and use the corresponding tag in second column (note: the tags are treated as case-sensitive, so make sure to use en-US for example and not en-us).
  • Don't use tags in third column. However, if you think you are using an incorrect tag and want to look up the corresponding correct tag, you can try searching the third column for the tag you are trying to use, and then see what the correct tag should be from the second column.
Windows Language Tag to Use in LayoutModification.json Older-style Tag (do not use if different from 2nd column)
Afrikaans af af-ZA
Albanian sq sq-AL
Alsatian gsw gsw-CH
Amharic am am-ET
Arabic (Algeria) ar-DZ ar-DZ
Arabic (Bahrain) ar-BH ar-BH
Arabic (Egypt) ar-EG ar-EG
Arabic (Iraq) ar-IQ ar-IQ
Arabic (Jordan) ar-JO ar-JO
Arabic (Kuwait) ar-KW ar-KW
Arabic (Lebanon) ar-LB ar-LB
Arabic (Libya) ar-LY ar-LY
Arabic (Morocco) ar-MA ar-MA
Arabic (Oman) ar-OM ar-OM
Arabic (Qatar) ar-QA ar-QA
Arabic (Saudi Arabia) ar-SA ar-SA
Arabic (Syria) ar-SY ar-SY
Arabic (Tunisia) ar-TN ar-TN
Arabic (United Arab Emirates) ar-AE ar-AE
Arabic (Yemen) ar-YE ar-YE
Armenian hy hy-AM
Assamese as as-IN
Azerbaijani (Cyrillic) az-Cyrl az-Cyrl-AZ
Azerbaijani (Latin) az-Latn az-Latn-AZ
Bangla (Bangladesh) bn-BD bn-BD
Bashkir ba-Cyrl ba-RU
Basque eu eu-ES
Belarusian be be-BY
Bengali (India) bn-IN bn-IN
Bosnian (Cyrillic) bs-Cyrl bs-Cyrl-BA
Bosnian (Latin) bs bs-Latn-BA
Breton br-Latn br-FR
Bulgarian bg bg-BG
Burmese my my-MM
Catalan ca ca-ES
Cebuano (Latin, Philippines) ceb-Latn-PH ceb-Latn-PH
Central Kurdish ku-Arab ku-Arab-IQ
Chakma (Chakma, Bangladesh) ccp-Cakm-BD ccp-Cakm-BD
Chakma (Chakma, India) ccp-Cakm-IN ccp-Cakm-IN
Cherokee (Cherokee) chr-Cher chr-Cher-US
Chinese (Simplified, China) zh-Hans-CN zh-CN
Chinese (Simplified, Singapore) zh-Hans-SG zh-SG
Chinese (Traditional, Hong Kong SAR) zh-Hant-HK zh-HK
Chinese (Traditional, Macao SAR) zh-Hant-MO zh-MO
Chinese (Traditional, Taiwan) zh-Hant-TW zh-TW
Corsican co-Latn co-FR
Croatian (Bosnia and Herzegovina) hr-BA hr-BA
Croatian (Croatia) hr-HR hr-HR
Czech cs cs-CZ
Danish da da-DK
Dari prs-Arab prs-AF
Divehi dv dv-MV
Dutch (Belgium) nl-BE nl-BE
Dutch (Netherlands) nl-NL nl-NL
Dzongkha dz dz-BT
English (Australia) en-AU en-AU
English (Belize) en-BZ en-BZ
English (Canada) en-CA en-CA
English (Caribbean) en-029 en-029
English (India) en-IN en-IN
English (Ireland) en-IE en-IE
English (Jamaica) en-JM en-JM
English (Malaysia) en-MY en-MY
English (New Zealand) en-NZ en-NZ
English (Philippines) en-PH en-PH
English (Singapore) en-SG en-SG
English (South Africa) en-ZA en-ZA
English (Trinidad and Tobago) en-TT en-TT
English (United Arab Emirates) en-AE en-AE
English (United Kingdom) en-GB en-GB
English (United States) en-US en-US
English (Zimbabwe) en-ZW en-ZW
Estonian et et-EE
Faroese fo fo-FO
Filipino fil-Latn fil-PH
Finnish fi fi-FI
French (Belgium) fr-BE fr-BE
French (Canada) fr-CA fr-CA
French (Caribbean) fr-029 fr-029
French (France) fr-FR fr-FR
French (Luxembourg) fr-LU fr-LU
French (Monaco) fr-MC fr-MC
French (Switzerland) fr-CH fr-CH
Frisian fy fy-NL
Fulah (Adlam, Burkina Faso) ff-Adlm-BF ff-Adlm-BF
Fulah (Adlam, Cameroon) ff-Adlm-CM ff-Adlm-CM
Fulah (Adlam, Gambia) ff-Adlm-GM ff-Adlm-GM
Fulah (Adlam, Ghana) ff-Adlm-GH ff-Adlm-GH
Fulah (Adlam, Guinea) ff-Adlm-GN ff-Adlm-GN
Fulah (Adlam, Guinea-Bissau) ff-Adlm-GW ff-Adlm-GW
Fulah (Adlam, Liberia) ff-Adlm-LR ff-Adlm-LR
Fulah (Adlam, Mauritania) ff-Adlm-MR ff-Adlm-MR
Fulah (Adlam, Niger) ff-Adlm-NE ff-Adlm-NE
Fulah (Adlam, Nigeria) ff-Adlm-NG ff-Adlm-NG
Fulah (Adlam, Senegal) ff-Adlm-SN ff-Adlm-SN
Fulah (Adlam, Sierra Leone) ff-Adlm-SL ff-Adlm-SL
Fulah (Latin, Burkina Faso) ff-Latn-BF ff-Latn-BF
Fulah (Latin, Cameroon) ff-Latn-CM ff-Latn-CM
Fulah (Latin, Gambia) ff-Latn-GM ff-Latn-GM
Fulah (Latin, Ghana) ff-Latn-GH ff-Latn-GH
Fulah (Latin, Guinea) ff-Latn-GN ff-Latn-GN
Fulah (Latin, Guinea-Bissau) ff-Latn-GW ff-Latn-GW
Fulah (Latin, Liberia) ff-Latn-LR ff-Latn-LR
Fulah (Latin, Mauritania) ff-Latn-MR ff-Latn-MR
Fulah (Latin, Niger) ff-Latn-NE ff-Latn-NE
Fulah (Latin, Nigeria) ff-Latn-NG ff-Latn-NG
Fulah (Latin, Senegal) ff-Latn-SN ff-Latn-SN
Fulah (Latin, Sierra Leone) ff-Latn-SL ff-Latn-SL
Galician gl gl-ES
Georgian ka ka-GE
German (Austria) de-AT de-AT
German (Germany) de-DE de-DE
German (Liechtenstein) de-LI de-LI
German (Luxembourg) de-LU de-LU
German (Switzerland) de-CH de-CH
Greek el el-GR
Gujarati gu gu-IN
Hausa (Latin) ha-Latn ha-Latn-NG
Hawaiian haw-Latn haw-US
Hebrew he he-IL
Hindi hi hi-IN
Hungarian hu hu-HU
Icelandic is is-IS
Igbo ig-Latn ig-NG
Inari Sami smn-Latn smn-FI
Indonesian id id-ID
Inuktitut (Canadian Aboriginal Syllabics) iu-Cans iu-Cans-CA
Inuktitut (Latin) iu-Latn iu-Latn-CA
Irish ga ga-IE
Irish (United Kingdom) ga-GB ga-GB
isiXhosa xh xh-ZA
isiZulu zu zu-ZA
Italian (Italy) it-IT it-IT
Italian (Switzerland) it-CH it-CH
Japanese ja ja-JP
K’iche’ quc-Latn quc-Latn-GT
Kalaallisut kl kl-GL
Kannada kn kn-IN
Kazakh kk kk-KZ
Khmer km km-KH
Kinyarwanda rw rw-RW
Kiswahili sw sw-KE
Konkani kok kok-IN
Korean ko ko-KR
Kyrgyz ky-Cyrl ky-KG
Lao lo lo-LA
Latvian lv lv-LV
Lithuanian lt lt-LT
Lower Sorbian dsb dsb-DE
Lule Sami (Norway) smj-Latn-NO smj-NO
Lule Sami (Sweden) smj-Latn-SE smj-SE
Luxembourgish lb lb-LU
Macedonian mk mk-MK
Malay (Brunei) ms-BN ms-BN
Malay (Malaysia) ms-MY ms-MY
Malayalam ml ml-IN
Maltese mt mt-MT
Maori mi-Latn mi-NZ
Mapuche arn-Latn arn-CL
Marathi mr mr-IN
Mohawk moh-Latn moh-CA
Mongolian (Cyrillic) mn-Cyrl mn-MN
Mongolian (Traditional Mongolian) mn-Mong mn-Mong-CN
Nepali (India) ne-IN ne-IN
Nepali (Nepal) ne-NP ne-NP
Northern Sami (Finland) se-Latn-FI se-FI
Northern Sami (Norway) se-Latn-NO se-NO
Northern Sami (Sweden) se-Latn-SE se-SE
Norwegian (Bokmål) nb nb-NO
Norwegian (Nynorsk) nn nn-NO
Occitan oc-Latn oc-FR
Odia or or-IN
Pashto ps ps-AF
Pashto (Pakistan) ps-PK ps-PK
Persian fa fa-IR
Polish pl pl-PL
Portuguese (Brazil) pt-BR pt-BR
Portuguese (Portugal) pt-PT pt-PT
Punjabi (Arabic) pa-Arab pa-Arab-PK
Punjabi (Gurmukhi) pa pa-IN
Quechua (Bolivia) quz-Latn-BO quz-BO
Quechua (Ecuador) quz-Latn-EC quz-EC
Quechua (Peru) quz-Latn-PE quz-PE
Romanian (Moldova) ro-MD ro-MD
Romanian (Romania) ro-RO ro-RO
Romansh rm rm-CH
Russian ru ru-RU
Sakha sah-Cyrl sah-RU
Sanskrit sa-Deva sa-IN
Scottish Gaelic gd-Latn gd-GB
Serbian (Cyrillic, Bosnia and Herzegovina) sr-Cyrl-BA sr-Cyrl-BA
Serbian (Cyrillic, Montenegro) sr-Cyrl-ME sr-Cyrl-ME
Serbian (Cyrillic, Serbia) sr-Cyrl-RS sr-Cyrl-RS
Serbian (Latin, Bosnia and Herzegovina) sr-Latn-BA sr-Latn-BA
Serbian (Latin, Montenegro) sr-Latn-ME sr-Latn-ME
Serbian (Latin, Serbia) sr-Latn-RS sr-Latn-RS
Sesotho sa Leboa nso nso-ZA
Setswana (Botswana) tn-BW tn-BW
Setswana (South Africa) tn-ZA tn-ZA
Sindhi (Arabic) sd-Arab sd-Arab-PK
Sinhala si si-LK
Skolt Sami sms-Latn sms-FI
Slovak sk sk-SK
Slovenian sl sl-SI
Southern Sami (Norway) sma-Latn-NO sma-NO
Southern Sami (Sweden) sma-Latn-SE sma-SE
Spanish (Argentina) es-AR es-AR
Spanish (Bolivia) es-BO es-BO
Spanish (Chile) es-CL es-CL
Spanish (Colombia) es-CO es-CO
Spanish (Costa Rica) es-CR es-CR
Spanish (Dominican Republic) es-DO es-DO
Spanish (Ecuador) es-EC es-EC
Spanish (El Salvador) es-SV es-SV
Spanish (Guatemala) es-GT es-GT
Spanish (Honduras) es-HN es-HN
Spanish (Latin America) es-419 es-419
Spanish (Mexico) es-MX es-MX
Spanish (Nicaragua) es-NI es-NI
Spanish (Panama) es-PA es-PA
Spanish (Paraguay) es-PY es-PY
Spanish (Peru) es-PE es-PE
Spanish (Puerto Rico) es-PR es-PR
Spanish (Spain) es-ES es-ES
Spanish (United States) es-US es-US
Spanish (Uruguay) es-UY es-UY
Spanish (Venezuela) es-VE es-VE
Standard Moroccan Tamazight zgh-Tfng zgh-Tfng-MA
Swedish (Finland) sv-FI sv-FI
Swedish (Sweden) sv-SE sv-SE
Syriac syr-Syrc syr-SY
Tajik (Cyrillic) tg-Cyrl tg-Cyrl-TJ
Tamil (India) ta-IN ta-IN
Tamil (Malaysia) ta-MY ta-MY
Tamil (Singapore) ta-SG ta-SG
Tamil (Sri Lanka) ta-LK ta-LK
Tatar (Cyrillic) tt-Cyrl tt-RU
Telugu te te-IN
Thai th th-TH
Tibetan bo-Tibt bo-CN
Tigrinya (Eritrea) ti-ER ti-ER
Tigrinya (Ethiopia) ti-ET ti-ET
Turkish tr tr-TR
Turkmen (Latin) tk-Latn tk-TM
Ukrainian uk uk-UA
Upper Sorbian hsb hsb-DE
Urdu (India) ur-IN ur-IN
Urdu (Pakistan) ur-PK ur-PK
Uyghur ug-Arab ug-CN
Uzbek (Cyrillic) uz-Cyrl uz-Cyrl-UZ
Uzbek (Latin) uz-Latn uz-Latn-UZ
Valencian ca-ES-valencia ca-ES-valencia
Vietnamese vi vi-VN
Welsh cy cy-GB
Wolof wo-Latn wo-SN
Yi ii-Yiii ii-CN
Yoruba yo-Latn yo-NG

JSON example

The example JSON snippet below shows examples of how to use each available language tag

  • For languages/locales you have localized text for, replace the placeholder language name in the snippet with your actual text.

  • For languages/locales you don’t plan to have localized text for, remove the corresponding line in the snippet. System will fall back to the default entry at the bottom for the text to display for those languages/locales.

  • For any language that have multiple locale variants, you can specify just the major tag (the part before the first hyphen) as a fallback for all other locales for that language. For example:

    "caption": {
    "en-US": "English (United States)", 
    "en-GB": "English (United Kingdom)", 
    "en": "text for all other locale variants of English"}

    This would provide texts specifically for US English and UK English, and then for all the other locale variants of English (eg. en-CA for Canada English), system will use the “en” caption text.

Full list of available caption languages:

"caption": {
  "af": "Afrikaans", 
  "sq": "Albanian", 
  "gsw": "Alsatian", 
  "am": "Amharic", 
  "ar-DZ": "Arabic (Algeria)", 
  "ar-BH": "Arabic (Bahrain)", 
  "ar-EG": "Arabic (Egypt)", 
  "ar-IQ": "Arabic (Iraq)", 
  "ar-JO": "Arabic (Jordan)", 
  "ar-KW": "Arabic (Kuwait)", 
  "ar-LB": "Arabic (Lebanon)", 
  "ar-LY": "Arabic (Libya)", 
  "ar-MA": "Arabic (Morocco)", 
  "ar-OM": "Arabic (Oman)", 
  "ar-QA": "Arabic (Qatar)", 
  "ar-SA": "Arabic (Saudi Arabia)", 
  "ar-SY": "Arabic (Syria)", 
  "ar-TN": "Arabic (Tunisia)", 
  "ar-AE": "Arabic (United Arab Emirates)", 
  "ar-YE": "Arabic (Yemen)", 
  "hy": "Armenian", 
  "as": "Assamese", 
  "az-Cyrl": "Azerbaijani (Cyrillic)", 
  "az-Latn": "Azerbaijani (Latin)", 
  "bn-BD": "Bangla (Bangladesh)", 
  "ba-Cyrl": "Bashkir", 
  "eu": "Basque", 
  "be": "Belarusian", 
  "bn-IN": "Bengali (India)", 
  "bs-Cyrl": "Bosnian (Cyrillic)", 
  "bs": "Bosnian (Latin)", 
  "br-Latn": "Breton", 
  "bg": "Bulgarian", 
  "my": "Burmese", 
  "ca": "Catalan", 
  "ceb-Latn-PH": "Cebuano (Latin, Philippines)", 
  "ku-Arab": "Central Kurdish", 
  "ccp-Cakm-BD": "Chakma (Chakma, Bangladesh)", 
  "ccp-Cakm-IN": "Chakma (Chakma, India)", 
  "chr-Cher": "Cherokee (Cherokee)", 
  "zh-Hans-CN": "Chinese (Simplified, China)", 
  "zh-Hans-SG": "Chinese (Simplified, Singapore)", 
  "zh-Hant-HK": "Chinese (Traditional, Hong Kong SAR)", 
  "zh-Hant-MO": "Chinese (Traditional, Macao SAR)", 
  "zh-Hant-TW": "Chinese (Traditional, Taiwan)", 
  "co-Latn": "Corsican", 
  "hr-BA": "Croatian (Bosnia and Herzegovina)", 
  "hr-HR": "Croatian (Croatia)", 
  "cs": "Czech", 
  "da": "Danish", 
  "prs-Arab": "Dari", 
  "dv": "Divehi", 
  "nl-BE": "Dutch (Belgium)", 
  "nl-NL": "Dutch (Netherlands)", 
  "dz": "Dzongkha", 
  "en-AU": "English (Australia)", 
  "en-BZ": "English (Belize)", 
  "en-CA": "English (Canada)", 
  "en-029": "English (Caribbean)", 
  "en-IN": "English (India)", 
  "en-IE": "English (Ireland)", 
  "en-JM": "English (Jamaica)", 
  "en-MY": "English (Malaysia)", 
  "en-NZ": "English (New Zealand)", 
  "en-PH": "English (Philippines)", 
  "en-SG": "English (Singapore)", 
  "en-ZA": "English (South Africa)", 
  "en-TT": "English (Trinidad and Tobago)", 
  "en-AE": "English (United Arab Emirates)", 
  "en-GB": "English (United Kingdom)", 
  "en-US": "English (United States)", 
  "en-ZW": "English (Zimbabwe)", 
  "et": "Estonian", 
  "fo": "Faroese", 
  "fil-Latn": "Filipino", 
  "fi": "Finnish", 
  "fr-BE": "French (Belgium)", 
  "fr-CA": "French (Canada)", 
  "fr-029": "French (Caribbean)", 
  "fr-FR": "French (France)", 
  "fr-LU": "French (Luxembourg)", 
  "fr-MC": "French (Monaco)", 
  "fr-CH": "French (Switzerland)", 
  "fy": "Frisian", 
  "ff-Adlm-BF": "Fulah (Adlam, Burkina Faso)", 
  "ff-Adlm-CM": "Fulah (Adlam, Cameroon)", 
  "ff-Adlm-GM": "Fulah (Adlam, Gambia)", 
  "ff-Adlm-GH": "Fulah (Adlam, Ghana)", 
  "ff-Adlm-GN": "Fulah (Adlam, Guinea)", 
  "ff-Adlm-GW": "Fulah (Adlam, Guinea-Bissau)", 
  "ff-Adlm-LR": "Fulah (Adlam, Liberia)", 
  "ff-Adlm-MR": "Fulah (Adlam, Mauritania)", 
  "ff-Adlm-NE": "Fulah (Adlam, Niger)", 
  "ff-Adlm-NG": "Fulah (Adlam, Nigeria)", 
  "ff-Adlm-SN": "Fulah (Adlam, Senegal)", 
  "ff-Adlm-SL": "Fulah (Adlam, Sierra Leone)", 
  "ff-Latn-BF": "Fulah (Latin, Burkina Faso)", 
  "ff-Latn-CM": "Fulah (Latin, Cameroon)", 
  "ff-Latn-GM": "Fulah (Latin, Gambia)", 
  "ff-Latn-GH": "Fulah (Latin, Ghana)", 
  "ff-Latn-GN": "Fulah (Latin, Guinea)", 
  "ff-Latn-GW": "Fulah (Latin, Guinea-Bissau)", 
  "ff-Latn-LR": "Fulah (Latin, Liberia)", 
  "ff-Latn-MR": "Fulah (Latin, Mauritania)", 
  "ff-Latn-NE": "Fulah (Latin, Niger)", 
  "ff-Latn-NG": "Fulah (Latin, Nigeria)", 
  "ff-Latn-SN": "Fulah (Latin, Senegal)", 
  "ff-Latn-SL": "Fulah (Latin, Sierra Leone)", 
  "gl": "Galician", 
  "ka": "Georgian", 
  "de-AT": "German (Austria)", 
  "de-DE": "German (Germany)", 
  "de-LI": "German (Liechtenstein)", 
  "de-LU": "German (Luxembourg)", 
  "de-CH": "German (Switzerland)", 
  "el": "Greek", 
  "gu": "Gujarati", 
  "ha-Latn": "Hausa (Latin)", 
  "haw-Latn": "Hawaiian", 
  "he": "Hebrew", 
  "hi": "Hindi", 
  "hu": "Hungarian", 
  "is": "Icelandic", 
  "ig-Latn": "Igbo", 
  "smn-Latn": "Inari Sami", 
  "id": "Indonesian", 
  "iu-Cans": "Inuktitut (Canadian Aboriginal Syllabics)", 
  "iu-Latn": "Inuktitut (Latin)", 
  "ga": "Irish", 
  "ga-GB": "Irish (United Kingdom)", 
  "xh": "isiXhosa", 
  "zu": "isiZulu", 
  "it-IT": "Italian (Italy)", 
  "it-CH": "Italian (Switzerland)", 
  "ja": "Japanese", 
  "quc-Latn": "K’iche’", 
  "kl": "Kalaallisut", 
  "kn": "Kannada", 
  "kk": "Kazakh", 
  "km": "Khmer", 
  "rw": "Kinyarwanda", 
  "sw": "Kiswahili", 
  "kok": "Konkani", 
  "ko": "Korean", 
  "ky-Cyrl": "Kyrgyz", 
  "lo": "Lao", 
  "lv": "Latvian", 
  "lt": "Lithuanian", 
  "dsb": "Lower Sorbian", 
  "smj-Latn-NO": "Lule Sami (Norway)", 
  "smj-Latn-SE": "Lule Sami (Sweden)", 
  "lb": "Luxembourgish", 
  "mk": "Macedonian", 
  "ms-BN": "Malay (Brunei)", 
  "ms-MY": "Malay (Malaysia)", 
  "ml": "Malayalam", 
  "mt": "Maltese", 
  "mi-Latn": "Maori", 
  "arn-Latn": "Mapuche", 
  "mr": "Marathi", 
  "moh-Latn": "Mohawk", 
  "mn-Cyrl": "Mongolian (Cyrillic)", 
  "mn-Mong": "Mongolian (Traditional Mongolian)", 
  "ne-IN": "Nepali (India)", 
  "ne-NP": "Nepali (Nepal)", 
  "se-Latn-FI": "Northern Sami (Finland)", 
  "se-Latn-NO": "Northern Sami (Norway)", 
  "se-Latn-SE": "Northern Sami (Sweden)", 
  "nb": "Norwegian (Bokmål)", 
  "nn": "Norwegian (Nynorsk)", 
  "oc-Latn": "Occitan", 
  "or": "Odia", 
  "ps": "Pashto", 
  "ps-PK": "Pashto (Pakistan)", 
  "fa": "Persian", 
  "pl": "Polish", 
  "pt-BR": "Portuguese (Brazil)", 
  "pt-PT": "Portuguese (Portugal)", 
  "pa-Arab": "Punjabi (Arabic)", 
  "pa": "Punjabi (Gurmukhi)", 
  "quz-Latn-BO": "Quechua (Bolivia)", 
  "quz-Latn-EC": "Quechua (Ecuador)", 
  "quz-Latn-PE": "Quechua (Peru)", 
  "ro-MD": "Romanian (Moldova)", 
  "ro-RO": "Romanian (Romania)", 
  "rm": "Romansh", 
  "ru": "Russian", 
  "sah-Cyrl": "Sakha", 
  "sa-Deva": "Sanskrit", 
  "gd-Latn": "Scottish Gaelic", 
  "sr-Cyrl-BA": "Serbian (Cyrillic, Bosnia and Herzegovina)", 
  "sr-Cyrl-ME": "Serbian (Cyrillic, Montenegro)", 
  "sr-Cyrl-RS": "Serbian (Cyrillic, Serbia)", 
  "sr-Latn-BA": "Serbian (Latin, Bosnia and Herzegovina)", 
  "sr-Latn-ME": "Serbian (Latin, Montenegro)", 
  "sr-Latn-RS": "Serbian (Latin, Serbia)", 
  "nso": "Sesotho sa Leboa", 
  "tn-BW": "Setswana (Botswana)", 
  "tn-ZA": "Setswana (South Africa)", 
  "sd-Arab": "Sindhi (Arabic)", 
  "si": "Sinhala", 
  "sms-Latn": "Skolt Sami", 
  "sk": "Slovak", 
  "sl": "Slovenian", 
  "sma-Latn-NO": "Southern Sami (Norway)", 
  "sma-Latn-SE": "Southern Sami (Sweden)", 
  "es-AR": "Spanish (Argentina)", 
  "es-BO": "Spanish (Bolivia)", 
  "es-CL": "Spanish (Chile)", 
  "es-CO": "Spanish (Colombia)", 
  "es-CR": "Spanish (Costa Rica)", 
  "es-DO": "Spanish (Dominican Republic)", 
  "es-EC": "Spanish (Ecuador)", 
  "es-SV": "Spanish (El Salvador)", 
  "es-GT": "Spanish (Guatemala)", 
  "es-HN": "Spanish (Honduras)", 
  "es-419": "Spanish (Latin America)", 
  "es-MX": "Spanish (Mexico)", 
  "es-NI": "Spanish (Nicaragua)", 
  "es-PA": "Spanish (Panama)", 
  "es-PY": "Spanish (Paraguay)", 
  "es-PE": "Spanish (Peru)", 
  "es-PR": "Spanish (Puerto Rico)", 
  "es-ES": "Spanish (Spain)", 
  "es-US": "Spanish (United States)", 
  "es-UY": "Spanish (Uruguay)", 
  "es-VE": "Spanish (Venezuela)", 
  "zgh-Tfng": "Standard Moroccan Tamazight", 
  "sv-FI": "Swedish (Finland)", 
  "sv-SE": "Swedish (Sweden)", 
  "syr-Syrc": "Syriac", 
  "tg-Cyrl": "Tajik (Cyrillic)", 
  "ta-IN": "Tamil (India)", 
  "ta-MY": "Tamil (Malaysia)", 
  "ta-SG": "Tamil (Singapore)", 
  "ta-LK": "Tamil (Sri Lanka)", 
  "tt-Cyrl": "Tatar (Cyrillic)", 
  "te": "Telugu", 
  "th": "Thai", 
  "bo-Tibt": "Tibetan", 
  "ti-ER": "Tigrinya (Eritrea)", 
  "ti-ET": "Tigrinya (Ethiopia)", 
  "tr": "Turkish", 
  "tk-Latn": "Turkmen (Latin)", 
  "uk": "Ukrainian", 
  "hsb": "Upper Sorbian", 
  "ur-IN": "Urdu (India)", 
  "ur-PK": "Urdu (Pakistan)", 
  "ug-Arab": "Uyghur", 
  "uz-Cyrl": "Uzbek (Cyrillic)", 
  "uz-Latn": "Uzbek (Latin)", 
  "ca-ES-valencia": "Valencian", 
  "vi": "Vietnamese", 
  "cy": "Welsh", 
  "wo-Latn": "Wolof", 
  "ii-Yiii": "Yi", 
  "yo-Latn": "Yoruba", 
  "default": "fallback caption for other languages"