If one tries to transliterate paths from entity fields (for example taxonomy) characters like Γ€, ΓΌ, ΓΆ are converted to a,u,o but not to ae, ue, oe. The Drupal 8 transliteration does that correctly on url-paths but for file uploads File (Field) Paths creates just a, u, o. - It would be great to have that feature for SEO and useful paths on the server.
The Problem is that the pathauto module is used to transliterate the path before File (Field) Paths does it. The code at the end of the module (/modules/filefield_paths/filefield_paths.module) should be changed in that manner:
// Transliterate string
if ($transliterate == TRUE) {
// Use the current default interface language.
$langcode = \Drupal::languageManager()->getCurrentLanguage()->getId();
// Instantiate the transliteration class.
$trans = \Drupal::transliteration();
// Use this to transliterate some text.
$path = $trans->transliterate($path, $langcode);
}
Moreover the Operation should be done before the path and the filename is cleared by the pathauto module:
before this
$path = \Drupal::service('pathauto.alias_cleaner')
->cleanstring($path);
if (!empty($pathinfo['extension'])) {
$path .= '.' . \Drupal::service('pathauto.alias_cleaner')
->cleanstring($pathinfo['extension']);
}
$path = str_replace('/', '', $path);
}
else {
$path = str_replace($pathinfo['filename'], \Drupal::service('pathauto.alias_cleaner')
->cleanstring($pathinfo['filename']), $path);
}
}
and before that
$path = \Drupal::service('pathauto.alias_cleaner')->cleanstring($path);
}
}
elseif ($remove_slashes) {
$path = str_replace('/', '', $path);
}