# Removing the concept of "slugs" for some languages

**URL:** <https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643>\
**Category:** Feature\
**Created:** [2015年三月23日 00:36 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643 "2015-03-23T00:36:35Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2015年三月22日 23:26 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/1 "2015-03-22T23:26:44Z")

</div>

Discourse is trying to shoehorn the concept of “pretty slugs” to non ascii char set based languages. It may be acceptable to do this transliteration in Norwegen or Turkish, but stuff gets really weird when you do it in Korean or Chinese or Arabic.

When you look at alexa top 100 for say Egypt or China or any non-latin alphabet you never see this concept of a “slug” which is attempting to convert your alphabet to English. It is offensive and comical.

Our default behavior, which is to “only keep English” is even more offensive. Even in India there is no such practice. (though there is this very creative practice in some places [http://videos.jagran.com/news-pm-modi-defends-land-bill-says-it-is-aimed-at-welfare-of-farmers-in-mann-ki-baat-v8323.html](http://videos.jagran.com/news-pm-modi-defends-land-bill-says-it-is-aimed-at-welfare-of-farmers-in-mann-ki-baat-v8323.html) )

I am willing to bet big bucks that this issue would never have been raised repeatadly if the URL was `site.com/t/42`, most non-ascii languages are used to this anyway 99% of the time.

Personally I think going forward we should allow site operators 3 options

1. English slugs (default for latin based languages)
2. Percent encoded slugs (for full unicode support)
3. No slugs (default for non latin based languages)

I also think we should junk StringEx, I think it just does not fit in correctly with the philosophy of slugs and simply looks buggy, if people want to turn their language into an English farce, so be it, but do that in a plugin.

See also:

> [@Disabling English slugfier for topic's URL in Korean language setting](https://meta.discourse.org/t/disabling-english-slugfier-for-topics-url-in-korean-language-setting/23780):
>
> Continuing the discussion from [Making Non-English Category URL Understandable. Not like /c/13-category](https://meta.discourse.org/t/making-non-english-category-url-understandable-not-like-c-13-category/22206/15): @sam Would you disable English slugfier for topic title totally in Korean language setting? (Better to disable for category URLs by default also, but cat URLs can be changed manually.) For now, if I make a topic with Korean: "안녕하세요 여러분" → then it will be made with URL /t/topic/192. It’s OK. But if I make a topic with Korean + English: "Interstellar 주인공 이름이 뭐죠?" → then it will be made with…

cc @fantasticfears@winterbox@amitfrid@eyalev

---

<div class="post-metadata">

**Author:** ![fantasticfears](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fantasticfears/32/119608_2.png) [@fantasticfears](https://meta.discourse.org/u/fantasticfears)\
**Post date:** [2015年三月23日 05:06 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/4 "2015-03-23T05:06:01Z")

</div>

All sounds reasonable to me.

There is only a exception that category slug can be customized by admin anyway.

Beyond that, some serializer generates slug, user\_action, notification. This is weird.

---

<div class="post-metadata">

**Author:** ![Qasem\_h](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/qasem_h/32/155935_2.png) [@Qasem\_h](https://meta.discourse.org/u/Qasem_h)\
**Post date:** [2015年四月7日 15:30 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/5 "2015-04-07T15:30:45Z")

</div>

when this feature will be available for use?

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2015年四月7日 23:55 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/6 "2015-04-07T23:55:47Z")

</div>

When implemented 🙂 I think we are fine on the above specification, if you feel like submitting a PR for it I can merge it in.

---

<div class="post-metadata">

**Author:** ![Qasem\_h](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/qasem_h/32/155935_2.png) [@Qasem\_h](https://meta.discourse.org/u/Qasem_h)\
**Post date:** [2015年四月8日 13:10 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/7 "2015-04-08T13:10:18Z")

</div>

I cant submit PR I think @zogstrip can be fix it  
We need Persian Slugs  
Please tell us a solution

---

<div class="post-metadata">

**Author:** ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)\
**Post date:** [2015年四月8日 15:36 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/8 "2015-04-08T15:36:45Z")

</div>

> [@Qasem\_h](#):
>
> Please tell us a solution

He did

> [@sam](#):
>
> submitting a PR for it I can merge it in.

> [@Qasem\_h](#):
>
> I cant submit PR

What problems are you having with GitHub?

---

<div class="post-metadata">

**Author:** ![Qasem\_h](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/qasem_h/32/155935_2.png) [@Qasem\_h](https://meta.discourse.org/u/Qasem_h)\
**Post date:** [2015年四月8日 15:48 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/9 "2015-04-08T15:48:25Z")

</div>

[quote=“Mittineague, post:8, topic:26643”]  
What problems are you having with GitHub?  
[/quote] how i can ? send pull request for slogs ?

---

<div class="post-metadata">

**Author:** ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)\
**Post date:** [2015年四月8日 16:21 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/10 "2015-04-08T16:21:48Z")

</div>

Hopefully these will help

> **[Creating a pull request - GitHub Docs](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)**
>
> Create a pull request to propose and collaborate on changes to a repository. These changes are proposed in a branch, which ensures that the default branch only contains finished and approved work.

> **[About pull requests - GitHub Docs](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)**
>
> Pull requests let you propose, review, and merge code changes.

---

<div class="post-metadata">

**Author:** ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)\
**Post date:** [2015年四月8日 16:47 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/11 "2015-04-08T16:47:34Z")

</div>

Probably not, as I’d venture to guess he has zero to little programming knowledge. Discourse is getting a lot more CM (Community Manager) attraction now and a lot of those who are engaging here on Meta are no longer devs/programmers, but the CMs. To ask a CM to submit a PR is just unrealistic.

Just for clarification, there is a big difference between changing CSS/SCSS and actual programming changes. I have no idea what @Qasem_h’s experience is, but I definitely see more CMs participating in Meta than what were here several months ago.

---

<div class="post-metadata">

**Author:** ![Qasem\_h](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/qasem_h/32/155935_2.png) [@Qasem\_h](https://meta.discourse.org/u/Qasem_h)\
**Post date:** [2015年四月11日 19:11 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/12 "2015-04-11T19:11:17Z")

</div>

i don’t mean i cant send pull request i mean how i can send pull request for slugs

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)\
**Post date:** [2015年四月11日 19:15 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/13 "2015-04-11T19:15:03Z")

</div>

I think we should add this for 1.4.

---

<div class="post-metadata">

**Author:** ![fantasticfears](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fantasticfears/32/119608_2.png) [@fantasticfears](https://meta.discourse.org/u/fantasticfears)\
**Post date:** [2015年四月12日 09:43 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/14 "2015-04-12T09:43:15Z")

</div>

I am working on it. Maybe I can submit the pr in next 24h.

It depends on your judgement about the release date. So it’s your call to consider whether merge it or not. I hope it can catch up 1.3 personally.

EDIT:

Here it is.  
[https://github.com/discourse/discourse/pull/3370](https://github.com/discourse/discourse/pull/3370)

---

<div class="post-metadata">

**Author:** ![Qasem\_h](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/qasem_h/32/155935_2.png) [@Qasem\_h](https://meta.discourse.org/u/Qasem_h)\
**Post date:** [2015年四月13日 18:00 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/15 "2015-04-13T18:00:14Z")

</div>

@fantasticfears can you give some screen shot of your work ?

---

<div class="post-metadata">

**Author:** ![fantasticfears](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fantasticfears/32/119608_2.png) [@fantasticfears](https://meta.discourse.org/u/fantasticfears)\
**Post date:** [2015年四月14日 03:04 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/16 "2015-04-14T03:04:05Z")

</div>

Sure.

Settings:

> ![](https://global.discourse-cdn.com/meta/original/3X/d/6/d6daa417dc48c8175e6c110c25c6400ccd321ea1.png)

For topics:

> english
> 
> ![](https://global.discourse-cdn.com/meta/original/3X/a/5/a5fbfb59a0071dabb2025f0c3d5acf4173ca6f7f.png)

> encoded  
> ![](https://global.discourse-cdn.com/meta/original/3X/8/9/8950c464d6950c18b6c10443f7caa720bf9dfb0f.png)
> 
> ![](https://global.discourse-cdn.com/meta/original/3X/3/f/3f2bf2c8184865e6f7bdd19e55d4b5f66dc4ef3e.png)

> default  
> ![](https://global.discourse-cdn.com/meta/original/3X/6/8/683d9e9470b1e36f1fb22b86aa30efa60ebf6e43.png)  
> ![](https://global.discourse-cdn.com/meta/original/3X/5/2/522a46ef1aaa06eae31f3f26a519f102b368faec.png)

For categories:

> encoded  
> ![](https://global.discourse-cdn.com/meta/original/3X/5/e/5e5c2cbc27bd0a8c64c9825f194ed5a1951def32.png)
> 
> ![](https://global.discourse-cdn.com/meta/original/3X/d/9/d9b78031db3b63b3c09f473f10c0e966e93636ce.png)

> default  
> ![](https://global.discourse-cdn.com/meta/original/3X/a/a/aaec9c64eba611b5e3dfa1905ee76432a3921e02.png)

---

<div class="post-metadata">

**Author:** ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)\
**Post date:** [2015年四月14日 22:00 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/17 "2015-04-14T22:00:14Z")

</div>

I don’t think that the “default” option is very useful - call it “none” instead.

---

<div class="post-metadata">

**Author:** ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)\
**Post date:** [2015年四月28日 10:06 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/18 "2015-04-28T10:06:10Z")

</div>

Would it be possible to rename the English method to Latin, ASCII or something like that? English is somehow misleading…

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)\
**Post date:** [2015年四月28日 20:34 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/19 "2015-04-28T20:34:22Z")

</div>

@fantasticfears this looks great but I agree with @gerhard, name it “ASCII” instead.

---

<div class="post-metadata">

**Author:** ![fantasticfears](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fantasticfears/32/119608_2.png) [@fantasticfears](https://meta.discourse.org/u/fantasticfears)\
**Post date:** [2015年四月29日 17:15 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/20 "2015-04-29T17:15:21Z")

</div>

Updated, just renamed `english` to `ascii`. Thanks @gerhard!

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2015年七月23日 04:06 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/21 "2015-07-23T04:06:17Z")

</div>

I think we are done with this, closing, thanks @fantasticfears

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2015年七月23日 04:06 UTC](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/22 "2015-07-23T04:06:23Z")

</div>



[下一頁](https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643.md?page=2)
