Склонение существительных - что выбрать?

Эдди

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

К примеру есть таблица countries с тремя столбцами всего (id, русское и латинское написание).
Вывожу:
Англия, Франция, Италия.

А когда надо вывести:
в Англию, во Францию, в Италию...

Вот тут-то возникают проблемы.
Функции огроменные нашел. Не вариант. У меня стран-то всего штук 5-10 будет.
Можно создать дополнительную колонку с нужным падежом в таблице (нужен один всего падеж).
Но, к примеру, не напишешь "в Францию".
С предлогом надо тоже что-то делать.
Можно и предлог ввести в таблицу.
Но не слишком ли криво будет? Хоть и довольно просто.

Кто как решает проблему?
 

hell0w0rd

Продвинутый новичок
все просто же, если страна начинается на гласную - в, согласную - во. Заменяешь окончание я => ю, а => у. Найди правила русского языка и по ним составь функцию
 

Эдди

Новичок
все просто же, если страна начинается на гласную - в, согласную - во. Заменяешь окончание я => ю, а => у. Найди правила русского языка и по ним составь функцию
Нееее... :) Не все так просто.
В Португалию - "В"
Во Францию - "Во"

Функцию написать - не проблема. Времени жалко.
Да и будет она очень громоздкая, если учесть все тонкости.
Может, стоит в БД забить падежи и предлоги?
 

Эдди

Новичок
Добавлю - на Украину = "на" (и не надо про в Украину :)).
На Гаваи, на Таити. И еще 100 разных случаев
 

С.

Продвинутый новичок
"Во" ставится перед словами, начинающимися на аналогичный предлогу звук [в] или [ф]. Но при условии, что это не город и не остров.

Но при 5-10 странах конечно париться не стоить, а тупо забить все возможные варианты.
 

hell0w0rd

Продвинутый новичок
Эдди, ну да, еще есть исключения из правил) вот есть либа для множественных чисел в англ языке. Там тоже правил дофига) как сказал С - заморачиваться не стоит при таком кол-ве, можно написать генератор в лоб, а потом просто поправить что не так)
 

Эдди

Новичок
Ну, в общем, забью в таблицу нужный падеж и предлог.
Это абсолютно не соответствует, как мне кажется, правилам релятивных баз данных.
Но городить функции на 1000 строк и терять кучу времени - тоже не айс.

Ну, или вообще напишу: виза в страну Франция.
Правда, не знаю, как это воспримут роботы.
Если им пофиг, то вообще заморачиваться не буду.
Вроде, они падежи уже понимают.
Необязательно писать: Виза "во Францию".

Спасибо.
 

С.

Продвинутый новичок
Ну если дело только в этом, то даже забивать в базу варианты предлогов и склонений глупо. Надо просто построить фразу так, чтобы страна всегда была в именительном падеже.
 
  • Like
Реакции: AmdY

Эдди

Новичок
Ну если дело только в этом, то даже забивать в базу варианты предлогов и склонений глупо. Надо просто построить фразу так, чтобы страна всегда была в именительном падеже.
Именно об этом я и говорил.

Поэтому, при понимании падежей роботами поисковиков, я построю просто фразы так, чтобы был именительный падеж.
Городить функции из 1500 строк да еще и с исключениями - точно не хороший тон для вывода одного лишь заголовка страницы.
 
Сверху