зеркало из https://github.com/github/docs.git
67 строки
1.5 KiB
JavaScript
67 строки
1.5 KiB
JavaScript
// see also languages-schema.js
|
|
|
|
const languages = {
|
|
en: {
|
|
name: 'English',
|
|
code: 'en',
|
|
hreflang: 'en',
|
|
dir: '',
|
|
wip: false,
|
|
},
|
|
cn: {
|
|
name: 'Simplified Chinese',
|
|
nativeName: '简体中文',
|
|
code: 'cn',
|
|
hreflang: 'zh-Hans',
|
|
redirectPatterns: [/^\/zh-\w{2}/, /^\/zh/],
|
|
dir: 'translations/zh-CN',
|
|
wip: false,
|
|
},
|
|
ja: {
|
|
name: 'Japanese',
|
|
nativeName: '日本語',
|
|
code: 'ja',
|
|
hreflang: 'ja',
|
|
redirectPatterns: [/^\/jp/],
|
|
dir: 'translations/ja-JP',
|
|
wip: false,
|
|
},
|
|
es: {
|
|
name: 'Spanish',
|
|
nativeName: 'Español',
|
|
code: 'es',
|
|
hreflang: 'es',
|
|
dir: 'translations/es-ES',
|
|
wip: false,
|
|
},
|
|
pt: {
|
|
name: 'Portuguese',
|
|
nativeName: 'Português do Brasil',
|
|
code: 'pt',
|
|
hreflang: 'pt',
|
|
dir: 'translations/pt-BR',
|
|
wip: false,
|
|
},
|
|
}
|
|
|
|
if (process.env.ENABLED_LANGUAGES) {
|
|
Object.keys(languages).forEach((code) => {
|
|
if (!process.env.ENABLED_LANGUAGES.includes(code)) delete languages[code]
|
|
})
|
|
console.log(`ENABLED_LANGUAGES: ${process.env.ENABLED_LANGUAGES}`)
|
|
}
|
|
|
|
export const languageKeys = Object.keys(languages)
|
|
|
|
export const languagePrefixPathRegex = new RegExp(`^/(${languageKeys.join('|')})(/|$)`)
|
|
|
|
/** Return true if the URL is something like /en/foo or /ja but return false
|
|
* if it's something like /foo or /foo/bar or /fr (because French (fr)
|
|
* is currently not an active language)
|
|
*/
|
|
export function pathLanguagePrefixed(path) {
|
|
return languagePrefixPathRegex.test(path)
|
|
}
|
|
|
|
export default languages
|