likebutter.app/README.md
luxferre 7ac5129cee feat: readme update
Added additional Docusaurus i18n command.

Put all localization commands within code blocks.

Removed autogen Docusaurus readme.
2026-05-01 13:04:01 +01:00

61 lines
2.2 KiB
Markdown

# 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/<locale>/code.json
- navbar: i18n/<locale>/docusaurus-theme-classic/navbar.json
- footer: i18n/<locale>/docusaurus-theme-classic/footer.json
- localization markdown docs: i18n/<locale>/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