likebutter.app/README.md
2026-05-01 15:46:10 +01:00

2 KiB

ButterBox Website for 2026... and beyond!

Welcome to our new site, built on Docusaurus. This integrates our previous simple Jekyll site and our documentation work from Gitbook into a single site. It also provides a blog capability, and built-in capability for localization.

Localization

All localizations (currently en, es, ru and zh-Hans) are under the i18n/ folder structure

Key files for localization are:

  • English Markdown docs: docs/
  • homepage and general strings: i18n//code.json
  • navbar: i18n//docusaurus-theme-classic/navbar.json
  • footer: i18n//docusaurus-theme-classic/footer.json
  • localization markdown docs: i18n//docusaurus-plugin-content-docs/current/

Locale commands

To update translation key values: npm run write-translations -- --locale

To updated po4a consolidated .pot and .po files from English markdown files (with po4a tool installed): po4a po4a.conf --no-translations

To update localization markdown files from po4a consolidated .po files (with po4a tool installed): po4a po4a.conf --no-update

To run the site in a specific locale: npm run start -- --locale

To build the static site for all locales: npm run build

Localization mapping

Below is a rough mapping from the old Jekyll site i18n strings file fields into the new i18n/en/code.json file, for the main page.

  • home.subtitle2 = from the top-level title
  • home.whatisbutterbox = butter_box.device_image_caption
  • home.section1.title = butter_box.explanation_header
  • home.section1.description = butter_box.explanation
  • home.learnmore = butter_box.learn_more
  • home.getbutter.title = butter_box.get_your_own_header
  • home.getbutter.description = butter_box.get_your_own
  • home.getintouch = butter_box.contact_cta
  • home.makebutter.title = butter_box.make_your_own_header
  • home.makebutter.description = butter_box.make_your_own
  • home.getcode.title = butter_box.make_your_own_from_scratch
  • home.getsource.button = butter_box.repo_cta