Dokuwiki: Turkish Character URL Slug Error (deaccent)

Created on 24 Jul 2020  Â·  4Comments  Â·  Source: splitbrain/dokuwiki

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.

All 4 comments

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

BenoitPoulet picture BenoitPoulet  Â·  3Comments

schplurtz picture schplurtz  Â·  5Comments

KristjanESPERANTO picture KristjanESPERANTO  Â·  3Comments

splitbrain picture splitbrain  Â·  4Comments

KaiMartin picture KaiMartin  Â·  6Comments