как сделать английские имена и фамилии по-русски?

L
На сайте с 30.10.2015
Offline
34
805

как сделать английские имена и фамилии по-русски? пробовал решить проблему транслитом и переводчиком, но в некоторых именах и фамилиях были ошибки (например, Guy Johnstone преобразуется в Гуй Джохнстоне). подскажите api или php функцию

...
nikonlay
На сайте с 11.12.2006
Offline
191
#1

Правильное произношение и написание английских имен и названий на русском языке - довольно сложный вопрос, в разных именах одинаковые буквы и сочетания букв могут читаться по разному.

Поэтому, чтобы точно переводить, лучше прописать каждое имя и фамилию в массиве замены, например:

<?php


function translatenames ($st)
{

$st=strtr($st, array("Guy"=>"Гай", "Johnstone"=>"Джонстон"));

return $st;
}
?>
Мощные фонари и телескоп: https://market.yandex.ru/business/79203856
Ragnarok
На сайте с 25.06.2010
Offline
239
#2

levchernenko, дополняя идею nikonlay, можно транслитерировать все имена, а те, которые транслитерируются неправильно -- заменять через заранее сформированный массив

//TODO: перестать откладывать на потом
L
На сайте с 30.10.2015
Offline
34
#3

идея, конечно, хорошая, но как быть если сложных имен/фамилий больше 15К?

M
На сайте с 04.12.2013
Offline
223
#4

Использовать БД?

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
L
На сайте с 30.10.2015
Offline
34
#5

miketomlin, facepalm я про то, что ввод руками займет немало времени

sergv
На сайте с 13.04.2006
Offline
441
#6

levchernenko, ну вариантов 2: или транслитерировать по правилу - a-а, b-б или же с помощью исключений, но вводимых руками. А там 15к или 115к - это уже Ваш вопрос...

---------- Добавлено 07.03.2016 в 11:46 ----------

Я бы сделал автомат, а исключения постепенно добавлял руками в массив.

https://REGHOME.ru - регистрация и продление доменов от 169₽ в российских и международных зонах по честным ценам без звездочек. (R01, WebNames, UK2). Принимаем Ю-Money, Visa, MasterCard, Мир
SeVlad
На сайте с 03.11.2008
Offline
1609
#7
levchernenko:
я про то, что ввод руками займет немало времени

Тогда варианты:

1. Найти существующую базу

2. Нанять "переводчика"

3. Перевести автоматом и всё проверить самому или см п2.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
L
На сайте с 30.10.2015
Offline
34
#8

SeVlad, 1- ищу, спрашиваю, но в ответ получаю кэповские советы; 2- хорошая идея, но переводчик не выполнит это сверхбыстро; 3- см. #4 сообщение

VHS
На сайте с 28.09.2007
Offline
142
VHS
#9

Я бы пошел путем перевода Англ. имя -> транскрипция англ. имени -> русское написание

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