|
Some checks failed
ci / build_and_publish (push) Has been cancelled
Currently translated at 78.4% (393 of 501 strings) Translation: Butter/likebutter.app po4a Translate-URL: https://hosted.weblate.org/projects/butter/likebutter-app-po4a/es/ |
||
|---|---|---|
| .forgejo/workflows | ||
| blog | ||
| contentpack | ||
| docs | ||
| i18n | ||
| po4a | ||
| src | ||
| static | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| docusaurus.config.ts | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| po4a.conf | ||
| README.md | ||
| sidebars.ts | ||
| tsconfig.json | ||
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