Модуль:Ru/doc: различия между версиями
Перейти к навигации
Перейти к поиску
Karaby (обсуждение | вклад) (обновление данных) |
Karaby (обсуждение | вклад) м (категория) |
||
Строка 49: | Строка 49: | ||
require("Module:Ru").obo("слово")<!--?--> | require("Module:Ru").obo("слово")<!--?--> | ||
<includeonly>[[Категория: | <includeonly>[[Категория:Буквица:Модули]]</includeonly> |
Текущая версия от 08:55, 6 марта 2015
Для документации этого модуля может быть создана страница Модуль:Ru/doc/doc
Ошибка скрипта: Ошибка Lua на строке 1: unexpected symbol near '�'.
Этот модуль содержит основные функции преобразования текста для русского языка.
== Функции ==
=== <code>locative</code> ===
Формирует [[предложный падеж]] (препозитив), в большинстве случаев совпадающий с [[Местный падеж|местным падежом]] (локативом):
* {{nobr|1=<code><nowiki>в {{#invoke:ru|locative|Москва}}</nowiki></code> →}} в {{#invoke:ru|locative|Москва}}
* {{nobr|1=<code><nowiki>в {{#invoke:ru|locative|Казань}}</nowiki></code> →}} в {{#invoke:ru|locative|Казань}}
Существует, однако, большая группа существительных, для которых формы предложного и местного падежей не совпадают (например: «лес» → «о ле́с{{color|red|е}}», но «в лес{{color|red|у́}}»). '''Данная функция не учитывает эти исключения — не используйте её в подобных случаях!'''
* {{nobr|1=<code><nowiki>о {{#invoke:ru|locative|лес}}</nowiki></code> →}} о {{#invoke:ru|locative|лес}}
=== <code>pl</code> ===
Формирует [[множественное число]] (название функции — от {{lang-en|plural}}):
* {{nobr|1=<code><nowiki>{{#invoke:ru|pl|шахтёр}}</nowiki></code> →}} {{#invoke:ru|pl|шахтёр}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|pl|трава}}</nowiki></code> →}} {{#invoke:ru|pl|трава}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|pl|конь}}</nowiki></code> →}} {{#invoke:ru|pl|конь}}
Данная функция определяет [[Склонение (лингвистика)|склонение]] слова с помощью функции <code>guessdecl</code>. При необходимости (напр., когда <code>guessdecl</code> ошибается), склонение можно указать в явном виде во втором аргументе:
* {{nobr|1=<code><nowiki>{{#invoke:ru|pl|пальто|0}}</nowiki></code> →}} {{#invoke:ru|pl|пальто|0}} (без второго аргумента: {{nobr|1=<code><nowiki>{{#invoke:ru|pl|пальто}}</nowiki></code> →}} ошибочно «{{#invoke:ru|pl|пальто}}»)
==== <code>guessdecl</code> ====
Угадывает тип [[Склонение (лингвистика)|склонения]] (название функции — от {{lang-en|guess declension}}). Данная функция используется функцией <code>locative</code>, если при вызове последней не задан второй параметр. Возвращаемые значения:
* <code>0</code> — для несклоняемых существительных;
* <code>1</code>, <code>2</code> и <code>3</code> — для существительных I, II и {{nobr|III склонения}}, соответственно;
* <code>a</code> (от {{lang-en|adjective}}) — для прилагательных.
'''Важно''': невозможно без использования словаря различать следующие случаи:
* слова {{nobr|III склонения}} (напр., «дверь») и оканчивающиеся на «ь» слова {{nobr|II склонения}} (напр., «конь»). Данная функция возвращает для таких слов значение <code>2</code>. Значение <code>3</code> возвращается только для слов, оканчивающихся на «''X''мя», где ''X'' — гласная (напр., «время»); в действительности, эти слова являются разносклоняемыми (см. статью [[Склонение (лингвистика)|Склонение]]) и склоняются по третьему склонению не во всех формах: исключение — форма творительного падежа единственного числа.
* несклоняемые слова, форма которых совпадает с формой какого-либо склонения (напр., {{nobr|«пальто» /}} «озеро»). Для таких слов будет возвращаться неправильное значение <code>1</code>, <code>2</code> или <code>3</code> вместо правильного <code>0</code>.
Примеры:
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|такси}}</nowiki></code> →}} {{#invoke:ru|guessdecl|такси}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|юноша}}</nowiki></code> →}} {{#invoke:ru|guessdecl|юноша}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|дом}}</nowiki></code> →}} {{#invoke:ru|guessdecl|дом}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|дверь}}</nowiki></code> →}} {{#invoke:ru|guessdecl|время}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|белый}}</nowiki></code> →}} {{#invoke:ru|guessdecl|белый}}
Примеры ошибок:
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|дверь}}</nowiki></code> →}} {{#invoke:ru|guessdecl|дверь}} (должно быть <code>3</code>)
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|пальто}}</nowiki></code> →}} {{#invoke:ru|guessdecl|пальто}} (должно быть <code>0</code>)
=== <code>o</code> ''<small>(латиницей)''</small> ===
Подбирает предлог о/об/обо:
* {{nobr|1=<code><nowiki>{{#invoke:ru|o|том}}</nowiki></code> →}} {{#invoke:ru|o|том}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|o|этом}}</nowiki></code> →}} {{#invoke:ru|o|этом}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|o|всём}}</nowiki></code> →}} {{#invoke:ru|o|всём}}
==== <code>obo</code> ====
Используется функцией <code>o</code>, для экспорта в другие скрипты, в invoke не работает.
require("Module:Ru").obo("слово")<!--?-->
<includeonly>[[Категория:Буквица:Модули]]</includeonly>