/** * Copyright (c) 2017-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const CWD = process.cwd(); const React = require('react'); const fs = require('fs'); const siteConfig = require(CWD + '/siteConfig.js'); const translation = require('../../server/translation.js'); const translate = require('../../server/translate.js').translate; const setLanguage = require('../../server/translate.js').setLanguage; const ENABLE_TRANSLATION = fs.existsSync(CWD + '/languages.js'); const ENABLE_VERSIONING = fs.existsSync(CWD + '/versions.json'); let versions; if (ENABLE_VERSIONING) { versions = require(CWD + '/versions.json'); } const readMetadata = require('../../server/readMetadata.js'); readMetadata.generateMetadataDocs(); const Metadata = require('../metadata.js'); // language dropdown nav item for when translations are enabled class LanguageDropDown extends React.Component { render() { const enabledLanguages = []; let currentLanguage = 'English'; setLanguage(this.props.language); let helpTranslateString = translate( 'Help Translate|recruit community translators for your project' ); // add all enabled languages to dropdown translation['languages'].map(lang => { if (lang.tag == this.props.language) { currentLanguage = lang.name; } if (lang.tag == this.props.language) { return; } enabledLanguages.push(
  • {lang.name}
  • ); }); // if no languages are enabled besides English, return null if (enabledLanguages.length < 1) { return null; } // add Crowdin project recruiting link if (siteConfig.translationRecruitingLink) { enabledLanguages.push(
  • {helpTranslateString}
  • ); } return (
  • {currentLanguage}
      {enabledLanguages}