Интернационализация

Конфигурация i18n на уровне сайта

Чтобы использовать многоязычную поддержку в VuePress, вам сначала необходимо использовать следующую структуру файлов:

docs
├─ README.md
├─ foo.md
├─ nested
│  └─ README.md
└─ ru
   ├─ README.md
   ├─ foo.md
   └─ nested
      └─ README.md

Затем, укажите опцию locales в файле .vuepress/config.js:

module.exports = {
  locales: {
    // Ключ — это путь вложенности для локализации.
    // Локализация по умолчанию может использовать '/' в качестве пути.
    '/': {
      lang: 'en-US', // это будет установлено атрибутом lang в теге <html>
      title: 'VuePress',
      description: 'Vue-powered Static Site Generator'
    },
    '/ru/': {
      lang: 'ru',
      title: 'VuePress',
      description: 'Генератор статических сайтов на Vue'
    }
  }
}

Если локализация не имеет title или description VuePress будет возвращаться к значениям корневого уровня. Вы можете опустить на корневом уровне title и description если они указаны в каждой локализации.

Конфигурация i18n темы по умолчанию

Тема по умолчанию также имеет встроенную поддержку i18n с помощью опции themeConfig.locales, используя аналогичный формат { path: config }. Каждая локализация должна иметь собственные опции nav и sidebar, в дополнение к нескольким другим текстовым значениям, используемым на сайте:

module.exports = {
  locales: { /* ... */ },
  themeConfig: {
    locales: {
      '/': {
        // текст для выпадающего списка доступных локализаций
        selectText: 'Languages',
        // текст для текущей локализации в выпадающем списке
        label: 'English',
        // текст для ссылок редактирования на github
        editLinkText: 'Edit this page on GitHub',
        // настройки поиска algolia для текущей локализации
        algolia: {},
        nav: [
          { text: 'Nested', link: '/nested/' }
        ],
        sidebar: {
          '/': [/* ... */],
          '/nested/': [/* ... */]
        }
      },
      '/ru/': {
        selectText: 'Languages',
        label: 'Русский',
        editLinkText: 'Изменить эту страницу на GitHub',
        nav: [
          { text: 'Вложенная страница', link: '/ru/nested/' }
        ],
        algolia: {},
        sidebar: {
          '/ru/': [/* ... */],
          '/ru/nested/': [/* ... */]
        }
      }
    }
  }
}
Последнее обновление: 2018-6-9 18:11:24