CINXE.COM

Lingualibre Languages Gallery

<!doctype html> <html class="js-focus-visible" data-js-focus-visible="" dir="ltr" lang="en"> <head> <base href="https://lingualibre.org/LanguagesGallery/"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Lingualibre Languages Gallery</title> <style id="style-fonts"> /*** uncss> filename: assets/css_004.css ***/ /* cyrillic-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* hebrew */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; } /* vietnamese */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* hebrew */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; } /* vietnamese */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* hebrew */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; } /* vietnamese */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* hebrew */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; } /* vietnamese */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-stretch: 100%; src: url(https://fonts.gstatic.com/s/opensans/v35/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*** uncss> filename: assets/css_002.css ***/ /* latin-ext */ @font-face { font-family: 'Zilla Slab'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/zillaslab/v11/dFa6ZfeM_74wlPZtksIFajQ6_UyI.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Zilla Slab'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/zillaslab/v11/dFa6ZfeM_74wlPZtksIFajo6_Q.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* latin-ext */ @font-face { font-family: 'Zilla Slab'; font-style: normal; font-weight: 600; src: url(https://fonts.gstatic.com/s/zillaslab/v11/dFa5ZfeM_74wlPZtksIFYuUe6H2pW2hz.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Zilla Slab'; font-style: normal; font-weight: 600; src: url(https://fonts.gstatic.com/s/zillaslab/v11/dFa5ZfeM_74wlPZtksIFYuUe6HOpWw.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*** uncss> filename: assets/css_003.css ***/ /* cyrillic-ext */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7SUc.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7SUc.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7SUc.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7SUc.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7SUc.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7SUc.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7SUc.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7SUc.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7SUc.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7SUc.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; src: url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*** uncss> filename: assets/css.css ***/ /* cyrillic-ext */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Iaw1J5X9T9RW6j9bNfFoWaCi_.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Iaw1J5X9T9RW6j9bNfFMWaCi_.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Iaw1J5X9T9RW6j9bNfFsWaCi_.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Iaw1J5X9T9RW6j9bNfFQWaCi_.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Iaw1J5X9T9RW6j9bNfFgWaCi_.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Iaw1J5X9T9RW6j9bNfFkWaCi_.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Iaw1J5X9T9RW6j9bNfFcWaA.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 700; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Law1J5X9T9RW6j9bNdOwzfRqecf1I.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 700; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Law1J5X9T9RW6j9bNdOwzfROecf1I.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 700; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Law1J5X9T9RW6j9bNdOwzfRuecf1I.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 700; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Law1J5X9T9RW6j9bNdOwzfRSecf1I.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 700; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Law1J5X9T9RW6j9bNdOwzfRiecf1I.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 700; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Law1J5X9T9RW6j9bNdOwzfRmecf1I.woff2) format('woff2'); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: 'Noto Serif'; font-style: normal; font-weight: 700; src: url(https://fonts.gstatic.com/s/notoserif/v21/ga6Law1J5X9T9RW6j9bNdOwzfReecQ.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } </style> <style id="style-main"> /*** uncss> filename: assets/main.c697309ac27ba1ff.css ***/ :root { --white: #fff; --black: #000; --red: #ff4f5e; --light-red: #fdc6c8; --dark-red: #b90010; --green: #b7d43f; --valid-green: #59cbb7; --dark-green: #028a72; --near-black: #4a4a4a; --grey: #e7e5e2; --dark-grey: #575757; --darker-grey: #e6e5e3; --light-grey: #f3f2f0; --lighter-grey: #f9f9f9; --lighest-grey: #fdfdfd; --desert-storm: #f3f2f1; --warm-grey: #959595; --light-blue: #e3ecf8; --blue: #629ff4; --dark-blue: #195ebf; --inactive-grey: #575757; --anchor-text-blue: #1570ef; --light-yellow: #fffcd9; --dark-yellow: #e5d92f; --light-purple: #9b90ff; --gradient-pink: #f89096; --gradient-purple: #b1b4e5; --link-color: var(--dark-blue); --progress-default: #517FC1; /* humaniki : males */ --progress-females: #F19359; /* humaniki : females */ --progress-others: #FAD965; /* humaniki : others */ --override-z-index: 4; --header-z-index: 3; --top-z-index: 2; --middle-z-index: 1; --bottom-z-index: 0; --base-font-family: "Open Sans", sans-serif; --strong-font-family: "Zilla Slab", "Georgia", "Utopia", "Charter", serif; --font-size-xs: 12px; --font-size-sm: 14px; --font-size: 16px; --font-size-md: 18px; --font-size-lg: 24px; --font-size-xl: 32px; --font-size-xxl: 34px; --font-size-max: 48px; --standard-margin: 0.3rem; --wide-desktop-width: 1400px; --desktop-width: 76rem; --old-desktop-width: 55rem; --page-margin: 1rem; --page-margin-padding: calc(((100vw - var(--desktop-width)) / 2) + (var(--page-margin) * 0.5)); --input-height: 2.5rem; --spinner-height: 10rem; --card-shadow: rgba(0, 0, 0, .09) 0 1px 6px, rgba(0, 0, 0, .09) 0 1px 4px; --transition-duration: 0.2s; --transition-duration-slow: 0.5s; --easing: cubic-bezier(0.4, 0, 0.2, 1); --header-height: 4rem; --nav-shadow-overhang: 0 2px 4px rgba(0, 0, 0, .03); --dataset-item-margin: 0.7rem; --profile-column-margin: 30px; } @media (prefers-reduced-motion:reduce) { :root { --transition-duration: 0.05s; --transition-duration-slow: 0.05s; } } :root { --toggle-padding: 10px; } .button { align-items: center; background: var(--black); border: 1px solid var(--near-black); color: var(--white); cursor: pointer; display: flex; font-family: var(--base-font-family); font-size: .9rem; font-weight: 600; height: 3rem; justify-content: center; min-width: 14rem; outline: none; padding: .5rem 1rem; position: relative; text-align: center; transition: all var(--transition-duration) linear; width: 100%; } @media (min-width:992px) { .button { height: auto; width: auto; } } .button.outline { background-color: var(--white); border: 1px solid rgba(0, 0, 0, .1); border-radius: 4px; color: var(--black); } .button.rounded { border-radius: 50px; } body:not(.mobile-safari) .button:hover { background-color: var(--white); color: var(--black); } body:not(.mobile-safari) .button.outline:hover { border-color: #000; } .button:disabled { opacity: .3; pointer-events: none; } .text-button { background: none; border: none; font-family: var(--base-font-family); } @font-face { font-family: Icons; src: url(/dist/icomoon.c2b53bbe52e86479.ttf); } *, :after, :before { box-sizing: border-box; margin: 0; padding: 0; } html { background-color: var(--white); color: var(--black); font-family: var(--base-font-family); font-size: var(--font-size); } #main, body, html { height: 100vh; margin: 0; max-height: 100%; padding: 0; width: 100%; } h1, h2, h3, h4 { font-family: var(--strong-font-family); } h1 { font-size: 1.8rem; } h2 { font-size: 1.5rem; font-weight: 400; } a { color: var(--black); outline: none; text-decoration: none; } h1, h2, h3, h4, p { margin: 0; padding: 0; } a:active { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .link { text-decoration: underline; } .link:hover { color: var(--blue); } button { background: none; cursor: pointer; } .js-focus-visible :focus-within:not(.focus-visible), .js-focus-visible :focus:not(.focus-visible) { outline: none; } #main { background-color: var(--white); position: relative; } #content { display: flex; flex-grow: 1; min-height: 100%; width: 100%; } .visually-hidden { clip: rect(0 0 0 0) !important; border: 0 !important; clip-path: inset(50%) !important; height: 1px !important; margin: 0 !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; white-space: nowrap !important; width: 1px !important; } .page { min-height: 100%; width: 100%; } .page__wrapper { margin: 0 auto; max-width: var(--desktop-width); padding: 0 var(--page-margin); } .page-text-content p { margin-bottom: 1em; } .page-text-content a { color: var(--link-color); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .15em; } .page-heading { font-size: 2.25em; font-weight: 500; line-height: 1em; margin-bottom: .5em; margin-top: 1em; padding-top: .75em; position: relative; } @media (--md-up) { .page-heading { font-size: 3em; margin-top: 1.5em; } } .page-heading:before { background: linear-gradient(90deg, var(--gradient-pink) 0, var(--gradient-purple) 100%); content: ""; height: 3px; left: 0; position: absolute; top: 0; width: 70px; } .ribon-message { margin: 1em; padding: 1em; background: var(--light-yellow) ; border: 1px solid orange ; } /* ************************************** */ /* Language Page ************************ */ .languages-page { overflow: hidden; position: relative; } /* ************************************** */ /* Language Page Top ******************** */ .languages-page .top { display: flex; flex-direction: column; margin: 0 auto; max-width: var(--desktop-width); } @media (min-width:768px) { .languages-page .top { flex-direction: row; justify-content: space-between; } } /* ************************************** */ /* Language Page Top-right ************** */ /* Text */ .languages-page .top .text { align-items: center; display: flex; margin-top: 2rem; z-index: var(--middle-z-index); } @media (min-width:768px) { .languages-page .top .text { align-items: flex-end; margin-inline-start: 2em; margin-top: 0; } } /* Text inner */ .languages-page .top .text .inner { align-items: flex-start; display: flex; flex-direction: column; width: 100%; } @media (min-width:768px) { .languages-page .top .text .inner { align-items: flex-end; } } /* Text inner p*/ .languages-page .top .text .inner p { font-size: var(--font-size-md); font-weight: 600; margin-bottom: 2rem; padding-inline-end: var(--standard-margin); } @media (min-width:768px) { .languages-page .top .text .inner p { margin-bottom: 1rem; } } /* Title and search */ .languages-page .title-and-search { display: flex; flex-direction: row; flex-wrap: wrap; } @media (min-width:768px) { .languages-page .title-and-search { align-items: center; } } /* ************************************** */ /* Search ******************************* */ .languages-page .search { align-items: center; background: var(--lighter-grey); border: 1px solid var(--grey); border-radius: 22px; display: flex; flex-direction: row; margin-inline-start: auto; padding: .5em 1em; } @media (max-width:4000px) { /* always on */ .languages-page .search { margin: 10px 0; padding: 10px; width: 100%; } } .languages-page .search input { background: transparent; border: none; color: var(--near-black); font-family: var(--base-font-family); margin: 0 10px; outline: none; width: 100%; } .languages-page .search input::-ms-clear { display: none; } .languages-page .search img { padding-top: 2px; width: 16px; } /* ************************************** */ /* Language sections ******************** */ .languages-page .language-sections { margin: 0 auto; max-width: var(--desktop-width); } .languages-page .language-sections .languages-page__language-cards { grid-row-gap: 1em; display: grid; grid-row: auto; grid-template-columns: 1fr; margin-bottom: 1em; margin-top: 2em; } @media (min-width:992px) { .languages-page .language-sections .languages-page__language-cards { grid-column-gap: 1em; display: grid; grid-row: auto auto auto; grid-template-columns: 1fr 1fr 1fr; } } .languages-page .language-sections section { margin-bottom: 4em; } /* .languages-page .language-sections section .page-text-content { max-width: 40em; } */ .languages-page .language-sections__heading { align-items: center; display: flex; font-size: var(--font-size-xl); margin-bottom: 1em; margin-top: 1em; } .languages-page .language-sections__heading .count:before { content: "\00a0 "; } /*** uncss> filename: assets/225.3c74d8eb4081631a.css ***/ .expandable-information__summary::marker { display: none; } /*** .contribution .contribution-speak-form .labeled-checkbox ` @media(--md-down) { width: 80%; } uncss> filename: assets/569.7963f0904846ebb9.css ***/ /* ************************************** */ /* Language Cards */ :root { --cta-background-color: hsla(40, 11%, 95%, .5); } .LanguageCardHeading--mV8ad { font-size: var(--font-size-lg); font-weight: 400; margin-bottom: 1em; text-transform: capitalize; } .LanguageCard--NQpAM { background: var(--white); box-shadow: var(--card-shadow); display: flex; flex-direction: column; justify-content: space-between; } .LanguageCardContent--HJkVa { padding: 1em; } /*** uncss> filename: assets/490.a3e0a74a19614d5e.css ***/ .LanguageCardFooter { display: flex; } .LanguageCardFooter a { flex: 50; } .LanguageCardFooter .cta--IQ7M2 { background-color: var(--cta-background-color); border: none; font-family: var(--base-font-family); font-weight: 600; letter-spacing: .4px; outline: none; padding: 1rem; text-align: center; text-transform: uppercase; transition: linear var(--transition-duration); width: 100%; } .LanguageCardFooter .cta--IQ7M2:hover { background: var(--light-grey); } /* ************************************** */ /* Data group */ .Data--JRpje { grid-column-gap: 2em; grid-row-gap: 1em; display: grid; grid-template-columns: 1fr 1fr; } /* Data element */ .DataItem--r5BlZ { flex-shrink: 0; } .DataItemHeading--QFQyU { color: var(--dark-grey); font-family: var(--base-font-family); font-size: var(--font-size-sm); font-weight: 400; margin-bottom: .25em; } /** *************************************************************HERE SVG CLASS **************** */ .DataItemValue--G3soc { font-weight: 300; font-size: var(--font-size-md); line-height: var(--font-size-md); display: flex; justify-content: space-between; } .DataItemValue--G3soc span:first-child { justify-self: flex-start; } .DataItemValue--G3soc span:nth-child(2) { justify-self: center; font-size: var(--font-size); } .DataItemValue--G3soc span:last-child { justify-self: flex-end; } /* ************************************** */ /* Progress bars */ .progress--Te4aM { z-index:1; background: var(--blue); height: .5rem; width: 100%; position:relative; } .progressBar--u2kfl { height: 100%; display: block; position: absolute; top: 0; left: 0; } .progress-default { z-index:1; background: var(--progress-default);} .progress-others { z-index:2; background: var(--progress-others); } .progress-females { z-index:3; background: var(--progress-females); } .progress-words { z-index:2; background: var(--light-purple);} /* ************************************** */ /* Stickyness */ /* NO REALLY USED : */ .sticky { position: -webkit-sticky; position: sticky; top:15px; } </style> <style id="style-icons"> /* ****************************************************** */ /* SVG ICON BASE **************************************** */ .DataItemHeadingIcon--tW9fa { display: inline-block; fill:currentColor; height: 1.15em; width: 1.15em; margin-inline-end: .35em; } /* ****************************************************** */ /* ********************* TEST *************************** */ /* Icons ************************************************ */ i.tpl { background: url("data:image/svg+xml;charset=UTF-8,<svg></svg>") center no-repeat; background-color: #FFF; background-size: 100%; } </style> <meta http-equiv="X-Translated-By" content="Google"> <meta http-equiv="X-Translated-To" content="en"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.omlEigW4xY8.O/am=DgY/d=1/rs=AN8SPfpjsL9kUWY0h-sp7Ilu7hZWGwEmeg/m=corsproxy" data-sourceurl="https://lingualibre.org/LanguagesGallery/"></script> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.omlEigW4xY8.O/am=DgY/d=1/exm=corsproxy/ed=1/rs=AN8SPfpjsL9kUWY0h-sp7Ilu7hZWGwEmeg/m=phishing_protection" data-phishing-protection-enabled="false" data-forms-warning-enabled="true" data-source-url="https://lingualibre.org/LanguagesGallery/"></script> <meta name="robots" content="none"> </head> <body> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.omlEigW4xY8.O/am=DgY/d=1/exm=corsproxy,phishing_protection/ed=1/rs=AN8SPfpjsL9kUWY0h-sp7Ilu7hZWGwEmeg/m=navigationui" data-environment="prod" data-proxy-url="https://lingualibre-org.translate.goog" data-proxy-full-url="https://lingualibre-org.translate.goog/LanguagesGallery/?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" data-source-url="https://lingualibre.org/LanguagesGallery/" data-source-language="auto" data-target-language="en" data-display-language="en-GB" data-detected-source-language="en" data-is-source-untranslated="false" data-source-untranslated-url="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://lingualibre.org/LanguagesGallery/&amp;anno=2" data-client="tr"></script> <div id="app"> <noscript> Please enable JavaScript to run this app </noscript> <div id="root"> <div id="main" class="languages"> <main id="content" class="languages"> <div class="page languages-page"> <div class="page__wrapper"> <p class="ribon-message">This new datasets and languages gallery is under test. If necessary, you can <a class="link" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/hugolpz/LanguagesGallery/issues/">report an issue</a> or <a class="link" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/hugolpz/LanguagesGallery/%23contribute">contribute</a> on Github.</p> <div class="top"> <h1 class="page-heading">Languages <span class="count">({{ filteredLanguages.filter(language =&gt; Number(language.records) &gt;= 0 ).length }})</span></h1> <div class="text"> <div class="inner"> <p>Don't see your language on Lingualibre yet?</p><a class="button outline rounded" href="https://lingualibre-org.translate.goog/index.php?title=Special:UserLogin&amp;returnto=Special:RecordWizard&amp;returntoquery&amp;_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Log in and record few words</a> <!-- SEARCH INPUT --> <div class="search sticky"><input type="text" placeholder="Search by language name" value="fren" class="" v-model="search"> <button type="button" class="text-button " style="padding: 0px;"> <img src="assets/search.svg" title="" alt="icon"> </button> </div> </div> </div> </div> <div class="language-sections" v-for="(threshold, index) in thresholds" :key="index"> <section class="launched"> <div class="title-and-search"><!-- TITLE OF GROUP --> <h2 class="language-sections__heading">Languages with over {{ meaningfulNumber(threshold) }} recordings <span class="count">({{ filteredLanguages.filter(language =&gt; (thresholds[index-1] || 100000000) &gt; Number(language.records) &amp;&amp; Number(language.records) &gt;= thresholds[index] ).length }})</span></h2> </div><!-- Descriptor --> <div class="page-text-content"> <p v-if="filteredLanguages.filter(language => (thresholds[index-1] || 100000000) > Number(language.records) &amp;&amp; Number(language.records) >= thresholds[index] ).length > 0"><i>For activated languages <a class="link" href="https://lingualibre-org.translate.goog/wiki/Special:RecordWizard?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">log in and start recording vocabulary</a>, most languages have vocabulary lists ready to record : at Step 3, search <code style="white-space: nowrap;">"List:{your_ISO}/Unilex"</code>.</i></p> <p v-else><i>No language matching this search and conditions, please try another search or <a class="link" href="https://lingualibre-org.translate.goog/wiki/Special:RecordWizard?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">record few words</a>.</i></p> </div> <div class="languages-page__language-cards"><!-- Component languageCard --> <div class="LanguageCard--NQpAM" v-for="language in filteredLanguages.filter(language => (thresholds[index-1] || 100000000) > Number(language.records) &amp;&amp; Number(language.records) >= thresholds[index] )"> <div class="LanguageCardContent--HJkVa"><!-- TITRES --> <h3 class="LanguageCardHeading--mV8ad">{{language.languageLabelNative || language.itemLabel || language.languageLabel}}</h3><span>{{ meaningfulNumber(language.population,'short',zero='Unkown number of') }} speakers worldwide</span> <!-- DATA TABLE --> <div class="Data--JRpje"><!-- DATA ITEM --> <div class="DataItem--r5BlZ"> <h4 class="DataItemHeading--QFQyU"><!-- <i class="DataItemHeadingIcon--tW9fa icon1"></i> SEE CSS "TEST" --> <svg class="DataItemHeadingIcon--tW9fa" width="13" height="13" viewbox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M7.9 8.5c-.2.1-.2.4 0 .5l.2.5-.2.5c-.2.1-.2.3 0 .5l.2.1.3-.1a1.4 1.4 0 0 0 0-2 .4.4 0 0 0-.5 0ZM9.4 7.2v.6a2.4 2.4 0 0 1 0 3.4v.5l.3.2s.2 0 .3-.2a3.2 3.2 0 0 0 0-4.5.4.4 0 0 0-.6 0Z"> </path> <path d="M11.6 6.1a.4.4 0 0 0-.6 0v.5a4 4 0 0 1 0 5.7v.6h.6a4.8 4.8 0 0 0 0-6.8ZM8 6.5c0-.3 0-.5-.3-.7l-1.1-.6C6 2.2 3.4.2.4 0 .2 0 0 .2 0 .4s.2.4.4.4c2.6 0 5 2.1 5.5 4.7l.1.3 1.3.7-1.2.7-.2.3-.2.7H3.2c-.2 0-.4.1-.4.4A3 3 0 0 0 4 10.9c-1 .8-2.2 1.3-3.5 1.3-.2 0-.4.2-.4.4s.2.4.4.4c1.6 0 3.2-.7 4.4-1.9v-.3l-.1-.3c-.6-.3-1-1-1-1.6H6c.1 0 .3 0 .3-.2l.3-1 1-.6c.3 0 .5-.3.5-.6Z"> </path> <path d="M3.1 5.5h.4l.1-.3V4.9a.4.4 0 0 0-.5 0H3l-.1.3v.2l.2.1Z" /> </svg>Speakers</h4> <p class="DataItemValue--G3soc">{{ meaningfulNumber(language.speakers) }}</p> </div><!-- DATA ITEM 2 --> <div class="DataItem--r5BlZ"><!-- SVG & Dimension --> <h4 class="DataItemHeading--QFQyU"> <svg class="DataItemHeadingIcon--tW9fa" width="13" height="13" viewbox="0 0 25 25" xmlns="http://www.w3.org/2000/svg"><path d="M16.923 17.318c.201.612.461 1.251.463 1.895v3.79c0 .598-.215.997-.827.997-.613 0-.638-.399-.638-.997v-3.89c.103-.797-.397-1.396-.907-1.894-.306-.3-.245-.323-.204-.612.102-.4.143-.757.816-.699 2.96-.299 5.912-1.681 5.912-6.368 0-1.097-.603-2.194-1.419-3.091-.307-.3-.307-.699-.205-.998.307-.797.307-1.98.102-2.778-.51.1-1.711.4-3.038 1.296-.205.2-.51.2-.817.1a12.487 12.487 0 0 0-6.635 0c-.306.1-.612.1-.919-.1-1.225-.897-2.535-1.196-3.046-1.296-.205.798-.205 1.981.101 2.778.102.4.102.798-.204.998-.816.897-1.225 1.994-1.225 3.091 0 4.687 2.57 6.061 5.532 6.36.408 0 .714.3.816.7.102.397 0 .419-.204.619-.51.498-.714 1.097-.714 1.795v3.889c0 .598-.017.997-.629.997-.613 0-.835-.399-.835-.997v-1.888c-3.062.498-4.006-1.197-4.924-2.294-.408-.5-.714-.897-1.123-.997-.51-.1-1.302-.505-1.098-1.004.102-.498.714-.705 1.225-.506 1.02.3 1.633.997 2.245 1.695.817 1.097 1.531 1.895 3.675 1.496.05-1.199.248-1.547.455-2.087-2.858-.598-6.069-2.393-6.069-7.678 0-1.496.51-2.892 1.429-3.99-.408-1.395-.306-2.692.306-3.988a.91.91 0 0 1 .613-.599c.408-.1 1.543-.299 4.298 1.397 2.247-.499 4.979-.499 7.123 0 2.654-1.696 3.89-1.496 4.298-1.397.306.1.51.3.613.599.51 1.296.612 2.593.306 3.889A6.175 6.175 0 0 1 23 9.54c0 5.684-3.627 7.28-6.077 7.778z" /> </svg> Gender split</h4><!-- Value --> <p data-testid="clip-recorded-hour" class="DataItemValue--G3soc"><span>♀{{ meaningfulNumber(language.speakersFemales) }}</span> <span>{{ language.speakersOthers?meaningfulNumber(language.speakersOthers,'shorter'):'' }}</span> <span>{{ meaningfulNumber(language.speakersMales) }}♂</span></p> <div class="progress--Te4aM"><!-- SPAN TRIAL --> <div class="visually-hidden"> {{ percent(language.speakersFemales,language.speakers) }}% </div> <div class="progressBar--u2kfl progress-females" :style="{ width: percent(+language.speakersFemales,language.speakers)+'%'}"></div> <div class="visually-hidden"> {{ percent(language.speakersOthers,language.speakers) }}% </div> <div class="progressBar--u2kfl progress-others" :style="{ width: percent(language.speakersOthers,language.speakers)+'%', left: percent(+language.speakersFemales,language.speakers)+'%' }"></div> </div> </div><!-- DATA ITEM 3 --> <div class="DataItem--r5BlZ"> <h4 class="DataItemHeading--QFQyU"> <svg class="DataItemHeadingIcon--tW9fa" width="13" height="13" viewbox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M5.8 2.3h5.6a.4.4 0 1 0 0-.8H5.8a.4.4 0 1 0 0 .8ZM7.2 10.7H.4a.4.4 0 1 0 0 .8h6.8a.4.4 0 1 0 0-.8ZM.4 5.4H10a.4.4 0 1 0 0-.8H.4c-.2 0-.4.2-.4.4s.2.4.4.4ZM0 8c0 .2.2.4.4.4h12.2a.4.4 0 1 0 0-.8H.4c-.2 0-.4.2-.4.4ZM9.8 10.7H9a.4.4 0 1 0 0 .8h.7c.1.2.1.6-.1.8-.2.2-.2.4 0 .6l.2.1.3-.1c.6-.6.6-1.5 0-2.1l-.3-.1ZM12.3 10.7h-.9a.4.4 0 1 0 0 .8h.7c.2.2.2.6 0 .8-.2.2-.2.4 0 .6l.2.1.3-.1c.6-.6.5-1.5 0-2.1l-.3-.1ZM3.2 2.3H4a.4.4 0 1 0 0-.8h-.7a.7.7 0 0 1 .1-.8c.2-.2.2-.4 0-.6a.4.4 0 0 0-.5 0c-.6.6-.6 1.5 0 2.1l.3.1ZM.7 2.3h.9a.4.4 0 1 0 0-.8H.9a.7.7 0 0 1 0-.8c.2-.2.2-.4 0-.6a.4.4 0 0 0-.5 0C0 .7 0 1.6.4 2.2l.3.1Z"> </path> </svg>Unique words vs recordings ratio</h4><!-- Value --> <p data-testid="clip-recorded-hour" class="DataItemValue--G3soc"><span>{{ meaningfulNumber(language.words) }}</span> <span>{{ meaningfulNumber(language.records) }}</span></p> <div class="progress--Te4aM"><!-- DIV TRIAL --> <div class="visually-hidden"> {{ percent(language.words,language.records) }}% </div> <div class="progressBar--u2kfl progress-words" :style="{ width: percent(language.words,language.records)+'%'}"></div> </div> </div><!-- DATA ITEM 4 --> <div class="DataItem--r5BlZ"><!-- SVG & Dimension --> <h4 class="DataItemHeading--QFQyU"> <svg class="DataItemHeadingIcon--tW9fa" width="13" height="13" viewbox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M6.904 1.386c0-.517-.775-.517-.775 0V6.48c0 .103.041.193.112.266l3.685 3.785c.186.236.381.15.541 0a.378.378 0 0 0 0-.54L6.894 6.323z" /> <path d="M12.267 6.104A5.79 5.79 0 0 0 6.883.72c-.337-.01-.466-.004-.775.01A5.762 5.762 0 0 0 .735 6.104a5.06 5.06 0 0 0 0 .776c.194 3.008 2.702 5.404 5.76 5.404 3.06 0 5.568-2.396 5.761-5.404.032-.363.027-.5.011-.776zM1.49 6.493c0-2.763 2.244-5.027 5.007-5.027a5.026 5.026 0 0 1 5.016 5.017A5.027 5.027 0 0 1 6.5 11.5a5.014 5.014 0 0 1-5.01-5.008z" /> </svg> Recordings gender split</h4><!-- Value --> <p data-testid="clip-recorded-hour" class="DataItemValue--G3soc"><span>{{ meaningfulNumber(language.recordsFemale,"short",0) }}</span> <span>{{ meaningfulNumber(language.recordsOthers,"shorter",'') }}</span> <span>{{ meaningfulNumber(language.recordsMale,"short",0) }}</span></p> <div class="progress--Te4aM"> <div class="visually-hidden"> {{ percent(language.recordsFemale,language.records) || 0 }}% </div> <div class="progressBar--u2kfl progress-females" :style="{ width: percent(language.recordsFemale,language.records) +'%'}"></div> <div class="progressBar--u2kfl progress-others" :style="{ width: percent(language.recordsOthers,language.records)+'%', left: percent(language.recordsFemale,language.records)+'%' }"></div> </div> </div> </div> </div> <div class="LanguageCardFooter" style="display: flex;"><a class="cta--IQ7M2" href="https://lingualibre-org.translate.goog/wiki/Special:RecordWizard?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" style="display:inline-block;width:50%;">Contribute</a> <a class="cta--IQ7M2" :href="datasetUrl(language)" style="display:inline-block;width:auto;">Download</a> </div> </div> </div> </section> </div> <div class="footer"> <div class="page-text-content"> <p>Data from LinguaLibre.org, SPARQL2DATA by Yug &amp; Elfix, Webpage forked from <a class="link" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://commonvoice.mozilla.org/en/languages">Common Voice</a> (<a class="link" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/common-voice/common-voice/blob/main/LICENSE">MPL 2.0</a>). VueJS single page adaptations by Yug (MPL). This is an open source project <a class="link" href="https://translate.google.com/website?sl=auto&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/hugolpz/LanguagesGallery">you can contribute</a> using simple HTML, CSS and JS.</p> </div> </div> </div> </div> </main> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> // https://codepen.io/jcesar020/pen/wpbKoK?editors=1111 // https://cdnjs.cloudflare.com/ajax/libs/axios/0.17.1/axios.min.js // https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.js /* ************************************************** */ /* DATA ********************************************* */ var data = [ { "code": "epo", "iso": "epo", "isoLabel": "Esperanto", "itemLabel": "Esperanto", "language": "Q25", "languageLabel": "Esperanto", "languageLabelNative": "Esperanto", "languageLabelsCount": "1", "percent": "85.7", "population": "2000000", "populationQualifier": "1-10M", "records": "33842", "speakers": "18", "speakersFemales": "0", "speakersMales": "17", "speakersOthers": "1", "wiki": "eo", "wikidata": "Q143", "words": "28993" }, { "code": "eng", "iso": "eng", "isoLabel": "English", "itemLabel": "English", "language": "Q22", "languageLabel": "English", "languageLabelNative": "English", "languageLabelsCount": "1", "percent": "88.2", "population": "753359540", "populationQualifier": ">100M", "records": "30745", "recordsFemale": "1995", "recordsMale": "26060", "speakers": "103", "speakersFemales": "22", "speakersMales": "73", "speakersOthers": "8", "wiki": "en", "wikidata": "Q1860", "words": "27132" }, { "code": "ukr", "iso": "ukr", "isoLabel": "українська мова", "itemLabel": "Ukrainian", "language": "Q43", "languageLabel": "Ukrainian", "languageLabelNative": "українська мова", "languageLabelsCount": "1", "percent": "99.3", "population": "27300000", "populationQualifier": "10-100M", "records": "26280", "recordsFemale": "7125", "recordsMale": "19155", "speakers": "10", "speakersFemales": "3", "speakersMales": "7", "speakersOthers": "0", "wiki": "uk", "wikidata": "Q8798", "words": "26087" }, ]; /* ************************************************** */ /* VUEJS ******************************************** */ var app=new Vue({ el: "#main", data: function() { return { languages: data, thresholds: [20000, 3000, 300, 50, 0], search: '', urlParams: new URLSearchParams(window.location.search), } }, methods: { meaningfulNumber: function(num,suffixType='short',zero=null) { var na,k,M; // pretty suffixes suffixType=='shorter' || suffixType == 'short'?(na='n.a.',k='k', M='M') :suffixType == 'long'?(na='Undocumented',k=' thousands', M=' millions') :(na='',k=',000',M =',000,000'); if(zero){na = zero} // pretty numbers var numStr = num == undefined ? ''+na : num == 0? 0 : num < 1000? num : num < 10000 && !suffixType=='shorter'? num : num < 100000? (Math.round(num / 100)/10) +k : num < 1000000? (Math.round(num / 1000)) +k : num < 20000000? (Math.round(num / 100000)/10) +M : num < 200000000? (Math.round(num / 1000000)) +M :(Math.round(num / 10000000)*10) +M; return numStr; }, percent : function(num,all) { return Math.round(100*num/all*10)/10; }, datasetUrl: function(item) { return 'https://lingualibre.org/datasets/'+[item.language.split("/").pop(),item.iso,item.languageLabel].join('-')+'.zip'; }, async fetchUrlParams() {; this.search = this.urlParams.get('search')||''; this.enlighten = this.urlParams.get('enlighten')||''; }, // Not used: getData: function(){ var url = 'https://jsonplaceholder.typicode.com/data'; axios.get(url).then(response =>{ this.lists = response.data }); }, }, computed: { filteredLanguages: function(){ var self=this; var filterItems= function(item){ console.log(item) var matchEnglish = item.languageLabel?item.languageLabel.toLowerCase().indexOf(self.search.toLowerCase())>=0 : false; var matchNative = item.languageLabelNative?item.languageLabelNative.toLowerCase().indexOf(self.search.toLowerCase())>=0 : false; return match = matchEnglish || matchNative ; } return this.languages.filter(filterItems); //return this.language; } }, mounted() { this.fetchUrlParams(); fetch('https://lingualibre.org/Sparql2Data/data/languages-gallery.json') .then(response => response.json()) .then(data => { this.languages = data; }) .catch(error => { console.error('Error fetching data:', error); }); } }); </script> <script>function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('en', 'en', function () {});}</script> <script src="https://translate.google.com/translate_a/element.js?cb=gtElInit&amp;hl=en-GB&amp;client=wt" type="text/javascript"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10