(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{518:function(t,e,s){t.exports=s.p+"assets/img/locales.32318a35.png"},519:function(t,e,s){t.exports=s.p+"assets/img/section-locales.d4bb547a.png"},520:function(t,e){t.exports="data:image/png;base64,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"},521:function(t,e){t.exports="data:image/png;base64,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"},980:function(t,e,s){"use strict";s.r(e);var a=s(5),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("pre-heading"),t._v(" "),a("h1",[t._v("Setting Up a Localized Site")]),t._v(" "),a("post-heading"),t._v(" "),a("p",[t._v("This guide will walk you through all of the steps that are typically involved in setting up a localized site, using Craft’s deep localization features.")]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",[t._v("This guide requires Craft Pro. You can try Craft Pro before buying it by "),a("a",{attrs:{href:"https://craftcms.com/support/try-craft-client-pro",target:"_blank",rel:"noopener noreferrer"}},[t._v("running Craft from any non-public domain"),a("OutboundLink")],1),t._v(".")])]),t._v(" "),a("h2",{attrs:{id:"step-1-define-your-locales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-1-define-your-locales"}},[t._v("#")]),t._v(" Step 1: Define your locales")]),t._v(" "),a("p",[t._v("The first step to running a localized site is to establish which locales your site will be targeting. You do that from Settings → Locales.")]),t._v(" "),a("p",[a("img",{attrs:{src:s(518),alt:"Locales"}})]),t._v(" "),a("p",[t._v("When you add a new locale, you may notice that a little progress bar shows up in the control panel’s header. That’s because Craft has to go through and re-save all of your site’s existing content, accounting for the new locale. Don’t delete any locales while that is running – it may result in unintended data loss.")]),t._v(" "),a("h2",{attrs:{id:"step-2-update-your-sections"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-2-update-your-sections"}},[t._v("#")]),t._v(" Step 2: Update your sections")]),t._v(" "),a("p",[t._v("Each "),a("RouterLink",{attrs:{to:"/2.x/sections-and-entries.html"}},[t._v("section")]),t._v(" can be enabled/disabled for each locale. Sections are always disabled for new locales by default, so after you’ve added a new locale, you will need to go into your sections’ settings to enable it.")],1),t._v(" "),a("p",[t._v("You will also be able to choose whether entries in the section should be enabled by default for each locale.")]),t._v(" "),a("p",[a("img",{attrs:{src:s(519),alt:"Section Locales"}})]),t._v(" "),a("p",[t._v("If your section is set to give its entries their own URLs, you will also need to give your new locale its own Entry URL Format. Generally this is just a matter of copy/pasting the original locale’s Entry URL Format into the new one, but if you want them to be different for some reason (e.g. it needs to be translated), this is your chance.")]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",[t._v("Do not give your localized Entry URL Formats a locale prefix (e.g. "),a("code",{pre:!0},[t._v("de/")]),t._v("). That’s a job for your Site URL.")])]),t._v(" "),a("h2",{attrs:{id:"step-3-define-your-translatable-fields"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-3-define-your-translatable-fields"}},[t._v("#")]),t._v(" Step 3: Define your translatable fields")]),t._v(" "),a("p",[t._v("By default, your custom fields will "),a("strong",[t._v("not")]),t._v(" store values on a per-locale basis. When you save an entry in English, all of its custom field values will get copied over to the German version of the entry. (That this is not the case of the Title and Slug fields – those values are always stored on a per-locale basis.)")]),t._v(" "),a("p",[t._v("If you have any fields whose values you’d like to store on a per-locale basis, you need to go into their settings and check their “This field is translatable” checkboxes.")]),t._v(" "),a("p",[a("img",{attrs:{src:s(520),alt:"Field Translatable Setting"}})]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",[t._v("When you mark a relational field (Entries, Assets, Users, Categories, or Tags) as translatable, the actual elements you select will be chosen on a per-locale basis. So a translatable Entries field, for example, could have two sets of related entries – one for English, and one for German.")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",[t._v("When you mark a Matrix field as translatable, all of the blocks will be defined on a per-locale basis. When a Matrix field "),a("em",[t._v("isn’t")]),t._v(" translatable, you can set its individual block type fields as translatable instead, so the "),a("em",[t._v("contents")]),t._v(" of the blocks can be translatable.")])]),t._v(" "),a("h2",{attrs:{id:"step-4-define-your-site-urls"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-4-define-your-site-urls"}},[t._v("#")]),t._v(" Step 4: Define your site URLs")]),t._v(" "),a("p",[t._v("You can set Craft’s Site URL setting on a per-locale basis via the "),a("RouterLink",{attrs:{to:"/2.x/config-settings.html#siteurl"}},[t._v("siteUrl")]),t._v(" config setting. So open up "),a("code",{pre:!0},[t._v("craft/config/general.php")]),t._v(" and add that setting to the array:")],1),t._v(" "),a("div",{staticClass:"language-php extra-class"},[a("pre",{pre:!0,attrs:{class:"language-php"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("array")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'siteUrl'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("array")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'en'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'http://my-project.com/en/'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'de'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'http://my-project.com/de/'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("If you have a "),a("RouterLink",{attrs:{to:"/2.x/multi-environment-configs.html"}},[t._v("multi-environment config")]),t._v(" you can define a separate "),a("code",{pre:!0},[t._v("siteUrl")]),t._v(" setting for each environment:")],1),t._v(" "),a("div",{staticClass:"language-php extra-class"},[a("pre",{pre:!0,attrs:{class:"language-php"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("array")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'*'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("array")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'my-project.test'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("array")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'siteUrl'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("array")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'en'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'http://my-project.test/en/'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'de'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'http://my-project.test/de/'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'my-project.com'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("array")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'siteUrl'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("array")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'en'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'http://my-project.com/en/'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'de'")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'http://my-project.com/de/'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("You can choose whatever URL format you want here. If you’d prefer that each locale gets its own domain name, that’s fine, as long as they both point to the same server.")]),t._v(" "),a("h2",{attrs:{id:"step-5-set-up-the-files"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-5-set-up-the-files"}},[t._v("#")]),t._v(" Step 5: Set up the files")]),t._v(" "),a("p",[t._v("Each of your localized Site URLs should point to folders on your server with their own index.php and .htaccess files (copied from the "),a("code",{pre:!0},[t._v("public/")]),t._v(" folder in Craft’s zip).")]),t._v(" "),a("p",[t._v("Here are some examples of what that might look like. Note that your actual web root will not necessarily be called "),a("code",{pre:!0},[t._v("public_html")]),t._v(" – contact your web host if you are unsure what it is.")]),t._v(" "),a("ul",[a("li",[a("p",[a("strong",[t._v("Example 1")]),t._v(": "),a("code",{pre:!0},[t._v("en/")]),t._v(" and "),a("code",{pre:!0},[t._v("de/")]),t._v(" subfolders on the same domain:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",[a("code",[t._v(" craft/\n public_html/\n en/ --\x3e my-project.com/en/\n .htaccess\n index.php\n de/ --\x3e my-project.com/de/\n .htaccess\n index.php\n")])])])]),t._v(" "),a("li",[a("p",[a("strong",[t._v("Example 2")]),t._v(": English at the top level; German from a "),a("code",{pre:!0},[t._v("de/")]),t._v(" subfolder:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",[a("code",[t._v(" craft/\n public_html/ --\x3e my-project.com/\n .htaccess\n index.php\n de/ --\x3e my-project.com/de/\n .htaccess\n index.php\n")])])])]),t._v(" "),a("li",[a("p",[a("strong",[t._v("Example 3")]),t._v(": English and German each get their own domain:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",[a("code",[t._v(" craft/\n public_html/ --\x3e my-project.com/\n .htaccess\n index.php\n public_de/ --\x3e my-project.de/\n .htaccess\n index.php\n")])])])])]),t._v(" "),a("p",[t._v("Finally, you will need to open up each of those "),a("code",{pre:!0},[t._v("index.php")]),t._v(" files and make the following changes to them:")]),t._v(" "),a("ol",[a("li",[t._v("Make sure that the "),a("code",{pre:!0},[t._v("$craftPath")]),t._v(" variable is set correctly. (By default it’s set to "),a("code",{pre:!0},[t._v("'../craft'")]),t._v(", which assumes that "),a("code",{pre:!0},[t._v("index.php")]),t._v(" is only one level away from the "),a("code",{pre:!0},[t._v("craft/")]),t._v(" folder. This may not be the case anymore.)")]),t._v(" "),a("li",[t._v("Set the "),a("RouterLink",{attrs:{to:"/2.x/php-constants.html#craft-locale"}},[t._v("CRAFT_LOCALE")]),t._v(" PHP constant, which tells Craft which locale’s content it should serve from this location.")],1)]),t._v(" "),a("p",[t._v("Here’s what your file might look like:")]),t._v(" "),a("div",{staticClass:"language-php extra-class"},[a("pre",{pre:!0,attrs:{class:"language-php"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Path to your craft/ folder")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$craftPath")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'../../craft'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Tell Craft to serve the German content")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("define")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'CRAFT_LOCALE'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[t._v("'de'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Do not edit below this line")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// ...")]),t._v("\n")])])]),a("h2",{attrs:{id:"step-6-check-your-asset-source-settings"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-6-check-your-asset-source-settings"}},[t._v("#")]),t._v(" Step 6: Check your asset source settings")]),t._v(" "),a("p",[t._v("If you have any local asset sources, you will need to make sure those assets are available from each of your locales’ sites.")]),t._v(" "),a("ul",[a("li",[t._v("The "),a("strong",[t._v("File System Path")]),t._v(" settings should be absolute ("),a("code",{pre:!0},[t._v("/path/to/my-project/public/images/")]),t._v(").")]),t._v(" "),a("li",[t._v("The "),a("strong",[t._v("URL")]),t._v(" settings should be absolute ("),a("code",{pre:!0},[t._v("http://my-project.tld/images/")]),t._v(") or protocol-relative ("),a("code",{pre:!0},[t._v("//my-project.tld/images/")]),t._v("). If each of your locales’ sites are going to exist on the same domain (and subdomain), root-relative will work, too ("),a("code",{pre:!0},[t._v("/images/")]),t._v(").")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",[t._v("If these settings are going to need to change between environments, you can use "),a("RouterLink",{attrs:{to:"/2.x/multi-environment-configs.html#environment-specific-variables"}},[t._v("environment variables")]),t._v(" to define the parts that will change on a per-environment basis.")],1)]),t._v(" "),a("h2",{attrs:{id:"step-7-update-your-templates"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-7-update-your-templates"}},[t._v("#")]),t._v(" Step 7: Update your templates")]),t._v(" "),a("p",[t._v("If you have any templates that you only want to serve from a specific locale, you can create a new subfolder in your "),a("code",{pre:!0},[t._v("craft/templates/")]),t._v(" folder, named after your locale’s handle, and place locale override templates in there.")]),t._v(" "),a("p",[t._v("For example, if you wanted to give your German site its own homepage template, you might set your "),a("code",{pre:!0},[t._v("craft/templates/")]),t._v(" folder up like this:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",[a("code",[t._v("templates/\n index.html --\x3e default homepage template\n de/\n index.html --\x3e German homepage template\n")])])]),a("p",[t._v("Each template is aware of the current locale via the "),a("code",{pre:!0},[t._v("craft.locale")]),t._v(" variable, which can be used to toggle specific parts of your templates, depending on the locale:")]),t._v(" "),a("div",{staticClass:"language-twig extra-class"},[a("pre",{pre:!0,attrs:{class:"language-twig"}},[a("code",[a("span",{pre:!0,attrs:{class:"token twig language-twig"}},[a("span",{pre:!0,attrs:{class:"token delimiter punctuation"}},[t._v("{%")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token tag-name keyword"}},[t._v("if")]),t._v(" craft"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("locale "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("'")]),t._v("de"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("'")])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token delimiter punctuation"}},[t._v("%}")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Congrats on the big win!"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token twig language-twig"}},[a("span",{pre:!0,attrs:{class:"token delimiter punctuation"}},[t._v("{%")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token tag-name keyword"}},[t._v("endif")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token delimiter punctuation"}},[t._v("%}")])]),t._v("\n")])])]),a("p",[t._v("You will also probably want to take advantage of Craft’s "),a("a",{attrs:{href:"https://craftcms.com/support/static-translations",target:"_blank",rel:"noopener noreferrer"}},[t._v("static translation"),a("OutboundLink")],1),t._v(" support, for various strings throughout your templates.")]),t._v(" "),a("div",{staticClass:"language-twig extra-class"},[a("pre",{pre:!0,attrs:{class:"language-twig"}},[a("code",[a("span",{pre:!0,attrs:{class:"token twig language-twig"}},[a("span",{pre:!0,attrs:{class:"token delimiter punctuation"}},[t._v("{{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Welcome!"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v("t "),a("span",{pre:!0,attrs:{class:"token delimiter punctuation"}},[t._v("}}")])]),t._v("\n")])])]),a("h2",{attrs:{id:"step-8-give-your-authors-access-to-the-locales"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-8-give-your-authors-access-to-the-locales"}},[t._v("#")]),t._v(" Step 8: Give your authors access to the locales")]),t._v(" "),a("p",[t._v("As soon as you add a second locale to your site, Craft will start checking for locale permissions whenever users try to edit content. By default, no users or groups have access to any locales, so you need to go assign them.")]),t._v(" "),a("p",[t._v("When you edit a user group or a user account, you will find a new “Locales” permissions section, which lists all of your site’s locales. Assign them where appropriate.")]),t._v(" "),a("p",[a("img",{attrs:{src:s(521),alt:"Locale Permissions"}})])],1)}),[],!1,null,null,null);e.default=n.exports}}]);