Конвертировать строку на русском в строку на английском для создания ссылки


#1

Есть

var filename: String!
filename = "Это новое название строки"

Как трансформировать значение filename в newFilename? То есть заменить русские буквы соответствующими английскими, а пробел заменить на тире

 var newFilename: String!
 newFilename = "eto-novoe-nazvanie-stroki"

UPD: дошел до функции

let filename = "Это новое название строки"
let newFilename = filename.replacingOccurrences(of: " ", with: "-", options: .literal, range: nil)

здесь идет замена одного символа на другой, в данном случае пробел меняется на тире, но как поменять остальные символы, пока не понятно?


#2

был такой плагин к Wordpress, он такое делал


#3

Простите, а Wordpress тут каким боком? Ну даже, если он тут причем, что за плагин?


#4

обычно такую транслитерацию делают для адресов страниц на сайтах. И если нужно такое решение, то можно было бы просто посмотреть, как там это реализовано


#5

Я бы создал словарь букв [русская:английская] и в цикле перебирая fileName по ключу русской буквы получал бы ее английскую версию.
let charactersMapping: [String: String] = [“a”: “a”, “б”: “b”]


#6

Со словарем понятно. Как именно в таком случае получить newFilename?


#7

он соберется в том же в цикле newFileName += englishCharacter