انحراف پی اچ پی با موارد از اعداد. انحراف نام کامل – NameCaseLib PHP Framework
اغلب نیاز وجود دارد نام ها را در PHP تغییر دهید. موافق باشید که عبارت " اضافه کردن به عنوان دوست Ilya"به نظر خیلی بدتر از" ایلیا را به عنوان دوست اضافه کنید". از همین رو انحطاط نام ها به حروف در PHPاین اغلب مورد نیاز است، و در این مقاله به شما خواهم گفت که چگونه می توانید این را در وب سایت خود پیاده سازی کنید.
من فوراً می گویم که متاسفانه هیچ گزینه ایده آلی وجود ندارد. گزینه اول بسیار واضح است: پایگاه داده ای از نام ها را پیدا کنید که در همه موارد وجود دارد و این جدول را به جدول خود اضافه کنید. سپس با نام در حالت اسمی، مورد مربوطه را در پایگاه داده جستجو کنید. معایب در اینجا آشکار است: پایگاه داده بزرگ، نمی تواند همه نام ها را پوشش دهد، بار اضافی روی سرور.
گزینه دوم این است که خودتان بنویسید کلاس انحراف نام در PHP، یا از یک آماده استفاده کنید. از آنجایی که قوانین در زبان روسی بسیار پیچیده است، به علاوه استثنائات زیادی وجود دارد، بنابراین یک کتابخانه بسیار بزرگ مورد نیاز خواهد بود، و حتی این دور از ذهن است. 100% نجات. محبوب ترین از همه کتابخانه هایی که با آن سروکار دارند انحطاط نام ها در PHP، NameCaseLib است.
پس از دانلود این کتابخانه و قرار دادن آن در وب سایت خود، می توانید از آن به صورت زیر استفاده کنید:
$case = new NCLNameCaseRu(); // یک شی از کلاس NCLNameCaseRu ایجاد کنید
$array = $case->q("روساکوف میخائیل یوریویچ"); // آرایه ای از 6 عنصر مربوط به 6 مورد دریافت می کنیم که در آن رشته ورودی ظاهر می شود
print_r ($array); // خروجی آرایه
?>
همانطور که می بینید، استفاده از کتابخانه بسیار ساده است. از طرفی من توصیه اصلیبه شرح زیر خواهد بود: در صورت امکان، به طور کلی از نیاز به عطف کلمات اجتناب کنید.. با این حال، گاهی اوقات افراد چیزی را معرفی می کنند که به هیچ وجه نمی توان به آن تمایل داشت و تلاش برای القای آن مضحک به نظر می رسد. نوشتن لازم نیست" ایلیا را به عنوان دوست اضافه کنید"به سادگی می توان نوشت" افزودن به عنوان دوست"در صفحه ایلیا.
جعبه شنی
آقای المپیانوامبر 16, 2013 در 03:01 ب.ظانحراف نام کامل - NameCaseLib PHP Framework
- PHP
سلام حبرخبر!
امروز در مورد یک چارچوب کوچک اما بسیار مفید صحبت خواهم کرد - NameCaseLib.
من فکر میکنم خیلیها با موقعیتی مواجه شدهاند که در آن لازم بود نام خانوادگی، نام و نام خانوادگی افراد را به صورت موردی رد کنند. این چارچوب به ما کمک می کند تا از شر بسیاری از "دوچرخه ها" خلاص شویم.
نصب و راه اندازی
برای اینکه NameCaseLib کار کند، به PHP5 و کتابخانه php_mbstring برای کار با متن در فرمت UTF-8 نیاز داریم.عالی است، اکنون تنها چیزی که باقی می ماند اتصال خود فریمورک است، برای این کار ما فایل های لازم را دانلود می کنیم.
NameCaseLib از دو زبان روسی و اوکراینی پشتیبانی می کند. فایل NCL.NameCase.ru.php حاوی قوانین انحراف روسی، NCL.NameCase.ua.php، به ترتیب، قوانین اوکراینی است. پوشه NCL حاوی "هسته" چارچوب است، یعنی مجموعه ای از توابع اساسی.
بنابراین، اجازه دهید یک فایل با فرمت php ایجاد کنیم و عملکرد این فریم ورک را بررسی کنیم.
# Указываем кодировку. header("Content-type: text/html; charset=utf-8"); # Подключаем русские правила склонения. require "NCL.NameCase.ru.php"; # Объявляем объект класса. $case = new NCLNameCaseRu(); # Метод q - склоняет Фамилию, Имя и Отчество человека по правилам пола. $array = $case->q("ماکسیموف الکساندر واسیلیویچ")؛ # خروجی آرایه به دست آمده. (توجه: یک آرایه قابل نمایه سازی ساده را برمی گرداند) var_dump($array); ?>
بر این اساس، به همین ترتیب، میتوانیم با اتصال قوانین انحراف اوکراینی، نامهای کامل اوکراینی را رد کنیم.
اما بیایید همچنان به این نگاه کنیم که این روش شامل چه پارامترهایی است qو چگونه می توان از آن استفاده کرد؟
این روش دارای 3 پارامتر است که 2 مورد از آنها قابل حذف است. پارامتر اول نام کامل شخص است، پارامتر دوم مورد است (لیستی از ثابت ها را در زیر ارائه می کنم؛ اگر case مشخص نشده باشد (NULL)، سپس متد همه موارد را برمی گرداند)، و سومی جنسیت شخص است. (ثابت ها نیز در زیر آورده شده است؛ اگر جنسیت (NULL) را مشخص نکنید، روش خودش آن را تعیین می کند)
ثابت ها
برای نشان دادن جنسیت، از ثابت ها استفاده می شود:- NCL::$MAN – جنسیت مذکر
- NCL::$WOMAN – زن
برای نشان دادن موارد زبان روسی:
- NCL::$IMENITLN - حالت اسمی
- NCL::$RODITLN - مورد جنسی
- NCL::$DATELN - مورد داده
- NCL::$VINITELN - مورد اتهامی
- NCL::$TVORITELN - کیس ابزاری
- NCL::$PREDLOGN - حالت حرف اضافه
برای نشان دادن موارد زبان اوکراینی:
- NCL::$UaNazyvnyi – پلاک نام
- NCL::$UaRodovyi – نمای عمومی
- NCL::$UaDavalnyi – مدیر طولانی مدت
- NCL::$UaZnahidnyi – ویدیوی معروف
- NCL::$UaOrudnyi – نمایش سلاح
- NCL::$UaMiszevyi – miscevyi vidminok
- NCL::$UaKlychnyi – یادداشت شخصی
یادداشت
- ترتیب نام مهم نیست.
- فرقی نمیکند که در کدام حالت نام کامل نشان داده شود، پس از انحراف، روش حروف کوچک و بزرگ را برمیگرداند.
تعریف قسمتی از نام کامل
با استفاده از متد getFullNameFormat میتوانیم قسمت یا قسمتهایی از نام کامل را تعیین کنیم.
# Указываем кодировку. header("Content-type: text/html; charset=utf-8"); # Подключаем русские правила склонения. require "NCL.NameCase.ru.php"; # Объявляем объект класса. $case = new NCLNameCaseRu(); # Метод getFullNameFormat - разбивает строку и возвращает формат, в котором записано имя. $fullName = $case->getFullNameFormat("ماکسیموف الکساندر واسیلیویچ"); /* قالبی مانند: S F N دریافت می کنیم، جایی که: - S - نام خانوادگی - N - نام - F - نام میانی */ echo $fullName; ?>
اما اگر چارچوب هنوز نمی تواند به درستی نحوه رد نام انتخابی شما را تعیین کند، چه باید بکنید؟
برای این منظور، کتابخانه متد qFullName را ارائه می دهد که به شما امکان می دهد نام خانوادگی، نام، نام خانوادگی و جنسیت یک شخص را در یک دنباله مشخص مشخص کنید.
# Указываем кодировку. header("Content-type: text/html; charset=utf-8"); # Подключаем русские правила склонения. require "NCL.NameCase.ru.php"; # Объявляем объект класса. $case = new NCLNameCaseRu(); # Параметры метода: qFullName(Фамилия, Имя, Отчество, пол, падеж, формат); Все параметры являются необязательными, если, например, не указать пол - система сама определит его. echo $nc->qFullName("Maksimov"، "Alexander"، "Vasilievich"، NCL::$MAN، NCL::$TVORITELN، "S N F")."\n"; ?>
نتایج
NameCaseLib یک چارچوب واقعا کاربر پسند است که شامل بسیاری از ویژگی های مفید است. این سایت دارای اسناد کامل به زبان روسی است.ماژول morpher.so برای کاهش حروف کوچک کلمات و عبارات - نام خانوادگی، نام و نام خانوادگی، نام شهرها و کالاها - به زبان روسی و اوکراینی طراحی شده است.
تابع انحطاط بر اساس موارد
یک میلیون دلار می روداز جانبنابرژنیه چلنی" , " rod " ); ?> !
در نتیجه دریافت می کنیم:
یک میلیون دلار به واسیلی پوپکین از نابرژنیه چلنی می رسد!
تابع morpher_inflect یک عبارت در حالت اسمی (آگومان اول) را به هر حالت (آگومان دوم) تبدیل می کند. مورد می تواند معانی زیر را داشته باشد:
تمام رشته های ارسال شده به کتابخانه باید با رمزگذاری UTF-8 باشند. نتیجه نیز در UTF-8 برگردانده می شود.
تابع مربوط به زبان اوکراینی morpher_ukr_inflect نامیده می شود. تا کنون فقط با نام خانوادگی، نام و نام خانوادگی کار می کند و در نام موارد با روسی تفاوت دارد:
ترجمه به جمع هنوز در نسخه اوکراینی اجرا نشده است.
عملکرد تجزیه یک نام به اجزا
تابع morpher_split_fio رشته ورودی را به آرایه ای از نام خانوادگی، نام، نام وسط تقسیم می کند.
F: Pupkin I: Vasily O:
تابع کثرت سازی
اگر رشته "mn" را به پارامتر دوم اضافه کنید، نتیجه خواهد بود جمع:
در انبار باقی مانده است 238 .
238 پوکر در انبار باقی مانده است.
اگر پارامتر اول قبلاً جمع باشد، موارد زیر برگردانده می شود:
#خطا: پارامتر 1 "text" جمع است.
تابع تعیین جنس
" y " , " f " => " y " , " n " => " اوه " , " p " => " y " ); $name = "متخصصین"; $rod = morpher_get_gender ($name); echo "ما به شما احترام می گذاریم." $endings [$rod]. " " . $name. " !\n " ; ?>
برای تعیین جنسیت نام خانوادگی، نام و نام خانوادگی در زبان اوکراینی، از تابع morpher_ukr_get_gender استفاده کنید. فقط «m» (مرد) یا «f» (مونث) را برمیگرداند.
عملکرد نوشتن اعداد و مبالغ پولی
تابع morpher_spell املای عدد را تشکیل می دهد و واحد اندازه گیری داده شده را در حالت مورد نظر قرار می دهد:
روز تقویم" ); // 28 (بیست و هشت) روز تقویمی morpher_spell("1.2"، "درصد"); // 1.2 (یک امتیاز دو) درصد morpher_spell(2، "روز"); // 2 (دو) روز ?>
اگر در یک مورد خاص نیاز به درج کلمات در متن دارید، case را به عنوان پارامتر سوم مشخص کنید:
در حینروز تقویم" , " R " ); ?> .
در نتیجه، "در 28 (بیست و هشت) روز تقویمی" دریافت می کنیم.
مقادیر مورد قبول: I، R، D، V، T، P و آنالوگ های آنها، نوشته شده به لاتین، را ببینید. فرم های اضافه (predl-o و gde) در این تابع پشتیبانی نمی شوند.
برای نام برخی از واحدهای پولی، تابع morpher_spell املای مانند این را تولید می کند:
یکصد و بیست و سه روبل 45 کوپک morpher_spell(123.45، "USD"); // یکصد و بیست و سه دلار آمریکا 45 سنت morpher_spell(123.45، "یورو"); // صد و بیست و سه یورو 45 سنت?>
در صورت تمایل، می توانید از نام های اختصاری واحدهای پولی، با یا بدون نقطه استفاده کنید:
صد و بیست و سه روبل. 45 کوپک morpher_spell(123.45، "$"); // یکصد و بیست و سه دلار آمریکا 45 سنت morpher_spell (123.45, " UAH " ); // صد و بیست و سه UAH. 45 کوپک?>
یا کدهای ارز سه حرفی استاندارد بین المللی ISO 4217 مانند RUB، USD، EUR و غیره که در این حالت نام کشور به طور خودکار در نام ارز درج می شود:
یکصد و بیست و سه روبل روسیه 45 کوپک morpher_spell(123.45، "UAH"); // یکصد و بیست و سه گریونای اوکراینی 45 کوپک morpher_spell(123.45، "KZT"); // یکصد و بیست و سه قزاق تنگه 45 تیین?>
خطا در پردازش
اگر خطایی رخ دهد، همه توابع کتابخانه خطی را برمیگردانند که با "#ERROR:" شروع میشود.
#خطا: "متن" پارامتر 1 نباید خالی باشد. |
#خطا: "مورد" پارامتر 2 نباید خالی باشد. |
#خطا: پارامتر 1 "متن" روسی نیست. |
#خطا: پارامتر 2 "مورد" نامعتبر است. |
#خطا: پارامتر 1 "text" جمع است. |
اگر نمیخواهید کاربر این پیامها را ببیند، زیررشته اولیه "#ERROR:" را بررسی کنید.
تابع morpher_inflect 2 پارامتر و morpher_get_gender - یک پارامتر را انتظار دارد. اگر با تعداد پارامترهای اشتباه فراخوانی شود، مفسر PHP یک هشدار صادر می کند و به اجرای برنامه ادامه می دهد.
نصب ماژول در لینوکس
برای سهولت و سادهتر شدن مراحل نصب، توزیع شامل مجموعهای از اسکریپتها است که نصب بستههای لازم برای کامپایل، مونتاژ ماژول و ثبت ماژول را به عنوان پسوند برای PHP خودکار میکند. با توجه به تنوع گسترده توزیع ها سیستم عامل, گزینه های مختلفتنظیمات و ویژگی های ساخت پسوند برای php، باید بدانید که در برخی موارد، هنگام نصب یک ماژول، ممکن است نیاز به اقدامات اضافی وجود داشته باشد که توسط اسکریپت های اسمبلی اجرا نمی شوند.
برای شروع مراحل نصب خودکار، توزیع را در هر دایرکتوری، به عنوان مثال، morpher باز کنید:
# mkdir morpher # شکل دهنده سی دی # tar xf ../morpher.tar # سی دی phpاسکریپت ساخت را با دستور زیر اجرا کنید:
# بش ساخت.شدر صورت موفقیت، فایل ماژول morpher.so کامپایل شده و به فهرست پسوندهای php منتقل می شود. ماژول در پیکربندی php ثبت می شود و عملکرد ماژول به طور خودکار با استفاده از یک تست بررسی می شود. خروجی متن اسکریپت اسمبلی باید حاوی پیامی باشد که آزمایش موفقیت آمیز را نشان می دهد:
تست های در حال اجرا... ... انجام شد.
ماژول شما آماده استفاده است. اکنون می توان دایرکتوری را حذف کرد:
# شکل دهنده rm -rاگر در ساخت مشکل دارید، باید مطمئن شوید که تمام بسته های لازم روی سیستم شما نصب و پیکربندی شده است. برای مونتاژ و راه اندازی ماژول باید نصب کنید:
می توانید با دستور زیر ساخت ماژول را بدون اعمال اضافی شروع کنید:
# bash compile.shفایل تمام شده در دایرکتوری morpher/php/modules قرار خواهد گرفت. باید در فهرست پسوندهای PHP قرار گیرد، به عنوان مثال:
# php-config --extension-dir/usr/lib/php5/20121212 # mv modules/morpher.so /usr/lib/php5/20121212/فهرست برنامه افزودنی ممکن است در سیستم شما متفاوت باشد.
# bash setup.shیا خودتان نام پسوند را در فایل php.ini مشخص کنید. میتوانید با اجرای دستی یک اسکریپت آزمایشی PHP از خط فرمان، عملکرد افزونه را بررسی کنید:
# php -f test.phpتست های در حال اجرا... ... انجام شد.خطاهای احتمالی در هنگام مونتاژ و راه های رفع آنها
خطا: /usr/bin/ld: نمی تواند -lm را پیدا کند
دلیل: بسته glibc-static را نصب نکرده اید.
خطا: .../include/php/php_config.h:2526:30: خطا: فراخوانی «isnan(double&)» بارگذاری شده مبهم است. (شماره خط ممکن است در نسخه PHP و پیکربندی شما متفاوت باشد)
مشکل بسیار محبوبی که با آن روبرو شده است برنامه نویسان وب، این انحطاط کلمات در PHP. به عنوان مثال، باید نمایش دهید که چند دقیقه پیش یک پیام باقی مانده است. شما به سادگی می توانید یک عدد و یک کلمه بنویسید " دقایقاما پس از آن بسیار عجیب نوشته خواهد شد، برای مثال، 1 دقیقه", "2 دقیقهو غیره. در واقع بدون انحطاط کلمات در PHPشما نمی توانید این کار را انجام دهید، مگر اینکه، البته، بخواهید به زبان روسی بنویسید.
این مشکل برای مبتدیان بسیار دشوار به نظر می رسد، اما، در واقع، الگوی خاصی برای انحطاط کلمات وجود دارد. خودت ببین: " 1 دقیقه، 2 دقیقه، 5 دقیقه، 11 دقیقه، 19 دقیقه، 21 دقیقه، 22 دقیقه، 25 دقیقه و غیره"الگویی را می بینید؟ 1, 21, 31, 41 - همیشه خواهد بود " دقیقهاگر رقم کم اهمیت بیشتر باشد 1و کمتر 5 ، در حالی که خود عدد هنگام تقسیم بر 100 باقی مانده بیشتر دارد 20 (یعنی مثلاً یک عدد نیست 12 و نه 112 ، سپس وجود خواهد داشت " دقایق". در موارد دیگر " دقایق".
تابع getWord ($number، $پسوند) (
$keys = آرایه (2، 0، 1، 1، 1، 2);
$mod = $number % 100;
$suffix_key = ($mod > 7 && $mod< 20) ? 2: $keys;
بازگشت $پسوند[$suffix_key];
}
$array = array("دقیقه"، "دقیقه"، "دقیقه"); $n = 21;
echo "$n $word
";
$n = 11;
$word = getWord($n، $array);
echo "$n $word
";
$n = 4;
$word = getWord($n، $array);
echo "$n $word
";
?>
با اجرای این اسکریپت آن را خواهید دید انحطاط کلمات در PHPبا یک انفجار اتفاق می افتد فقط می توانم اضافه کنم که علاوه بر " دقایق"ممکن است وجود داشته باشد" روز", "ساعت", "انسان", "کامپیوتر" و تمام اسم های دیگر که بسته به عدد کاهش می یابد.
جاوا اسکریپت در مرورگر شما مسدود شده است. لطفا جاوا اسکریپت را برای عملکرد سایت فعال کنید!
API برای انحراف کلمه، گرفتن جنسیت (مذکر، مؤنث)، حروف کوچک، انحراف و سایر ویژگی های یک کلمه
API انحراف کلمه
گزینه ها:عطف کردن- یک کلمه یا فهرستی از کلمات که با فاصله از هم جدا شده اند. گزینه های زیر فقط در صورت انتقال یک کلمه در دسترس هستند.
رده جزء کلام –
توصیفگر | مثال | شرح |
---|---|---|
سی | مادر | اسم |
پ | قرمز | صفت |
KR_APIL | زیبا | صفت کوتاه |
نامحدود | برو | مصدر |
جی | آینده | فعل شخصی |
مشارکت | پیاده روی | شرکت کننده |
مشارکت | رفتن | شرکت کننده |
KR_PARTICIPLE | ساخته شده | مضارع کوتاه |
عدد | هشت | عددی (کمی) |
NUMBER-P | هشتم | شماره ترتیبی |
اماس | او | ضمیر-اسم |
MS-PREDC | هیچ چی | ضمیر اعتباری |
MS-P | هر | صفت اسمی |
ن | سرد | قید |
اجداد | جالب هست | محمول |
ترجیح می دهند | زیر | بهانه، مستمسک |
اتحاد. اتصال | و | اتحاد. اتصال |
بین | آخ | حرف ندا |
زود زود | خوب | ذره |
INVODN | قطعا | کلمه مقدماتی |
PHRAZ | خلیج های دست و پا زدن، zgi | واحد عبارت شناسی |
گراما | شرح | |
---|---|---|
جنس | ||
آقای | مردانه | |
zhr | زنانه | |
چهارشنبه | جنسیت خنثی | |
mr-zhr | جنسیت عمومی (یتیم، مست) | |
عدد | ||
واحدها | مفرد | |
pl | جمع | |
مورد | ||
آنها | اسمی | |
rd | جنسی | |
dt | داتیو | |
vn | اتهامی | |
تلویزیون | وسیله | |
و غیره | حرف اضافه | |
صدا | آوازی (پدر، خدا) | |
2 | مصدر دوم یا حالت اضافه دوم | |
زمان | ||
nst | زمان حال | |
اراده | زمان آینده | |
prsh | زمان گذشته | |
صورت | ||
1 لیتر | اولین فرد | |
2 لیتر | شخص دوم | |
3 لیتر | شخص ثالث | |
جانوری | ||
od | جان دادن | |
ولی | بی جان | |
چشم انداز | ||
St. | نمای کامل | |
ns | گونه های ناقص | |
گذرا | ||
np | انتقال | |
ne | غیر گذرا | |
سوگند - تعهد | ||
dst | صدای فعال | |
صفحه | حالت مجهول | |
دیگر | ||
0 | تغییرناپذیر | |
bezl | فعل غیر شخصی | |
pvl | حالت امری (واجب) | |
جاذبه | دارایی (استفاده نشده) | |
قبلی | فوق العاده (برای صفت ها) | |
مقایسه کنید | درجه مقایسه ای (برای صفت ها) | |
کیفیت | صفت کیفی | |
ویژگی های معنایی | ||
نام | نام (ایوان، میخائیل) | |
زن | نام خانوادگی (ایوانف، سیدوروف) | |
گزارش | نام خانوادگی (ایوانوویچ، میخائیلوویچ) | |
lok | نام نام (مسکو، لنا، اورست) | |
abbr | مخفف (KPSS، RONO) | |
org | سازمان | |
سوال | قید پرسشی | |
نشان می دهد | قید نمایشی | |
زبان عامیانه | اصطلاحات تخصصی | |
تجزیه | محاوره ای | |
قوس | باستان گرایی | |
HRH | غلط املایی | |
شاعر | شاعرانه | |
پروفسور | حرفه ای گری |
Http://site/service/api.php?inflect=Magadan&json
("0":"MAGADAN"،"1":"MAGADAN"،"2":"MAGADAN"،"3":"MAGADAN،"4":"MAGADAN"،"5":"MAGADAN،" 6":"ماگادانی"،"7":"ماگادانا"،"8":"ماگادانا"،"9":"ماگادانا"،"محدودیت":38)
Http://site/service/api.php?inflect=Magadan
Http://site/service/api.php?inflect=Rostov-on-Don&xml
برای به دست آوردن تمام صفت های جمع بی جان از کلمه "عروسی" تماس بگیرید:
Https://site/service/api.php?inflect=wedding&json&partofspeech=P&grammems=NO,MN&info
گرفتن:
("0":("word":"WEDDING"، "partofspeech":"P"، "grammems":["DT"، "QUALITY"، "MN"، "NO"، "OD"])، " 1":("word":"WEDDING"، "partofspeech":"P"، "grammems":["IM"، "QUALITY"، "MN"، "BUT"، "OD"])، "2" :("word":"WEDDING"،"partofspeech":"P"،"grammems":["VN"،"KACH"،"MN"،"BUT"])، "3":("word": "WEDDING"، "partofspeech":"P"، "grammems":["QUALITY"، "MN"، "BUT"، "OD"، "RD"])، "4":("word":"WEDDING ""partofspeech":"P"،"grammems":["QUALITY"،"MN"،"BUT"،"OD"،"PR"])، "5":("word":"WEDDING" " partofspeech":"P"،"grammems":["QUALITY"، "MN"، "NO"، "OD"، "TV"]) ,"limit":19) بدون پارامتر اطلاعات:
http://site/service/api.php?inflect=wedding&json&partofspeech=P&grammems=NO,MN
("0":"عروسی"،"1":"عروسی"،"2":"عروسی"، "3":"عروسی"، "4":"عروسی"،"5":"عروسی،" حد": 19)
API برای دریافت جنسیت کلمه، نام: مرد، زن
API برای دریافت جنسیت: مرد، زن با نام. با استفاده از این API می توانید جنسیت کاربر را با استفاده از نام کاربری دریافت کنید. با این کار نیازی به پر کردن فرم اضافی در حین ثبت نام نیست.