Отказ на имена в уебсайтове - AlterVision
Отказ на имена в уебсайтове
В дебрите на потребителските проекти Yandex.Nano, скромният, но много полезен за българоговорящата аудитория, проектът Sklonator си проправи път. Авторите го характеризират по следния начин: „Уеб услуга за разработчици. Знае как да отклонява имена, фамилии и понякога дори прякори. От себе си бих искал да добавя само две думи: „отличен“ и „незаменим“, той знае как да отклонява не само фамилии и имена, но и имена на географски обекти и някои други думи.
За да се интегрирате бързо с вашия сайт, имате нужда само от една функция, която улеснява получаването на правилния регистър на потребителското име.
Използването й е елементарно - при извикване функцията inflect получава един единствен параметър - inflected името. Ако името не може да бъде инфлектирано (в случай на повреда на връзката или име, което не може да се деклонира), функцията връща false или null. Ако е успешна, функцията връща масив от потребителски имена в зависимост от случая (номера от 1 до 6). Резултатът е в кодиране UTF-8.
Ако леко модифицирате съществуващата функция, можете значително да увеличите нейната производителност, като добавите елементарно кеширане на заявки към сървъра. Освен това създаваме константата INFLECT_CACHE, която съхранява стойността на пътя към кеш файловете на заявките.
С това усъвършенстване всяка от заявките ще се съхранява в дисковия кеш и натоварването на мрежата ще бъде минимално и съответно скоростта на получаване на отговор ще бъде мигновена.
Помислете за пример на скрипт с най-простото и познато име:
Както можете да видите от примера, функцията веднага дава приятен положителен резултат и накланя пълното име. без никакви проблеми. Резултатът може лесно да се използва във връзка с проста функция "username", която приема име и регистър като вход.
Използвайки username('Vasya', 2) в кода, ще получим текста "Ваза" и вече няма да имаме проблеми с падежите на български собствени имена, имена на места, прякори и други думи.