I could probably submit a patch for that.
The slugs are calculated in slug.rb. It already contains exceptions for zh_CN and ja and there seems to be an open pull request for Vietnamese.
@sam I guess there will be a lot more languages with the same problem. How should we handle this? Should I just submit a simple patch for German or are you going to use a gem like babosa? Any other ideas?
But I guess I would have to add those to server.en.yml as well, otherwise they would get lost at the next pull from Transifex. I’m not feeling comfortable in doing that. Why should the translators of all the other languages have to worry about this? I’m not even sure why we already have some rules in there…
Option 2
Add an additional, language specific translation file (e.g. transliterations.de.yml) that just contains the transliteration rules and is not managed in Transifex.
Option 3
Replace the German umlauts within slug.rb. Doing this with a regex wouldn’t be that hard since there are only 7 characters to replace. But, this feels wrong on so many levels. What if other languages want to do the same? I imagine this would become ugly quite fast.
Option 4
Use stringex like it’s already done for Simplified Chinese. According to the documentation it should even have German transliterations out-of-the-box. However, I couldn’t get it working. Somehow it didn’t use the locale files that should come with stringex. It only used the two translations from server.en.yml.
What I also like about it is the localization of stringex conversations:
It is possible to localize the different conversions and unidecoding in Stringex, so for example “100%” becomes “100 percent” in English and “100 prozent” in German.
Currently symbols like % are always removed when the slug is created. Replacing it by e.g. “percent” would be great.