45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
|
import { __ } from 'i18n'
|
||
|
|
||
|
/**
|
||
|
* Returns the current language code.
|
||
|
* This is the code that correspond to the path for localized documentation
|
||
|
* (in other words: 'fr', not 'fr-FR').
|
||
|
* This is the 'ConverseJS version' of the same function in `client/utils/help`.
|
||
|
* @returns language code
|
||
|
*/
|
||
|
function getLangCode () {
|
||
|
// See the build-languages.js script for more information about this trick.
|
||
|
const s = __('_livechat_language')
|
||
|
if (s === '_livechat_language') {
|
||
|
return 'en'
|
||
|
}
|
||
|
return s
|
||
|
}
|
||
|
|
||
|
function helpUrl (options) {
|
||
|
let url = 'https://livingston.frama.io/peertube-plugin-livechat/'
|
||
|
if (options.lang && /^[a-zA-Z_-]+$/.test(options.lang)) {
|
||
|
url = url + options.lang + '/'
|
||
|
}
|
||
|
if (options.page && /^[\w/-]+$/.test(options.page)) {
|
||
|
url = url + options.page + '/'
|
||
|
}
|
||
|
return url
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns the url of the documentation, in the current user language.
|
||
|
* This is the 'ConverseJS version' of the same function in `client/utils/help`.
|
||
|
*/
|
||
|
function converseLocalizedHelpUrl (helpUrlOptions) {
|
||
|
const lang = getLangCode().toLowerCase() // lowercase is needed for zh-hans for example
|
||
|
if (lang === 'en') {
|
||
|
return helpUrl(helpUrlOptions)
|
||
|
}
|
||
|
return helpUrl(Object.assign({}, helpUrlOptions, { lang }))
|
||
|
}
|
||
|
|
||
|
export {
|
||
|
converseLocalizedHelpUrl
|
||
|
}
|