Given that we are alright with using a build process for the style guide (T164246), we should consider using a static site generator. It will:
- Reduce repetition of markup - header, footer, parts of the sidebar
- Improve i18n support
- Remove the need to keep built files in the repo (we currently have just one btw)
Name | Language | i18n support | File format |
---|---|---|---|
Middleman | Ruby | Yes (falls back to the default language if there are no strings for the language it is looking for) | YAML or many others ...even wiki markup (o_0) |
Hexo | Node.js | Only for layout, not for source, which is not helpful to us (not sure about this, could someone test and update the task?). Couldn't get it to work though. | JSON or YAML |
Webpack build (html-loader, i18n-webpack-plugin) | Node.js | Yes (no fallbacks, I am guessing this does a simple replace) | JSON |
Pelican | Python | i18n for source (page content); may be able to translate UI via Jinja-templates+passed parameter | YAML/Markdown/reStructuredText |
Hugo | Go | Yes (uses go-18n) | Markdown and Org-mode |
Jekyll | Ruby | With plugins: polyglot or jekyll-multiple-languages-plugin - note: not with gh-pages | Markdown |
Gatsby | JavaScript | Yes. Content: with GraphQL query or with plugin. UI: jQuery.i18 bindings for React or any other React i18n plugin | Plugins for: Markdown, YAML, JSON, CSV, etc. |
It shouldn't be too hard to get these to work with http://translatewiki.net/.