<p>In my experience, the easiest and best to maintain way to do this is to use entries only. If you make that news index page an entry (e.g. structure or single section) it is as easy as entering your translated slug in that entry's CP.</p>

<p>Another advantage is that you can add fields to that entry (e.g. to edit the meta description or some copy), so this can make sense in many cases, not just for multilingual routing.</p>

CC BY-SA 3.0
2014-10-23T09:15:24.343Z
Ohh... and this works nicely with the [language switch I use](http://craftcms.stackexchange.com/a/882/125).
carlcs
CC BY-SA 3.0
2014-10-23T09:40:51.040Z
That's the only way I've got it to work properly too, I can see the benefits of using entries in this way (adding/editing fields) and it does no harm in this case, but it seems a bit cumbersome just to provide a translated url, especially considering how well all the other multilingual aspects of Craft work. I now have a single "news" and a channel "club news" to cover one area of the site.

If this is indeed the best way of tackling the problem it would be good if Craft could provide an "index" single automatically (or at least the option) to keep everything together.
Gogster
CC BY-SA 3.0
2014-10-23T09:58:03.633Z
In fact I'd recommend to not use a single but a structure section, containing entries not just for index pages but also other "single" pages.
carlcs
CC BY-SA 3.0
2014-10-23T10:02:41.997Z
@Gogster when I first encountered this "limitation" with translating slugs I too didn't like it. But now I don't see it as one any more, because I use a structure (with multiple entry types) anyways for the navigation and "single" cotent pages.
carlcs
CC BY-SA 3.0
2014-10-23T10:27:35.317Z
These Q/A might be of interest for you, if you start using this approach: ["Multi-lingual site navigation made of singles, channels and structure"](http://craftcms.stackexchange.com/a/885/125) and ["Add home page to a structure?"](http://craftcms.stackexchange.com/q/1467/125). Slightly different approach but also worth looking into: ["Would you use a Structure as navigation over multiple sections (channel entries, indexes and singles)?"](http://craftcms.stackexchange.com/q/1473/125).
carlcs
CC BY-SA 3.0
2014-10-23T08:52:00.467Z
2014-10-23T08:52:00.467Z
carlcs
<p>You can create <code>routes</code> in the CP in settings>routes and set the locale to which that route applies. For example in the settings window: </p>

<pre><code>If the URI looks like this: newyddion (with locale dropdown set to 'cy')
Load this template: news (or 'news/index.html')
</code></pre>

<p>For more information have a look at the <a href="http://buildwithcraft.com/docs/routing#dynamic-routes" rel="nofollow">dynamic routes documentation</a>.</p>

CC BY-SA 3.0
2014-10-23T07:34:24.263Z
Thanks for your reply. I'd already tried that too and it didn't work so after your reply I started suspecting that the routing wasn't working as it should. On testing though I found that I should be entering the uri without the locale so just 'newyddion' not 'cy/newyddion' as the latter was matching the url 'cy/cy/newyddion'. Cool, much better!
Gogster
CC BY-SA 3.0
2014-10-23T07:42:05.813Z
The only snag I have now is that my language switcher provides the url 'newyddion' as the translation of 'cy/newyddion' instead of 'news'
Gogster
CC BY-SA 3.0
2014-10-23T09:01:57.467Z
@Gogster I tried to solve this exact problem of translated routes some days ago, see my [answer in this Q/A](http://craftcms.stackexchange.com/a/3086/125). Not nice, but it did work! :)
carlcs
CC BY-SA 3.0
2014-10-23T13:44:17.773Z
I didn't know about not needing the cy. Makes sense. I have updated the answer, so as not to confuse others.
Douglas McDonald
CC BY-SA 3.0
2014-10-23T13:51:16.720Z
To be honest though, I think I prefer carlcs' answer better. Seems like a much more useful approach in general.
Douglas McDonald
CC BY-SA 3.0
2014-10-22T20:36:41.493Z
2014-10-23T13:42:11.267Z
2014-10-23T13:42:11.267Z
Douglas McDonald
<p>I'm working on a bilingual site (<code>en</code> and <code>cy</code>) and have a news channel with entry urls <code>news/{slug}</code> and the translated <code>cy/newyddion/{slug}</code>. Everything is working well with entries and if the url is accessed without the slug then a list of entries is displayed.</p>

<p>However, when accessing without the slug the translation of <code>news</code> is <code>cy/news</code> not <code>cy/newyddion</code> as required. If I attempt to access <code>cy/newyddion</code> I get a 404 not found error. I have tried different solutions such as adding files in <code>templates/cy/newyddion</code> but still get 404s.</p>

<p>The only way I've got it to work is by adding a new single section named <code>news</code> which has no content and loads the news index template and renaming the news section handle to avoid conflicts.</p>

<p>What I would like to know is if there is a better way of accomplishing this as it seems like a cumbersome way of doing it.</p>

<url><localization>
Is there a better way to localise channel url?
# Is there a better way to localise channel url?

(Asked by: username_0 on 2014-10-22)

I'm working on a bilingual site (`en` and `cy`) and have a news channel with entry urls `news/{slug}` and the translated `cy/newyddion/{slug}`. Everything is working well with entries and if the url is accessed without the slug then a list of entries is displayed.

However, when accessing without the slug the translation of `news` is `cy/news` not `cy/newyddion` as required. If I attempt to access `cy/newyddion` I get a 404 not found error. I have tried different solutions such as adding files in `templates/cy/newyddion` but still get 404s.

The only way I've got it to work is by adding a new single section named `news` which has no content and loads the news index template and renaming the news section handle to avoid conflicts.

What I would like to know is if there is a better way of accomplishing this as it seems like a cumbersome way of doing it.

**Tags:** url, localization


---

## 2 answers

### Answer by username_1 on 2014-10-23. Score: 3 | Accepted answer

In my experience, the easiest and best to maintain way to do this is to use entries only. If you make that news index page an entry (e.g. structure or single section) it is as easy as entering your translated slug in that entry's CP.

Another advantage is that you can add fields to that entry (e.g. to edit the meta description or some copy), so this can make sense in many cases, not just for multilingual routing.

> **Comments:**
> **username_1**: Ohh... and this works nicely with the [language switch I use](http://craftcms.stackexchange.com/a/882/125).  
> **username_0**: That's the only way I've got it to work properly too, I can see the benefits of using entries in this way (adding/editing fields) and it does no harm in this case, but it seems a bit cumbersome just to provide a translated url, especially considering how well all the other multilingual aspects of Craft work. I now have a single "news" and a channel "club news" to cover one area of the site.  If this is indeed the best way of tackling the problem it would be good if Craft could provide an "index" single automatically (or at least the option) to keep everything together.  
> **username_1**: In fact I'd recommend to not use a single but a structure section, containing entries not just for index pages but also other "single" pages.  
> **username_1**: @username_0 when I first encountered this "limitation" with translating slugs I too didn't like it. But now I don't see it as one any more, because I use a structure (with multiple entry types) anyways for the navigation and "single" cotent pages.  
> **username_1**: These Q/A might be of interest for you, if you start using this approach: ["Multi-lingual site navigation made of singles, channels and structure"](http://craftcms.stackexchange.com/a/885/125) and ["Add home page to a structure?"](http://craftcms.stackexchange.com/q/1467/125). Slightly different approach but also worth looking into: ["Would you use a Structure as navigation over multiple sections (channel entries, indexes and singles)?"](http://craftcms.stackexchange.com/q/1473/125).  

---

### Answer by username_2 on 2014-10-22. Score: 1

You can create routes in the CP in settings>routes and set the locale to which that route applies. For example in the settings window: 
If the URI looks like this: newyddion (with locale dropdown set to 'cy')
Load this template: news (or 'news/index.html')

For more information have a look at the dynamic routes documentation.

> **Comments:**
> **username_0**: Thanks for your reply. I'd already tried that too and it didn't work so after your reply I started suspecting that the routing wasn't working as it should. On testing though I found that I should be entering the uri without the locale so just 'newyddion' not 'cy/newyddion' as the latter was matching the url 'cy/cy/newyddion'. Cool, much better!  
> **username_0**: The only snag I have now is that my language switcher provides the url 'newyddion' as the translation of 'cy/newyddion' instead of 'news'  
> **username_1**: @username_0 I tried to solve this exact problem of translated routes some days ago, see my [answer in this Q/A](http://craftcms.stackexchange.com/a/3086/125). Not nice, but it did work! :)  
> **username_2**: I didn't know about not needing the cy. Makes sense. I have updated the answer, so as not to confuse others.  
> **username_2**: To be honest though, I think I prefer username_1' answer better. Seems like a much more useful approach in general.  

---

