Added additional Docusaurus i18n command. Put all localization commands within code blocks. Removed autogen Docusaurus readme.
2.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 <locale>
By default, write-translate only appends new values. To also update existing values:
- Note this will overwrite all JSON stored translations to English.
docusaurus write-translations --locale <locale> --overrride
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 <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