Language selector

Language selector allows you to choose between languages where the current page has been translated to. The page translation is managed by jekyll-site-l10n project. Both language selector and jekyll-site-l10n project use common configuration file to know what languages to translate and display.

Presentation template

Language selector presentation template is defined in the _includes/base/languages.html file.

Language selector is visible, as a small drop-down button, on the right-top corner of pages configured to have translations. You can use the Language selector drop-down button to switch between page translations.

Configuration files

Language selector presentation template reads configuration variables from configuration files described below:

  1. Site’s configuration file:

    _config.yml
    

    Set default values for both site and page-specific configuration variables.

  2. Page preamble section of markdown files:

    **/*.md
    

    Set custom values for page-specific configuration variables. Page configuration variables defined in page preamble section of markdown files override page configuration variables defined in site’s configuration file.

Data structure files

Language selector presentation template reads data structure from files described below:

  1. Component default data file:

    _data/base/languages.yml
    

    In this file, jekyll-theme-centos theme distributes component-specific data structure default values.

  2. Component data file:

    _data/{{ site.component_data_dirname }}/languages.yml
    

    In this file, you can customize the component-specific data structure default values distributed by jekyll-theme-centos theme.

Language selector data structure expands language codes to language names. By default, the relation is as follows:

{"ab"=>"Abkhaz", "aa"=>"Afar", "af"=>"Afrikaans", "ak"=>"Akan", "sq"=>"Albanian", "am"=>"Amharic", "ar"=>"Arabic", "an"=>"Aragonese", "hy"=>"Armenian", "as"=>"Assamese", "av"=>"Avaric", "ae"=>"Avestan", "ay"=>"Aymara", "az"=>"Azerbaijani", "bm"=>"Bambara", "ba"=>"Bashkir", "eu"=>"Basque", "be"=>"Belarusian", "bn"=>"Bengali", "bh"=>"Bihari", "bi"=>"Bislama", "bs"=>"Bosnian", "br"=>"Breton", "bg"=>"Bulgarian", "my"=>"Burmese", "ca"=>"Catalan; Valencian", "ch"=>"Chamorro", "ce"=>"Chechen", "ny"=>"Chichewa; Chewa; Nyanja", "zh"=>"Chinese", "cv"=>"Chuvash", "kw"=>"Cornish", "co"=>"Corsican", "cr"=>"Cree", "hr"=>"Croatian", "cs"=>"Czech", "da"=>"Danish", "dv"=>"Divehi; Dhivehi; Maldivian;", "nl"=>"Dutch", "en"=>"English", "eo"=>"Esperanto", "et"=>"Estonian", "ee"=>"Ewe", "fo"=>"Faroese", "fj"=>"Fijian", "fi"=>"Finnish", "fr"=>"French", "ff"=>"Fula; Fulah; Pulaar; Pular", "gl"=>"Galician", "ka"=>"Georgian", "de"=>"German", "el"=>"Greek", "gn"=>"Guaran\u00ED", "gu"=>"Gujarati", "ht"=>"Haitian; Haitian Creole", "ha"=>"Hausa", "he"=>"Hebrew (modern)", "hz"=>"Herero", "hi"=>"Hindi", "ho"=>"Hiri Motu", "hu"=>"Hungarian", "ia"=>"Interlingua", "id"=>"Indonesian", "ie"=>"Interlingue", "ga"=>"Irish", "ig"=>"Igbo", "ik"=>"Inupiaq", "io"=>"Ido", "is"=>"Icelandic", "it"=>"Italian", "iu"=>"Inuktitut", "ja"=>"Japanese", "jv"=>"Javanese", "kl"=>"Kalaallisut", "kn"=>"Kannada", "kr"=>"Kanuri", "ks"=>"Kashmiri", "kk"=>"Kazakh", "km"=>"Khmer", "ki"=>"Kikuyu", "rw"=>"Kinyarwanda", "ky"=>"Kirghiz", "kv"=>"Komi", "kg"=>"Kongo", "ko"=>"Korean", "ku"=>"Kurdish", "kj"=>"Kwanyama", "la"=>"Latin", "lb"=>"Luxembourgish", "lg"=>"Luganda", "li"=>"Limburgish", "ln"=>"Lingala", "lo"=>"Lao", "lt"=>"Lithuanian", "lu"=>"Luba-Katanga", "lv"=>"Latvian", "gv"=>"Manx", "mk"=>"Macedonian", "mg"=>"Malagasy", "ms"=>"Malay", "ml"=>"Malayalam", "mt"=>"Maltese", "mi"=>"M\u0101ori", "mr"=>"Marathi (Mar\u0101\u1E6Dh\u012B)", "mh"=>"Marshallese", "mn"=>"Mongolian", "na"=>"Nauru", "nv"=>"Navajo", "nb"=>"Norwegian Bokm\u00E5l", "nd"=>"North Ndebele", "ne"=>"Nepali", "ng"=>"Ndonga", "nn"=>"Norwegian Nynorsk", false=>"Norwegian", "ii"=>"Nuosu", "nr"=>"South Ndebele", "oc"=>"Occitan", "oj"=>"Ojibwe", "cu"=>"Old Church Slavonic", "om"=>"Oromo", "or"=>"Oriya", "os"=>"Ossetian", "pa"=>"Panjabi", "pi"=>"P\u0101li", "fa"=>"Persian", "pl"=>"Polish", "ps"=>"Pashto", "pt"=>"Portuguese", "qu"=>"Quechua", "rm"=>"Romansh", "rn"=>"Kirundi", "ro"=>"Romanian", "ru"=>"Russian", "sa"=>"Sanskrit", "sc"=>"Sardinian", "sd"=>"Sindhi", "se"=>"Northern Sami", "sm"=>"Samoan", "sg"=>"Sango", "sr"=>"Serbian", "gd"=>"Gaelic", "sn"=>"Shona", "si"=>"Sinhala", "sk"=>"Slovak", "sl"=>"Slovene", "so"=>"Somali", "st"=>"Southern Sotho", "es"=>"Spanish", "su"=>"Sundanese", "sw"=>"Swahili", "ss"=>"Swati", "sv"=>"Swedish", "ta"=>"Tamil", "te"=>"Telugu", "tg"=>"Tajik", "th"=>"Thai", "ti"=>"Tigrinya", "bo"=>"Tibetan", "tk"=>"Turkmen", "tl"=>"Tagalog", "tn"=>"Tswana", "to"=>"Tonga", "tr"=>"Turkish", "ts"=>"Tsonga", "tt"=>"Tatar", "tw"=>"Twi", "ty"=>"Tahitian", "ug"=>"Uighur", "uk"=>"Ukrainian", "ur"=>"Urdu", "uz"=>"Uzbek", "ve"=>"Venda", "vi"=>"Vietnamese", "vo"=>"Volap\u00FCk", "wa"=>"Walloon", "cy"=>"Welsh", "wo"=>"Wolof", "fy"=>"Western Frisian", "xh"=>"Xhosa", "yi"=>"Yiddish", "yo"=>"Yoruba", "za"=>"Zhuang"}