{"_id":"560b63343bcbd80d0077d10a","__v":3,"version":{"_id":"55a6e72f8cc73e0d00096638","project":"55a6e72e8cc73e0d00096635","hasReference":false,"__v":29,"hasDoc":true,"createdAt":"2015-07-15T23:05:19.125Z","releaseDate":"2015-07-15T23:05:19.125Z","categories":["55a6e7308cc73e0d00096639","55b7ed07aea7c8190058badb","5604567c0c78b00d0039b191","5605e6f23a93940d002b3e4a","5605f2bba4574a0d00811365","5605f309a4574a0d00811366","5608e3b98aedf50d0004cf8f","5608e4318aedf50d0004cf90","5608e6b5a7cc2f0d00d9754d","5608e6d331beb60d001b6560","5608f879a7cc2f0d00d97580","560b097887b71d0d000d3bd9","560b13cbafa0990d00979545","560b5cbec341310d00de2a01","560b5cd0c341310d00de2a02","566a35b81e08750d00a0c49b","566a3e8503b4b20d00d02a4a","567889d307bf6a0d0083edc8","569c8b7c15bb390d00db6f9d","56b254dc65ddf50d0076ba8f","57a8ebc4cdeea20e001d2a63","57e48a4000c8680e00fae6e7","5808216773557d0f00a1e428","58105ad54a8aa50f00aa4cba","58105bf298aea40f00afa3ba","58105f548a4aed0f00d67536","581061b898aea40f00afa3be","584b3de7e5f3a42300df6ef7","596839a75965d400155bb750"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"project":"55a6e72e8cc73e0d00096635","category":{"_id":"560b5cd0c341310d00de2a02","project":"55a6e72e8cc73e0d00096635","version":"55a6e72f8cc73e0d00096638","__v":9,"pages":["560b629c3616ac17004f1ca3","560b63343bcbd80d0077d10a","560b637e5148ba0d009bd0d0","560b63c53616ac17004f1ca8","560b63dd5148ba0d009bd0d3","560b63f42d00ca0d00a1fdbf","560b64ee5148ba0d009bd0d5","5617054c7f74330d00dfd73c","561705cbbd70650d00977851"],"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-09-30T03:53:52.522Z","from_sync":false,"order":15,"slug":"internationalizationlocalization","title":"Internationalization/Localization"},"parentDoc":null,"user":"55a6caa022cfa321008e01d6","updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-09-30T04:21:08.314Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"[block:html]\n{\n  \"html\": \"Within each theme, a <span class=\\\"inline-code\\\">&lt;theme‑name&gt;/lang/</span> subdirectory is reserved for internationalization.  This <span class=\\\"inline-code\\\">.../lang/</span> subdirectory, plus its contained <span class=\\\"inline-code\\\">en.json</span> file (which contains English-language defaults), must be present in order for a Stencil theme to function.<br><br>\\n\\nYou can localize a theme by providing other appropriate <span class=\\\"inline-code\\\">.json</span> translation files in the <span class=\\\"inline-code\\\">.../lang/</span> subdirectory. <NOBR>One file</nobr> is required for each language that you want to support. (These can include non-U.S. versions of English, each with their own spellings.)<br><br>\\n\\nWithin these files, you would define key values corresponding to the text blocks in your theme's templates that you choose to <a href=\\\"/docs/invoking-translation-keys#Syntax\\\">abstract into translatable keys</a>.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"success\",\n  \"body\": \"If your theme is built on Stencil's Cornerstone base theme, your `.../lang/` subdirectory already contains a handful of `.json` translation files for other languages. These files are empty, except for one or two key/value pairs provided as examples. However, you can build out these files with additional key/value pairs, using [Edit Theme Files](https://support.bigcommerce.com/articles/Public/Editing-Stencil-Theme-Files/). This is a shortcut that bypasses Stencil CLI.\",\n  \"title\": \"Cornerstone Sample Translation Files\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"File Permissions Required\",\n  \"body\": \"Be sure to set permission `644` (`rw-r–r–`) on any new files that you add via Stencil CLI. Without these permissions, running your theme locally will fail with multiple error messages. Bundling your theme will also fail, blocking its upload to a store.\"\n}\n[/block]","excerpt":"","slug":"required-subdirectory","type":"basic","title":"Required Subdirectory"}

Required Subdirectory


[block:html] { "html": "Within each theme, a <span class=\"inline-code\">&lt;theme‑name&gt;/lang/</span> subdirectory is reserved for internationalization. This <span class=\"inline-code\">.../lang/</span> subdirectory, plus its contained <span class=\"inline-code\">en.json</span> file (which contains English-language defaults), must be present in order for a Stencil theme to function.<br><br>\n\nYou can localize a theme by providing other appropriate <span class=\"inline-code\">.json</span> translation files in the <span class=\"inline-code\">.../lang/</span> subdirectory. <NOBR>One file</nobr> is required for each language that you want to support. (These can include non-U.S. versions of English, each with their own spellings.)<br><br>\n\nWithin these files, you would define key values corresponding to the text blocks in your theme's templates that you choose to <a href=\"/docs/invoking-translation-keys#Syntax\">abstract into translatable keys</a>." } [/block] [block:callout] { "type": "success", "body": "If your theme is built on Stencil's Cornerstone base theme, your `.../lang/` subdirectory already contains a handful of `.json` translation files for other languages. These files are empty, except for one or two key/value pairs provided as examples. However, you can build out these files with additional key/value pairs, using [Edit Theme Files](https://support.bigcommerce.com/articles/Public/Editing-Stencil-Theme-Files/). This is a shortcut that bypasses Stencil CLI.", "title": "Cornerstone Sample Translation Files" } [/block] [block:callout] { "type": "warning", "title": "File Permissions Required", "body": "Be sure to set permission `644` (`rw-r–r–`) on any new files that you add via Stencil CLI. Without these permissions, running your theme locally will fail with multiple error messages. Bundling your theme will also fail, blocking its upload to a store." } [/block]