← Back to the developers overview
Language pack
language-pack.json, translation catalogues and archive limits.
A language pack translates the storefront and the admin into a new language. It contains data only: JSON catalogues and a few images.
language-pack.json
catalogs/<namespace>.json # one file per namespace
assets/ # optional: json, png, jpg, jpeg, webp, gif language-pack.json contains exactly these fields:
- schema_version — 1; package_type — "language-pack".
- package_code — the package code, e.g. acme.language.pl (same rules as code).
- version — the package SemVer; catalog_version — X.Y.Z of the catalogues.
- locale — the language code, e.g. pl or pt-BR; language and native_name — the language name in English and natively (up to 120 characters).
- direction — ltr or rtl; publisher — up to 180 characters.
- laracart_compatibility — compatible Tobto.shop versions; must equal the “Compatibility” field of the submission.
- catalog_namespaces — list of namespaces (up to 200); the files in catalogs/ must match it exactly.
- ZIP up to 16 MB, 2 to 512 files, each up to 4 MB; language-pack.json up to 256 KB.
- Each catalogue is a non-empty JSON object of string values; keys look like checkout.total.label.
- No other files, links, hidden or case-insensitively duplicated paths.
For a language pack the publication JSON is language-pack.json plus package_checksum and signature. Code, version and compatibility in the form must match it.