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