I use the url method on deaccent configuration.
But this system have some errors(for turkish char).
Example:
I create new page as "Özgür Yazılım" in dokuwiki. In normaly it is must convert to be ozgur-yazilim for slugging
but converts incorrectly as below:
doku.php?id=oezguer-yazılım
shortly:
| Name | Converted As Slug | Correctly |
|----------------|----------------------|-----------|
|Özgür Yazılım | ozgur-yazilim |true |
| | oezguer-yazılım |false |
|Ülke Ve Özgürlük| ulke-ve-ozgurluk |true |
| | uelke-ve-oezguerluek |false |
Turkish Special Characters
| chars | slug | correctly |
|----------------|------------------|-----------|
|ÇĞİÖŞÜçğıöşü | cgiosucgiosu | true |
| | cgi̇oesuecgıoesue | false |
DokuWiki have errors in "ıÜüÖö" characters.
I don't quite know how accents works in these languages, but looks like in German/French Ö becomes oe. Wikipedia says:
In certain languages, the letter ö cannot be written as "oe" because Minimal pairs exist between ö and oe (and also with oo, öö and öe), as in Finnish eläinkö "animal?" (interrogative) vs. eläinkoe "animal test" (cf. Germanic umlaut). If the character ö is unavailable, o is substituted and context is relied upon for inference of the intended meaning. In Volapük, ö can be written as oy, but never as oe.
For ü, I saw Wikipedia saying that
In other languages that do not have the letter as part of the regular alphabet or in limited character sets such as ASCII, U-umlaut is frequently replaced with the two-letter combination "ue"
ı is an interesting case though.
To be honest, DokuWiki cannot detect what language you are writing when doing the conversion, other than using the instance language option. I am not sure the effort of maintaining multiple deaccent tables (I am even not sure how the current deaccent table is generated...).
For anyone interested, this is the deaccent table: https://github.com/splitbrain/dokuwiki/blob/master/inc/Utf8/tables/loweraccents.php
Thanks a lot, this will help me. I will edit the loweraccents.php file in my local work dir.
Slugs are not influenced by the fnencode setting but by the deaccent setting. Setting it to 2 = romanize will turn ü to u instead of ue.
everythings ok. but "ı" char does not exist. I sent a pull request for "ı". if not, you can add it.