ویکی‌واژه fawiktionary https://fa.wiktionary.org/wiki/%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%88%D8%A7%DA%98%D9%87:%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C MediaWiki 1.39.0-wmf.23 case-sensitive مدیا ویژه بحث کاربر بحث کاربر ویکی‌واژه بحث ویکی‌واژه پرونده بحث پرونده مدیاویکی بحث مدیاویکی الگو بحث الگو راهنما بحث راهنما رده بحث رده پیوست بحث پیوست TimedText TimedText talk پودمان بحث پودمان ابزار بحث ابزار توضیحات ابزار بحث توضیحات ابزار ورزش 0 2171 848144 804416 2022-08-12T08:27:00Z Shams948 4275 ورزش/ ویرایش، فایل صوتی wikitext text/x-wiki ==فارسی== ===ریشه لغت=== *{{iir-pro}} ===آوایش=== */وَر/زِش/ [[File: LL-Q9168 (fas)-Afsham23-وَرزِش.wav|بندانگشتی]] ===[[file:Nuvola apps bookcase2.png|40px]] اسم=== '''ورزش''' #فعالیت [[بدنی]] سازمان یافته که برای تقویت قوای جسمانی و کسب مهارت‌های حرکتی انجام می‌شود. #:ورزش ممکن است در [[زبان معیار باستان]] به دو بخش [[ور]] - [[زش]] قابل تجزیه باشد، و به مفهوم کلی یعنی مرز و محدوده [[زشت|زشت‌ها]] شاید مبتلایان به [[جذام]]؛ این کلمه با [[ارزش]] نیز قرابت باستانی دارد. # تمرین، کار پیاپی و مرتب؛ انجام حرکات بدنی خاص برای تقویت عضلات. ====واژه‌های مشتق شده==== *[[ورزش باستانی]] –––– ====برگردان‌ها==== {{ترجمه-بالا|ترجمه‌ها}} *{{انگلیسی}}:[[sport]] *{{ایتالیایی}}: [[ginnastica]] *[[sport]] *[[allenamento]] *{{انگلیسی}}: [[sport]] *[[practise]] *[[practice]] *[[ploy]] *[[pastime]] *[[exercise]] *[[callisthenics]] *[[train]] *[[sweat pants]] *[[stadium]] *[[sportsmanship]] *[[sportsman]] *[[ring]] {{بر-وسط}} *[[playsuit]] *[[physical therapy]] *[[colosseum]] *[[coach]] *[[athletics]] *[[athleticism]] *[[athlete]] *[[sportive]] *[[shut out]] *[[ringside]] *[[pull over]] *[[parallel bars]] *[[long jump]] *[[field event]] *[[fan]] *[[cross country]] {{بر-وسط}} *[[blazer]] *[[weight lifter]] *[[shot put]] *[[head spring]] *[[flannel]] *[[broad jump]] *[[softball]] *[[leotard]] {{ترجمه-پایین}} ====منابع==== *فرهنگ بزرگ سخن *فرهنگ لغت معین [[رده:صفت‌های فارسی]] [[رده:صفت]] [[رده:اصطلاحات با پیشوند ور]] [[رده:اصطلاحات با پسوند زش]] 36yfap60mrhj9c95m7eu3463rs1sw7k قشنگ 0 2628 848126 847827 2022-08-12T05:00:01Z 5.122.217.86 /* فارسی */اصلاح اطلاعات اشتباه wikitext text/x-wiki ==فارسی== ===ریشه‌ لغت=== *{{فارسی}} *{{ ریشه لغت نمی تواند فارسی باشد چون زبا فارسی در اصل فاقد حرف ق ( قاف ) می‌‌باشد و تمامی کلمات دارای ای حرف یا عربی هستند یا ترکی }} ===آوایش=== */قشنگ/ ===[[file:Nuvola apps bookcase2.png|40px]] صفت=== '''قشنگ''' #زیبا، خوشگل، ظریف. ==زبان دیگر== *{{آذری}} ====آوایش==== */قَش/اَنگ/ ===[[file:Nuvola apps bookcase2.png|40px]] صفت=== #گؤزل، زیبا و خوشگل بودن به ویژه صورت زیبا داشتن. ==زبان دیگر== *{{زبان بهاری}} # غش کننده #: ''غش اِلی‌یَن'' #::غش کننده، کسی که بر اثر شنیدن خبر یا بر اثر اتفاقی که بر او حادث می‌شود، [[غش]] کند. ---- ====برگردان‌ها==== {{ترجمه-بالا}} *'''{{ایتالیایی}}''': [[carino]] *'''[[آذری]]''': [[گؤزل]] *'''{{ان}}''': [[beautiful]] *'''{{ایتا}}''': [[bello]] *'''{{انگلیسی}}''': [[sprucy]] *[[spruce]] *[[pretty]] *[[prettify]] {{بر-وسط}} *[[pert]] *[[goodly]] *[[goodlooking]] *[[cheesy]] *[[beautiful]] *[[beauteous]] *[[smarten]] *[[beautify]] {{بر-وسط}} *[[beautifier]] *[[adorn]] *[[whigmaleery]] *[[whigmaleerie]] *[[lido]] *[[gimcrack]] *[[eros]] *[[cherub]] *[[gewgaw]] {{ترجمه-پایین}} ====منابع==== *فرهنگ لغت معین [[رده:صفت‌های فارسی]] [[رده:واژه‌های فارسی]] [[رده:صفت‌های زبان بهاری]] [[رده:اصطلاحات با پسوند انگ]] q0iptny7sokqnt427ervqotesqljjn5 848130 848126 2022-08-12T06:40:58Z HAKHSIN 4580 ویرایش [[Special:Contributions/5.122.217.86|5.122.217.86]] ([[User talk:5.122.217.86|بحث]]) به آخرین تغییری که [[User:HAKHSIN|HAKHSIN]] انجام داده بود واگردانده شد wikitext text/x-wiki ==فارسی== ===ریشه‌ لغت=== *{{فارسی}} ===آوایش=== */قشنگ/ ===[[file:Nuvola apps bookcase2.png|40px]] صفت=== '''قشنگ''' #زیبا، خوشگل، ظریف. ==زبان دیگر== *{{آذری}} ====آوایش==== */قَش/اَنگ/ ===[[file:Nuvola apps bookcase2.png|40px]] صفت=== #گؤزل، زیبا و خوشگل بودن به ویژه صورت زیبا داشتن. ==زبان دیگر== *{{زبان بهاری}} # غش کننده #: ''غش اِلی‌یَن'' #::غش کننده، کسی که بر اثر شنیدن خبر یا بر اثر اتفاقی که بر او حادث می‌شود، [[غش]] کند. ---- ====برگردان‌ها==== {{ترجمه-بالا}} *'''{{ایتالیایی}}''': [[carino]] *'''[[آذری]]''': [[گؤزل]] *'''{{ان}}''': [[beautiful]] *'''{{ایتا}}''': [[bello]] *'''{{انگلیسی}}''': [[sprucy]] *[[spruce]] *[[pretty]] *[[prettify]] {{بر-وسط}} *[[pert]] *[[goodly]] *[[goodlooking]] *[[cheesy]] *[[beautiful]] *[[beauteous]] *[[smarten]] *[[beautify]] {{بر-وسط}} *[[beautifier]] *[[adorn]] *[[whigmaleery]] *[[whigmaleerie]] *[[lido]] *[[gimcrack]] *[[eros]] *[[cherub]] *[[gewgaw]] {{ترجمه-پایین}} ====منابع==== *فرهنگ لغت معین [[رده:صفت‌های فارسی]] [[رده:واژه‌های فارسی]] [[رده:صفت‌های زبان بهاری]] [[رده:اصطلاحات با پسوند انگ]] ed3hv9r2f5nwfqauxironfyienr53ss overcome 0 10999 848127 801992 2022-08-12T06:11:06Z HAKHSIN 4580 اصلاحیدن و گستردن wikitext text/x-wiki ==انگلیسی== ===فعل=== {{فعل-ان}} # [[چیرادن]]؛ [[چیره شدن]]: #: I eventually overcame my shyness in class. #: I believe that we will overcome in the end. # [[غلبیدن]]؛ [[غلبادن]]؛ [[غلبه کردن]]: #: They were overcome by fumes from the fire and had to be carried out of their houses. #: Overcome with/by emotion, she found herself unable to speak for a few minutes. #: He was overcome by smoke before he could get out of the apartment. n9nsz2tculzyiiu1fqop89eqtqcpdjd baby 0 12242 848140 847589 2022-08-12T07:47:11Z Beginneruser 11037 wikitext text/x-wiki ==انگلیسی== ===ریشه‌شناسی=== {{multiple images |direction = vertical |image1 = Baby.jpg |caption1 = بچه‌ی آدم |image2 = Baby ginger monkey.jpg |caption2 = بچه‌ی [[monkey#Noun|میمون]] |image3 = Smaller Babyelephant45 from wiki commons.jpg |caption3 = بچه‌ی [[فیل]] }} ====اسم==== {{en-noun}} #[[بچه]] #[[کودک]] ====فعل==== {{en-verb}} #[[مانند]] [[کودک]] [[رفتارکردن]] 7yuplaozgyz5iaezhz60xo0ca8z5lno 848142 848140 2022-08-12T08:04:12Z Beginneruser 11037 wikitext text/x-wiki ==انگلیسی== ===ریشه‌شناسی=== {{multiple images |direction = vertical |image1 = Baby.jpg |caption1 = بچه‌ی آدم |image2 = Baby ginger monkey.jpg |caption2 = بچه‌ی [[monkey#Noun|میمون]] |image3 = Smaller Babyelephant45 from wiki commons.jpg |caption3 = بچه‌ی [[فیل]] }} ===اسم=== {{en-noun}} #[[بچه]] #[[کودک]] ===صفت=== {{en-adj|er|babyer|baby-er}} ===فعل=== {{en-verb}} #[[مانند]] [[کودک]] [[رفتارکردن]] o3rgr72g4yidjocvazchmp1n7zas3jr رده:اسم‌های انگلیسی 14 18092 848133 761818 2022-08-12T07:16:00Z Beginneruser 11037 wikitext text/x-wiki [[رده:اسم]][[رده:انگلیسی]] [[رده:زبان انگلیسی]] [[رده:اسم‌ها]] [[رده:اسم‌ها بر اساس زبان]] [[رده:بن‌واژه‌های انگلیسی]] q7dduzcpz7opgbvln6n6l4tk1kdbwss وقت 0 20564 848143 837432 2022-08-12T08:04:16Z Shams948 4275 وقت/ ویرایش، فایل صوتی wikitext text/x-wiki ==فارسی== ===ریشه‌ لغت=== *{{عربی}} ===آوایش=== */وَقْت/----/{{اسم-فا|اوقات}} [[File: LL-Q9168 (fas)-Afsham23-وَقت.wav|بندانگشتی]] ===[[file:Nuvola apps bookcase2.png|40px]] اسم=== '''وقت''' #مقداری از زمان که برای امری فرض شده، [[هنگام]]، [[زمان]]. #دوره، عصر.فرصت.نوبت.فصل. ====[[تصویر:Ambox_notice.png|40px]] مثال==== #[[وقت گل نی]]: کنایه از وقتی که هرگز نخواهد آمد، چون [[نی]] گل نمی‌دهد پس وعده به آن هم تحقق نخواهد شد.[[هیچوقت]]. ====واژه‌های وابسته==== *[[زمانه]] –––– ====برگردان‌ها==== {{ترجمه-بالا|ترجمه‌ها}} *{{آلمانی}}: [[-----]] *{{اسپانیایی}}: [[-----]] *{{انگلیسی}}: [[time]] *{{ایتالیایی}}: [[-----]] *{{پرتغالی}}: [[-----]] *{{روسی}}: [[-----]] *{{فرانسوی}}: [[-----]] *{{ایتالیایی}}: [[ora]] *[[tempo]] *انگلیسی}}: [[time]] *[[period]] *[[hour]] *[[when]] *[[truancy]] *[[timing]] *[[timekeeper]] *[[time sharing]] *[[time killer]] *[[temporize]] *[[temporization]] *[[temporalize]] *[[tempo]] *[[repast]] *[[punctuality]] *[[punctual]] *[[piddle]] *[[part time]] *[[off time]] {{بر-وسط}} *[[niggle]] *[[never]] *[[machine time]] *[[leisure]] *[[if]] *[[idle]] *[[horology]] *[[horologe]] *[[harvest]] *[[half time]] *[[full time]] *[[evermore]] *[[dawdle]] *[[computer time]] *[[chronometer]] *[[bedtime]] *[[assignation]] *[[always]] *[[alway]] *[[worthwhile]] *[[whenever]] *[[well timed]] *[[timing track]] *[[timing diagram]] *[[timing chart]] *[[timeshared]] *[[timeshare]] *[[thenceforward]] {{بر-وسط}} *[[syne]] *[[snooze]] *[[snail]] *[[short]] *[[moon]] *[[mistime]] *[[late]] *[[hereunto]] *[[frivol]] *[[dillydally]] *[[preignition]] *[[preconception]] *[[overtime]] *[[lounge]] *[[long winded]] *[[loaf]] *[[jauk]] *[[hang around]] *[[dally]] *[[coincident]] *[[chronometry]] *[[time saver]] *[[concurrent]] *[[timer]] *[[slug]] *[[impromptu]] *[[ubiquity]] {{ترجمه-پایین}} ====منابع==== *فرهنگ لغت معین [[رده:اسم‌های معرب]] [[رده:واژه‌های عربی]] [[رده:اسم‌های عربی]] leuhh7yn94xcgdwpmc4pxcv4ke78ocj الگو:en-noun 10 26305 848132 847573 2022-08-12T07:14:32Z Beginneruser 11037 is noue wikitext text/x-wiki {{#invoke:en-headword|show|اسم‌های}}<noinclude>{{documentation}}</noinclude> 5tp7zw8urp5si1u9nsolqa1k7nrkkc9 چنین 0 38259 848097 793693 2022-08-11T13:22:42Z 5.122.240.199 /* فارسی */ wikitext text/x-wiki ==فارسی== (چُ یا چِ) (ق تشب.) # چون این: مانند این، مثل این، این گونه، این طور. ====منابع==== * فرهنگ لغت معین ====برگردان‌ها==== ;{{انگلیسی}}: [[thus]] *[[such]] *[[so]] *[[sic]] *[[likewise]] *[[so and so]] *[[methinks]] *[[exactly]] *[[amen]] *[[meseems]] *[[so called]] *[[si۷زارck]] [[رده:فارسی]] f8nbtlg4hv16zpyyt97m5wj07pv47ym 848105 848097 2022-08-11T16:35:14Z HAKHSIN 4580 ویرایش [[Special:Contributions/5.122.240.199|5.122.240.199]] ([[User talk:5.122.240.199|بحث]]) به آخرین تغییری که [[User:AhmadWikiBot|AhmadWikiBot]] انجام داده بود واگردانده شد wikitext text/x-wiki ==فارسی== (چُ یا چِ) (ق تشب.) # چون این: مانند این، مثل این، این گونه، این طور. ====منابع==== * فرهنگ لغت معین ====برگردان‌ها==== ;{{انگلیسی}}: [[thus]] *[[such]] *[[so]] *[[sic]] *[[likewise]] *[[so and so]] *[[methinks]] *[[exactly]] *[[amen]] *[[meseems]] *[[so called]] *[[sick]] [[رده:فارسی]] hux1hpbjag5r5j3qups0iyozu1blhp2 ارسالی 0 41628 848106 848089 2022-08-11T16:35:18Z HAKHSIN 4580 ویرایش [[Special:Contributions/ذبیح الله موسوی|ذبیح الله موسوی]] ([[User talk:ذبیح الله موسوی|بحث]]) به آخرین تغییری که [[User:Rezabot|Rezabot]] انجام داده بود واگردانده شد wikitext text/x-wiki ==فارسی== ====برگردان‌ها==== ;{{انگلیسی}}: [[remittance]] l944wrurgrphlvybfud21bf1modq7lh وارد شدن 0 53958 848146 624252 2022-08-12T08:49:09Z Shams948 4275 وارد شدن wikitext text/x-wiki ==فارسی== ===ریشه‌ لغت=== *{{فارسی}} ===آوایش=== */وارِد/شدن/ [[File: LL-Q9168 (fas)-Afsham23-وارِد شدن.wav|بندانگشتی]] ===[[file:Nuvola apps bookcase2.png|40px]] مصدر فعل لازم=== '''وارد شدن''' #داخل شدن، به درون جایی آمدن، [[رسیدن]]. #(عامیانه): ماهر شدن، اُستاد شدن. –––– ====برگردان‌ها==== {{ترجمه-بالا|ترجمه‌ها}} *{{ایتالیایی}}: [[entrare]] {{ترجمه-پایین}} ====منابع==== *فرهنگ بزرگ سخن *فرهنگ لغت معین [[رده:مصدر لازم فارسی-عربی]] [[رده:مصدر فعل لازم]] [[رده:اسم‌های مرکب فارسی]] [[رده:واژه‌های مرکب فارسی]] otydqqqddcp3r4cdgcxls40tf63saon پودمان:en-headword 828 159180 848134 847580 2022-08-12T07:22:34Z Beginneruser 11037 Localization Scribunto text/plain local export = {} local pos_functions = {} local lang = require("Module:languages").getByCode("en") local PAGENAME = mw.title.getCurrentTitle().text local function glossary_link(entry, text) text = text or entry return "[[Appendix:Glossary#" .. entry .. "|" .. text .. "]]" end local function track(page) require("Module:debug").track("en-headword/" .. page) return true end -- The main entry point. -- This is the only function that can be invoked from a template. function export.show(frame) local poscat = frame.args[1] or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.") local params = { ["head"] = {list = true}, ["suff"] = {type = "boolean"}, ["sort"] = {}, } local pos_data = pos_functions[poscat] if pos_data then for key, val in pairs(pos_data.params) do params[key] = val end end local args, unknown_args = require("Module:parameters").process(frame:getParent().args, params, pos_data.return_unknown) if unknown_args and next(unknown_args) then track("unknown args") track("unknown args/POS/" .. tostring(poscat)) for parameter, value in pairs(unknown_args) do track("unknown args/param/" .. tostring(parameter)) mw.log("unknown parameter in [[Module:headword]]: |" .. tostring(parameter) .. "=" .. tostring(value)) end end local data = {lang = lang, pos_category = poscat, categories = {}, heads = args["head"], inflections = {}} if #data.heads == 0 and args.pagename then table.insert(data.heads, args.pagename) end if args["suff"] then data.pos_category = "suffixes" if poscat == "صفت‌های" or poscat == "قید‌های" or poscat == "اسم‌های" or poscat == "فعل‌های" then table.insert(data.categories, ("%s %s-forming suffixes") :format(lang:getCanonicalName(), poscat:gsub("s$", ""))) else error("No category exists for suffixes forming " .. poscat .. ".") end end if pos_data then pos_data.func(args, data) end local extra_categories = {} if PAGENAME:find("[Qq][^Uu]") or PAGENAME:find("[Qq]$") then table.insert(data.categories, lang:getCanonicalName() .. " words containing Q not followed by U") end if PAGENAME:find("([A-Za-z])%1%1") then table.insert(data.categories, lang:getCanonicalName() .. " words containing three consecutive instances of the same letter") end if PAGENAME:find("([A-Za-z])%1%1%1") then table.insert(data.categories, lang:getCanonicalName() .. " words containing four consecutive instances of the same letter") end -- mw.ustring.toNFD performs decomposition, so letters that decompose -- to an ASCII vowel and a diacritic, such as é, are counted as vowels and -- do not need to be included in the pattern. if not mw.ustring.find(mw.ustring.lower(mw.ustring.toNFD(PAGENAME)), "[aeiouyæœø]") then table.insert(data.categories, lang:getCanonicalName() .. " words without vowels") end if PAGENAME:find("yre$") then table.insert(data.categories, lang:getCanonicalName() .. ' words ending in "-yre"') end if not PAGENAME:find(" ") and PAGENAME:len() >= 25 then table.insert(extra_categories, "Long " .. lang:getCanonicalName() .. ' words') end if PAGENAME:find("^[^aeiou ]*a[^aeiou ]*e[^aeiou ]*i[^aeiou ]*o[^aeiou ]*u[^aeiou ]*$") then table.insert(data.categories, lang:getCanonicalName() .. ' words that use all vowels in alphabetical order') end data.sort_key = args.sort return require("Module:headword").full_headword(data) .. (#extra_categories > 0 and require("Module:utilities").format_categories(extra_categories, lang, args.sort) or "") end -- This function does the common work between adjectives and adverbs function make_comparatives(params, data) local comp_parts = {label = glossary_link("comparative"), accel = {form = "comparative"}} local sup_parts = {label = glossary_link("superlative"), accel = {form = "superlative"}} if #params == 0 then table.insert(params, {"more"}) end -- To form the stem, replace -(e)y with -i and remove a final -e. local stem = PAGENAME:gsub("([^aeiou])e?y$", "%1i"):gsub("e$", "") -- Go over each parameter given and create a comparative and superlative form for i, val in ipairs(params) do local comp = val[1] local comp_qual = val[2] local sup = val[3] local sup_qual = val[4] local comp_part, sup_part if comp == "more" and PAGENAME ~= "many" and PAGENAME ~= "much" then comp_part = "[[more]] " .. PAGENAME sup_part = "[[most]] " .. PAGENAME elseif comp == "further" and PAGENAME ~= "far" then comp_part = "[[further]] " .. PAGENAME sup_part = "[[furthest]] " .. PAGENAME elseif comp == "er" then comp_part = stem .. "er" sup_part = stem .. "est" elseif comp == "-" or sup == "-" then -- Allowing '-' makes it more flexible to not have some forms if comp ~= "-" then comp_part = comp end if sup ~= "-" then sup_part = sup end else -- If the full comparative was given, but no superlative, then -- create it by replacing the ending -er with -est. if not sup then if comp:find("er$") then sup = comp:gsub("er$", "est") else error("The superlative of \"" .. comp .. "\" cannot be generated automatically. Please provide it with the \"sup" .. (i == 1 and "" or i) .. "=\" parameter.") end end comp_part = comp sup_part = sup end if comp_part then table.insert(comp_parts, {term = comp_part, qualifiers = {comp_qual}}) end if sup_part then table.insert(sup_parts, {term = sup_part, qualifiers = {sup_qual}}) end end table.insert(data.inflections, comp_parts) table.insert(data.inflections, sup_parts) end pos_functions["adjectives"] = { params = { [1] = {list = true, allow_holes = true}, ["comp_qual"] = {list = "comp=_qual", allow_holes = true}, ["sup"] = {list = true, allow_holes = true}, ["sup_qual"] = {list = "sup=_qual", allow_holes = true}, }, func = function(args, data) local shift = 0 local is_not_comparable = false local is_comparative_only = false -- If the first parameter is ?, then don't show anything, just return. if args[1][1] == "?" then return -- If the first parameter is -, then move all parameters up one position. elseif args[1][1] == "-" then shift = 1 is_not_comparable = true -- If the only argument is +, then remember this and clear parameters elseif args[1][1] == "+" and args[1].maxindex == 1 then shift = 1 is_comparative_only = true end -- Gather all the comparative and superlative parameters. local params = {} for i = 1, args[1].maxindex - shift do local comp = args[1][i + shift] local comp_qual = args["comp_qual"][i + shift] local sup = args["sup"][i] local sup_qual = args["sup_qual"][i + shift] if comp or sup then table.insert(params, {comp, comp_qual, sup, sup_qual}) end end if shift == 1 then -- If the first parameter is "-" but there are no parameters, -- then show "not comparable" only and return. -- If there are parameters, then show "not generally comparable" -- before the forms. if #params == 0 then if is_not_comparable then table.insert(data.inflections, {label = "not " .. glossary_link("comparable")}) table.insert(data.categories, lang:getCanonicalName() .. " uncomparable adjectives") return end if is_comparative_only then table.insert(data.inflections, {label = glossary_link("comparative") .. " form only"}) table.insert(data.categories, lang:getCanonicalName() .. " comparative-only adjectives") return end else table.insert(data.inflections, {label = "not generally " .. glossary_link("comparable")}) end end -- Process the parameters make_comparatives(params, data) end } pos_functions["adverbs"] = { params = { [1] = {list = true, allow_holes = true}, ["comp_qual"] = {list = "comp=_qual", allow_holes = true}, ["sup"] = {list = true, allow_holes = true}, ["sup_qual"] = {list = "sup=_qual", allow_holes = true}, }, func = function(args, data) local shift = 0 -- If the first parameter is ?, then don't show anything, just return. if args[1][1] == "?" then return -- If the first parameter is -, then move all parameters up one position. elseif args[1][1] == "-" then shift = 1 end -- Gather all the comparative and superlative parameters. local params = {} for i = 1, args[1].maxindex - shift do local comp = args[1][i + shift] local comp_qual = args["comp_qual"][i + shift] local sup = args["sup"][i] local sup_qual = args["sup_qual"][i + shift] if comp or sup then table.insert(params, {comp, comp_qual, sup, sup_qual}) end end if shift == 1 then -- If the first parameter is "-" but there are no parameters, -- then show "not comparable" only and return. If there are parameters, -- then show "not generally comparable" before the forms. if #params == 0 then table.insert(data.inflections, {label = "not " .. glossary_link("comparable")}) table.insert(data.categories, lang:getCanonicalName() .. " uncomparable adverbs") return else table.insert(data.inflections, {label = "not generally " .. glossary_link("comparable")}) end end -- Process the parameters make_comparatives(params, data) end } pos_functions["conjunctions"] = { params = { [1] = { alias_of = "head" }, }, return_unknown = true, func = function (args, data) end, } pos_functions["interjections"] = { params = { [1] = { alias_of = "head" }, }, return_unknown = true, func = function (args, data) end, } local function default_plural(noun) local new_pl if noun:find("[sxz]$") or noun:find("[cs]h$") then new_pl = noun .. "es" elseif noun:find("[^aeiou]y$") then new_pl = noun:gsub("y$", "i") .. "es" else new_pl = noun .. "s" end return new_pl end local function canonicalize_plural(pl, stem) if pl == "s" then return stem .. "s" elseif pl == "es" then return stem .. "es" elseif pl == "+" then return default_plural(PAGENAME) else return nil end end pos_functions["اسم‌های"] = { params = { [1] = {list = true, allow_holes = true}, ["pl=qual"] = { list = true, allow_holes = true }, }, func = function(args, data) -- Gather all the plural parameters from the numbered parameters. local plurals = {} for i = 1, args[1].maxindex do local pl = args[1][i] if pl then local qual = args["plqual"][i] if qual then table.insert(plurals, {term = pl, qualifiers = {qual}}) else table.insert(plurals, pl) end end end -- Decide what to do next... local mode = nil if plurals[1] == "?" or plurals[1] == "!" or plurals[1] == "-" or plurals[1] == "~" then mode = plurals[1] table.remove(plurals, 1) -- Remove the mode parameter end -- Plural is unknown if mode == "?" then table.insert(data.categories, lang:getCanonicalName() .. " nouns with unknown or uncertain plurals") return -- Plural is not attested elseif mode == "!" then table.insert(data.inflections, {label = "plural not attested"}) table.insert(data.categories, lang:getCanonicalName() .. " nouns with unattested plurals") return -- Uncountable noun; may occasionally have a plural elseif mode == "-" then table.insert(data.categories, "اسم‌های شمارش‌ناپذیر " .. lang:getCanonicalName()) -- If plural forms were given explicitly, then show "usually" if #plurals > 0 then table.insert(data.inflections, {label = "usually " .. glossary_link("شمارش‌ناپذیر")}) table.insert(data.categories, "اسم‌های شمارش‌پذیر " .. lang:getCanonicalName()) else table.insert(data.inflections, {label = glossary_link("شمارش‌ناپذیر")}) end -- Mixed countable/uncountable noun, always has a plural elseif mode == "~" then table.insert(data.inflections, {label = glossary_link("شمارش‌پذیر") .. " و " .. glossary_link("شمارش‌ناپذیر")}) table.insert(data.categories, "اسم‌های شمارش‌ناپذیر " .. lang:getCanonicalName()) table.insert(data.categories, "اسم‌های شمارش‌پذیر " .. lang:getCanonicalName()) -- If no plural was given, add a default one now if #plurals == 0 then plurals = {default_plural(PAGENAME)} end -- The default, always has a plural else table.insert(data.categories, "اسم‌های شمارش‌پذیر " .. lang:getCanonicalName()) -- If no plural was given, add a default one now if #plurals == 0 then plurals = {default_plural(PAGENAME)} end end -- If there are no plurals to show, return now if #plurals == 0 then return end -- There are plural forms to show, so show them local pl_parts = {label = "plural", accel = {form = "p"}} local function check_ies(pl, stem) local newplural, nummatches = stem:gsub("([^aeiou])y$","%1ies") return nummatches > 0 and pl == newplural end local stem = PAGENAME local irregular = false for i, pl in ipairs(plurals) do local canon_pl = canonicalize_plural(pl, stem) if canon_pl then table.insert(pl_parts, canon_pl) elseif type(pl) == "table" then canon_pl = canonicalize_plural(pl.term, stem) if canon_pl then table.insert(pl_parts, {term=canon_pl, qualifiers=pl.qualifiers}) end end if not canon_pl then table.insert(pl_parts, pl) if type(pl) == "table" then pl = pl.term end if not stem:find(" ") and not (pl == stem .. "s" or pl == stem .. "es" or check_ies(pl, stem)) then irregular = true if pl == stem then table.insert(data.categories, lang:getCanonicalName() .. " indeclinable nouns") end end end end if irregular then table.insert(data.categories, "اسم‌های دارای جمع‌های باقاعده " .. lang:getCanonicalName()) end table.insert(data.inflections, pl_parts) end } pos_functions["proper nouns"] = { params = { [1] = {list = true}, }, func = function(args, data) local plurals = args[1] -- Decide what to do next... local mode = nil if plurals[1] == "?" or plurals[1] == "!" or plurals[1] == "-" or plurals[1] == "~" then mode = plurals[1] table.remove(plurals, 1) -- Remove the mode parameter end -- Plural is unknown if mode == "?" then table.insert(data.categories, lang:getCanonicalName() .. " proper nouns with unknown or uncertain plurals") return -- Plural is not attested elseif mode == "!" then table.insert(data.inflections, {label = "plural not attested"}) table.insert(data.categories, lang:getCanonicalName() .. " proper nouns with unattested plurals") return -- Uncountable noun; may occasionally have a plural elseif mode == "-" then -- If plural forms were given explicitly, then show "usually" if #plurals > 0 then table.insert(data.inflections, {label = "usually " .. glossary_link("uncountable")}) table.insert(data.categories, lang:getCanonicalName() .. " countable proper nouns") else table.insert(data.inflections, {label = glossary_link("uncountable")}) end -- Mixed countable/uncountable noun, always has a plural elseif mode == "~" then table.insert(data.inflections, {label = glossary_link("countable") .. " and " .. glossary_link("uncountable")}) table.insert(data.categories, lang:getCanonicalName() .. " countable proper nouns") -- If no plural was given, add a default one now if #plurals == 0 then plurals = {"s"} end elseif #plurals > 0 then table.insert(data.categories, lang:getCanonicalName() .. " countable proper nouns") end -- If there are no plurals to show, return now if #plurals == 0 then return end -- There are plural forms to show, so show them local pl_parts = {label = "plural", accel = {form = "p"}} local stem = PAGENAME for i, pl in ipairs(plurals) do if pl == "s" then table.insert(pl_parts, stem .. "s") elseif pl == "es" then table.insert(pl_parts, stem .. "es") else table.insert(pl_parts, pl) end end table.insert(data.inflections, pl_parts) end } local function base_default_verb_forms(verb) local s_form = default_plural(verb) local ing_form, ed_form local vowel = "aeiouáéíóúàèìòùâêîôûäëïöüæœø" local ulvowel = vowel .. "AEIOUÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÆŒØ" -- (1) Check for C*VC verbs. -- -- flip -> flipping/flipped, strum -> strumming/strummed, nag -> nagging/nagged, etc. -- Do not include words with final -y, e.g. 'stay' (staying/stayed), 'toy' (toying/toyed), -- or with final -w, e.g. 'flow' (flowing/flowed), or with final -h, e.g. 'ah' (ahing/ahed), -- or with final -x, e.g. 'box' (boxing/boxed), or ending in an uppercase consonant, -- e.g. 'XOR' (XORing/XORed), 'OK' (OKing/OKed). Check specially for initial y- as a consonant, -- e.g. 'yip' (yipping/yipped), otherwise treat y as a vowel, so we don't trigger on 'hyphen' -- but do trigger on 'gyp'. local last_cons = mw.ustring.match(verb, "^[Yy][" .. vowel .. "y]([^A-Z" .. vowel .. "ywxh])$") if not last_cons then last_cons = mw.ustring.match(verb, "^[^" .. ulvowel .. "yY]*[" .. ulvowel .. "yY]([^A-Z" .. vowel .. "ywxh])$") end if last_cons then ing_form = verb .. last_cons .. "ing" ed_form = verb .. last_cons .. "ed" else -- (2) Generate -ing form. -- (2a) lie -> lying, untie -> untying, etc. local stem = verb:match("^(.*)ie$") if stem then ing_form = stem .. "ying" else -- (2b) argue -> arguing, sprue -> spruing, dialogue -> dialoguing, etc. stem = verb:match("^(.*)ue$") if stem then ing_form = stem .. "uing" else stem = mw.ustring.match(verb, "^(.*[" .. ulvowel .. "yY][^" .. vowel .. "y]+)e$") if stem then -- (2c) baptize -> baptizing, rake -> raking, type -> typing, parse -> parsing, etc. -- (ending in vowel + consonant(s) + -e); but not referee -> refereeing, -- backhoe -> backhoeing, redye -> redyeing (ending in some other vowel + -e or in -ye); -- and not be -> being (no vowel before the consonant preceding the -e) ing_form = stem .. "ing" else -- (2d) regular verbs ing_form = verb .. "ing" end end end -- (3) Generate -ed form. if verb:find("e$") then -- (3a) baptize -> baptized, rake -> raked, parse -> parsed, free -> freed, hoe -> hoed ed_form = verb .. "d" else stem = mw.ustring.match(verb, "^(.*[^" .. ulvowel .. "yY])y$") if stem then -- (3b) marry -> married, levy -> levied, try -> tried, etc.; but not toy -> toyed ed_form = stem .. "ied" else -- (3c) regular verbs ed_form = verb .. "ed" end end end return s_form, ing_form, ed_form end local function default_verb_forms(verb) local full_s_form, full_ing_form, full_ed_form = base_default_verb_forms(verb) if verb:find(" ") then local first, rest = verb:match("^(.-)( .*)$") local first_s_form, first_ing_form, first_ed_form = base_default_verb_forms(first) return full_s_form, full_ing_form, full_ed_form, first_s_form .. rest, first_ing_form .. rest, first_ed_form .. rest else return full_s_form, full_ing_form, full_ed_form, nil, nil, nil end end pos_functions["فعل‌های"] = { params = { [1] = {list = "pres_3sg", allow_holes = true}, ["pres_3sg_qual"] = {list = "pres_3sg=_qual", allow_holes = true}, [2] = {list = "pres_ptc", allow_holes = true}, ["pres_ptc_qual"] = {list = "pres_ptc=_qual", allow_holes = true}, [3] = {list = "past", allow_holes = true}, ["past_qual"] = {list = "past=_qual", allow_holes = true}, [4] = {list = "past_ptc", allow_holes = true}, ["past_ptc_qual"] = {list = "past_ptc=_qual", allow_holes = true}, ["pagename"] = {}, -- for testing }, func = function(args, data) -- Get parameters local par1 = args[1][1] local par2 = args[2][1] local par3 = args[3][1] local par4 = args[4][1] local pres_3sgs, pres_ptcs, pasts, past_ptcs local pagename = args.pagename or PAGENAME ------------------------------------------- UTILITY FUNCTIONS #1 ------------------------------------------ -- These functions are used directly in the <> format as well as in the utility functions #2 below. local function compute_double_last_cons_stem(verb) local last_cons = verb:match("([bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ])$") if not last_cons then error("Verb stem '" .. verb .. "' must end in a consonant to use ++") end return verb .. last_cons end local function compute_plusplus_s_form(verb, default_s_form) if verb:find("[sz]$") then -- regas -> regasses, derez -> derezzes return compute_double_last_cons_stem(verb) .. "es" else return default_s_form end end ------------------------------------------- UTILITY FUNCTIONS #2 ------------------------------------------ -- These functions are used in both in the separate-parameter format and in the override params such as past_ptc2=. local new_default_s, new_default_ing, new_default_ed, split_default_s, split_default_ing, split_default_ed = default_verb_forms(pagename) local function compute_double_last_cons_stem_of_split_verb(verb, ending) local first, rest = verb:match("^(.-)( .*)$") if not first then error("Verb '" .. verb .. "' must have a space in it to use ++*") end local last_cons = first:match("([bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ])$") if not last_cons then error("First word '" .. first .. "' must end in a consonant to use ++*") end return first .. last_cons .. ending .. rest end local function check_non_nil_star_form(form) if form == nil then error("Verb '" .. pagename .. "' must have a space in it to use * or ++*") end return form end local function sub_tilde(form) if not form then return nil end local retval = form:gsub("~", pagename) -- discard second return value return retval end local function canonicalize_s_form(form) if form == "+" then return new_default_s elseif form == "*" then return check_non_nil_star_form(split_default_s) elseif form == "++" then return compute_plusplus_s_form(pagename, new_default_s) elseif form == "++*" then if pagename:find("^[^ ]*[sz] ") then return compute_double_last_cons_stem_of_split_verb(pagename, "es") else return check_non_nil_star_form(split_default_s) end else return sub_tilde(form) end end local function canonicalize_ing_form(form) if form == "+" then return new_default_ing elseif form == "*" then return check_non_nil_star_form(split_default_ing) elseif form == "++" then return compute_double_last_cons_stem(pagename) .. "ing" elseif form == "++*" then return compute_double_last_cons_stem_of_split_verb(pagename, "ing") else return sub_tilde(form) end end local function canonicalize_ed_form(form) if form == "+" then return new_default_ed elseif form == "*" then return check_non_nil_star_form(split_default_ed) elseif form == "++" then return compute_double_last_cons_stem(pagename) .. "ed" elseif form == "++*" then return compute_double_last_cons_stem_of_split_verb(pagename, "ed") else return sub_tilde(form) end end --------------------------------- MAIN PARSING/CONJUGATING CODE -------------------------------- local past_ptcs_given if par1 and par1:find("<") then -------------------------- ANGLE-BRACKET FORMAT -------------------------- if par2 or par3 or par4 then error("Can't specify 2=, 3= or 4= when 1= contains angle brackets: " .. par1) end -- In the angle bracket format, we always copy the full past tense specs to the past participle -- specs if none of the latter are given, so act as if the past participle is always given. -- There is a separate check to see if the past tense and past participle are identical, in any case. past_ptcs_given = true local iut = require("Module:inflection utilities") -- (1) Parse the indicator specs inside of angle brackets. local function parse_indicator_spec(angle_bracket_spec) local inside = angle_bracket_spec:match("^<(.*)>$") assert(inside) local segments = iut.parse_balanced_segment_run(inside, "[", "]") local comma_separated_groups = iut.split_alternating_runs(segments, ",") if #comma_separated_groups > 4 then error("Too many comma-separated parts in indicator spec: " .. angle_bracket_spec) end local function fetch_qualifiers(separated_group) local qualifiers for j = 2, #separated_group - 1, 2 do if separated_group[j + 1] ~= "" then error("Extraneous text after bracketed qualifiers: '" .. table.concat(separated_group) .. "'") end if not qualifiers then qualifiers = {} end table.insert(qualifiers, separated_group[j]) end return qualifiers end local function fetch_specs(comma_separated_group) if not comma_separated_group then return {{}} end local specs = {} local colon_separated_groups = iut.split_alternating_runs(comma_separated_group, ":") for _, colon_separated_group in ipairs(colon_separated_groups) do local form = colon_separated_group[1] if form == "*" or form == "++*" then error("* and ++* not allowed inside of indicator specs: " .. angle_bracket_spec) end if form == "" then form = nil end table.insert(specs, {form = form, qualifiers = fetch_qualifiers(colon_separated_group)}) end return specs end local s_specs = fetch_specs(comma_separated_groups[1]) local ing_specs = fetch_specs(comma_separated_groups[2]) local ed_specs = fetch_specs(comma_separated_groups[3]) local en_specs = fetch_specs(comma_separated_groups[4]) for _, spec in ipairs(s_specs) do if spec.form == "++" and #ing_specs == 1 and not ing_specs[1].form and not ing_specs[1].qualifiers and #ed_specs == 1 and not ed_specs[1].form and not ed_specs[1].qualifiers then ing_specs[1].form = "++" ed_specs[1].form = "++" break end end return { forms = {}, s_specs = s_specs, ing_specs = ing_specs, ed_specs = ed_specs, en_specs = en_specs, } end local parse_props = { parse_indicator_spec = parse_indicator_spec, } local alternant_multiword_spec = iut.parse_inflected_text(par1, parse_props) -- (2) Remove any links from the lemma, but remember the original form -- so we can use it below in the 'lemma_linked' form. iut.map_word_specs(alternant_multiword_spec, function(base) if base.lemma == "" then base.lemma = pagename end base.orig_lemma = base.lemma base.lemma = require("Module:links").remove_links(base.lemma) end) -- (3) Conjugate the verbs according to the indicator specs parsed above. local all_verb_slots = { lemma = "infinitive", lemma_linked = "infinitive", s_form = "3|s|pres", ing_form = "pres|ptcp", ed_form = "past", en_form = "past|ptcp", } local function conjugate_verb(base) local def_s_form, def_ing_form, def_ed_form = base_default_verb_forms(base.lemma) local function process_specs(slot, specs, default_form, canonicalize_plusplus) for _, spec in ipairs(specs) do local form = spec.form if not form or form == "+" then form = default_form elseif form == "++" then form = canonicalize_plusplus() end -- If there's a ~ in the form, substitute it with the lemma, -- but make sure to first replace % in the lemma with %% so that -- it doesn't get interpreted as a capture replace expression. if form:find("~") then -- Assign to a var because gsub returns multiple values. local subbed_lemma = base.lemma:gsub("%%", "%%%%") form = form:gsub("~", subbed_lemma) end -- If the form is -, don't insert any forms, which will result -- in there being no overall forms (in fact it will be nil). -- We check for that down below and substitute a single "-" as -- the form, which in turn gets turned into special labels like -- "no present participle". if form ~= "-" then iut.insert_form(base.forms, slot, {form = form, footnotes = spec.qualifiers}) end end end process_specs("s_form", base.s_specs, def_s_form, function() return compute_plusplus_s_form(base.lemma, def_s_form) end) process_specs("ing_form", base.ing_specs, def_ing_form, function() return compute_double_last_cons_stem(base.lemma) .. "ing" end) process_specs("ed_form", base.ed_specs, def_ed_form, function() return compute_double_last_cons_stem(base.lemma) .. "ed" end) -- If the -en spec is completely missing, substitute the -ed spec in its entirely. -- Otherwise, if individual -en forms are missing or use +, we will substitute the -- default -ed form, as with the -ed spec. local en_specs = base.en_specs if #en_specs == 1 and not en_specs[1].form and not en_specs[1].qualifiers then en_specs = base.ed_specs end process_specs("en_form", en_specs, def_ed_form, function() return compute_double_last_cons_stem(base.lemma) .. "ed" end) iut.insert_form(base.forms, "بن‌واژه", {form = base.lemma}) -- Add linked version of lemma for use in head=. We write this in a general fashion in case -- there are multiple lemma forms (which isn't possible currently at this level, although it's -- possible overall using the ((...,...)) notation). iut.insert_forms(base.forms, "lemma_linked", iut.map_forms(base.forms.lemma, function(form) if form == base.lemma and base.orig_lemma:find("%[%[") then return base.orig_lemma else return form end end)) end local inflect_props = { slot_table = all_verb_slots, inflect_word_spec = conjugate_verb, } iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props) -- (4) Fetch the forms and put the conjugated lemmas in data.heads if not explicitly given. local function fetch_forms(slot) local forms = alternant_multiword_spec.forms[slot] -- See above. This should only occur if the user explicitly used - -- for a spec. if not forms or #forms == 0 then forms = {{form = "-"}} end return forms end pres_3sgs = fetch_forms("s_form") pres_ptcs = fetch_forms("ing_form") pasts = fetch_forms("ed_form") past_ptcs = fetch_forms("en_form") -- Use the "linked" form of the lemma as the head if no head= explicitly given. -- If no links in this form and it has multiple words, autolink the individual words. -- The user can override this using head=. if #data.heads == 0 then for _, lemma_obj in ipairs(alternant_multiword_spec.forms.lemma_linked) do local lemma = lemma_obj.form if not lemma:find("%[%[") then local m_headword = require("Module:headword") if m_headword.head_is_multiword(lemma) then lemma = m_headword.add_multiword_links(lemma) end end table.insert(data.heads, lemma) end end else -------------------------- SEPARATE-PARAM FORMAT -------------------------- local pres_3sg, pres_ptc, past if par1 and not par2 and not par3 then -- Use of a single parameter other than "++", "*" or "++*" is now the "legacy" format, -- and no longer supported. if par1 == "es" or par1 == "ies" or par1 == "d" then error("Legacy parameter 1=es/ies/d no longer supported, just use 'en-verb' without params") elseif par1 == "++" or par1 == "*" or par1 == "++*" then pres_3sg = canonicalize_s_form(par1) pres_ptc = canonicalize_ing_form(par1) past = canonicalize_ed_form(par1) else error("Legacy parameter 1=STEM no longer supported, just use 'en-verb' without params") end else if par3 then track("xxx3") elseif par2 then track("xxx2") end end if not pres_3sg or not pres_ptc or not past then -- Either all three should be set above, or none of them. assert(not pres_3sg and not pres_ptc and not past) if par1 then pres_3sg = canonicalize_s_form(par1) else pres_3sg = new_default_s end if par2 then pres_ptc = canonicalize_ing_form(par2) else pres_ptc = new_default_ing end if par3 then past = canonicalize_ed_form(par3) else past = new_default_ed end end if par4 then past_ptcs_given = true past_ptc = canonicalize_ed_form(par4) else past_ptc = past end pres_3sgs = {{form = pres_3sg}} pres_ptcs = {{form = pres_ptc}} pasts = {{form = past}} past_ptcs = {{form = past_ptc}} end ------------------------------------------- HANDLE OVERRIDES ------------------------------------------ local pres_3sg_infls, pres_ptc_infls, past_infls, past_ptc_infls local function strip_brackets(qualifiers) if not qualifiers then return nil end local stripped_qualifiers = {} for _, qualifier in ipairs(qualifiers) do local stripped_qualifier = qualifier:match("^%[(.*)%]$") if not stripped_qualifier then error("Internal error: Qualifier should be surrounded by brackets at this stage: " .. qualifier) end table.insert(stripped_qualifiers, stripped_qualifier) end return stripped_qualifiers end local function collect_forms(label, accel_form, defaults, overrides, override_qualifiers, canonicalize) if defaults[1].form == "-" then return {label = "no " .. label} else local into_table = {label = label, accel = {form = accel_form}} local maxindex = math.max(#defaults, overrides.maxindex) local qualifiers = override_qualifiers[1] and {override_qualifiers[1]} or strip_brackets(defaults[1].footnotes) table.insert(into_table, {term = defaults[1].form, qualifiers = qualifiers}) -- Present 3rd singular for i = 2, maxindex do local override_form = canonicalize(overrides[i]) if override_form then -- If there is an override such as past_ptc2=..., only use the qualifier specified -- using an override (past_ptc2_qual=...), if any; it doesn't make sense to combine -- an override form with a qualifier specified inside of angle brackets. table.insert(into_table, {term = override_form, qualifiers = {override_qualifiers[i]}}) elseif defaults[i] then -- If the form comes from inside angle brackets, allow any override qualifier -- (past_ptc2_qual=...) to override any qualifier specified inside of angle brackets. -- FIXME: Maybe we should throw an error here if both exist. local qualifiers = override_qualifiers[i] and {override_qualifiers[i]} or strip_brackets(defaults[i].footnotes) table.insert(into_table, {term = defaults[i].form, qualifiers = qualifiers}) end end return into_table end end local pres_3sg_infls = collect_forms("سوم شخص مفرد حال ساده", "3|s|pres", pres_3sgs, args[1], args.pres_3sg_qual, canonicalize_s_form) local pres_ptc_infls = collect_forms("حال استمراری", "pres|ptcp", pres_ptcs, args[2], args.pres_ptc_qual, canonicalize_ing_form) local past_infls = collect_forms("گذشته ساده", "past", pasts, args[3], args.past_qual, canonicalize_ed_form) local past_ptc_infls = collect_forms("گذشته استمراری", "past|ptcp", past_ptcs, args[4], args.past_ptc_qual, canonicalize_ed_form) -- Are the past forms identical to the past participle forms? If so, we use a single -- combined "simple past and past participle" label on the past tense forms. -- We check for two conditions: Either no past participle forms were given at all, or -- they were given but are identical in every way (all forms and qualifiers) to the past -- tense forms. The former "no explicit past participle forms" check is important in the -- "separate-parameter" format; if past tense overrides are given and no past participle -- forms given, the past tense overrides should apply to the past participle as well. -- In the angle-bracket format, it's expected that all forms and qualifiers are specified -- using that format, and we explicitly copy past tense forms and qualifiers to past -- participle ones if the latter are omitted, so we disable to "no explicit past participle -- forms" check. if args[4].maxindex > 0 or args.past_ptc_qual.maxindex > 0 then past_ptcs_given = true end local identical = true -- For the past and past participle to be identical, there must be -- the same number of inflections, and each inflection must match -- in term and qualifiers. if #past_infls ~= #past_ptc_infls then identical = false else for key, val in ipairs(past_infls) do if past_ptc_infls[key].term ~= val.term then identical = false break else local quals1 = past_ptc_infls[key].qualifiers local quals2 = val.qualifiers if (not not quals1) ~= (not not quals2) then -- one is nil, the other is not identical = false elseif quals1 and quals2 then -- qualifiers present in both; each qualifier must match if #quals1 ~= #quals2 then identical = false else for k, v in ipairs(quals1) do if v ~= quals2[k] then identical = false break end end end end if not identical then break end end end end -- Insert the forms table.insert(data.inflections, pres_3sg_infls) table.insert(data.inflections, pres_ptc_infls) if not past_ptcs_given or identical then if past_ptcs[1].form == "-" then past_infls.label = "no simple past or past participle" else past_infls.label = "simple past and past participle" past_infls.accel = {form = "past|and|past|ptcp"} end table.insert(data.inflections, past_infls) else table.insert(data.inflections, past_infls) table.insert(data.inflections, past_ptc_infls) end end } return export 4j1lswfcl3bvgz4kzu08q54tzx8afet 848135 848134 2022-08-12T07:31:34Z Beginneruser 11037 Localization Scribunto text/plain local export = {} local pos_functions = {} local lang = require("Module:languages").getByCode("en") local PAGENAME = mw.title.getCurrentTitle().text local function glossary_link(entry, text) text = text or entry return "[[Appendix:Glossary#" .. entry .. "|" .. text .. "]]" end local function track(page) require("Module:debug").track("en-headword/" .. page) return true end -- The main entry point. -- This is the only function that can be invoked from a template. function export.show(frame) local poscat = frame.args[1] or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.") local params = { ["head"] = {list = true}, ["suff"] = {type = "boolean"}, ["sort"] = {}, } local pos_data = pos_functions[poscat] if pos_data then for key, val in pairs(pos_data.params) do params[key] = val end end local args, unknown_args = require("Module:parameters").process(frame:getParent().args, params, pos_data.return_unknown) if unknown_args and next(unknown_args) then track("unknown args") track("unknown args/POS/" .. tostring(poscat)) for parameter, value in pairs(unknown_args) do track("unknown args/param/" .. tostring(parameter)) mw.log("unknown parameter in [[Module:headword]]: |" .. tostring(parameter) .. "=" .. tostring(value)) end end local data = {lang = lang, pos_category = poscat, categories = {}, heads = args["head"], inflections = {}} if #data.heads == 0 and args.pagename then table.insert(data.heads, args.pagename) end if args["suff"] then data.pos_category = "suffixes" if poscat == "صفت‌های" or poscat == "قید‌های" or poscat == "اسم‌های" or poscat == "فعل‌های" then table.insert(data.categories, ("%s %s-forming suffixes") :format(lang:getCanonicalName(), poscat:gsub("s$", ""))) else error("No category exists for suffixes forming " .. poscat .. ".") end end if pos_data then pos_data.func(args, data) end local extra_categories = {} if PAGENAME:find("[Qq][^Uu]") or PAGENAME:find("[Qq]$") then table.insert(data.categories, lang:getCanonicalName() .. " words containing Q not followed by U") end if PAGENAME:find("([A-Za-z])%1%1") then table.insert(data.categories, lang:getCanonicalName() .. " words containing three consecutive instances of the same letter") end if PAGENAME:find("([A-Za-z])%1%1%1") then table.insert(data.categories, lang:getCanonicalName() .. " words containing four consecutive instances of the same letter") end -- mw.ustring.toNFD performs decomposition, so letters that decompose -- to an ASCII vowel and a diacritic, such as é, are counted as vowels and -- do not need to be included in the pattern. if not mw.ustring.find(mw.ustring.lower(mw.ustring.toNFD(PAGENAME)), "[aeiouyæœø]") then table.insert(data.categories, lang:getCanonicalName() .. " words without vowels") end if PAGENAME:find("yre$") then table.insert(data.categories, lang:getCanonicalName() .. ' words ending in "-yre"') end if not PAGENAME:find(" ") and PAGENAME:len() >= 25 then table.insert(extra_categories, "Long " .. lang:getCanonicalName() .. ' words') end if PAGENAME:find("^[^aeiou ]*a[^aeiou ]*e[^aeiou ]*i[^aeiou ]*o[^aeiou ]*u[^aeiou ]*$") then table.insert(data.categories, lang:getCanonicalName() .. ' words that use all vowels in alphabetical order') end data.sort_key = args.sort return require("Module:headword").full_headword(data) .. (#extra_categories > 0 and require("Module:utilities").format_categories(extra_categories, lang, args.sort) or "") end -- This function does the common work between adjectives and adverbs function make_comparatives(params, data) local comp_parts = {label = glossary_link("comparative"), accel = {form = "comparative"}} local sup_parts = {label = glossary_link("superlative"), accel = {form = "superlative"}} if #params == 0 then table.insert(params, {"more"}) end -- To form the stem, replace -(e)y with -i and remove a final -e. local stem = PAGENAME:gsub("([^aeiou])e?y$", "%1i"):gsub("e$", "") -- Go over each parameter given and create a comparative and superlative form for i, val in ipairs(params) do local comp = val[1] local comp_qual = val[2] local sup = val[3] local sup_qual = val[4] local comp_part, sup_part if comp == "more" and PAGENAME ~= "many" and PAGENAME ~= "much" then comp_part = "[[more]] " .. PAGENAME sup_part = "[[most]] " .. PAGENAME elseif comp == "further" and PAGENAME ~= "far" then comp_part = "[[further]] " .. PAGENAME sup_part = "[[furthest]] " .. PAGENAME elseif comp == "er" then comp_part = stem .. "er" sup_part = stem .. "est" elseif comp == "-" or sup == "-" then -- Allowing '-' makes it more flexible to not have some forms if comp ~= "-" then comp_part = comp end if sup ~= "-" then sup_part = sup end else -- If the full comparative was given, but no superlative, then -- create it by replacing the ending -er with -est. if not sup then if comp:find("er$") then sup = comp:gsub("er$", "est") else error("The superlative of \"" .. comp .. "\" cannot be generated automatically. Please provide it with the \"sup" .. (i == 1 and "" or i) .. "=\" parameter.") end end comp_part = comp sup_part = sup end if comp_part then table.insert(comp_parts, {term = comp_part, qualifiers = {comp_qual}}) end if sup_part then table.insert(sup_parts, {term = sup_part, qualifiers = {sup_qual}}) end end table.insert(data.inflections, comp_parts) table.insert(data.inflections, sup_parts) end pos_functions["adjectives"] = { params = { [1] = {list = true, allow_holes = true}, ["comp_qual"] = {list = "comp=_qual", allow_holes = true}, ["sup"] = {list = true, allow_holes = true}, ["sup_qual"] = {list = "sup=_qual", allow_holes = true}, }, func = function(args, data) local shift = 0 local is_not_comparable = false local is_comparative_only = false -- If the first parameter is ?, then don't show anything, just return. if args[1][1] == "?" then return -- If the first parameter is -, then move all parameters up one position. elseif args[1][1] == "-" then shift = 1 is_not_comparable = true -- If the only argument is +, then remember this and clear parameters elseif args[1][1] == "+" and args[1].maxindex == 1 then shift = 1 is_comparative_only = true end -- Gather all the comparative and superlative parameters. local params = {} for i = 1, args[1].maxindex - shift do local comp = args[1][i + shift] local comp_qual = args["comp_qual"][i + shift] local sup = args["sup"][i] local sup_qual = args["sup_qual"][i + shift] if comp or sup then table.insert(params, {comp, comp_qual, sup, sup_qual}) end end if shift == 1 then -- If the first parameter is "-" but there are no parameters, -- then show "not comparable" only and return. -- If there are parameters, then show "not generally comparable" -- before the forms. if #params == 0 then if is_not_comparable then table.insert(data.inflections, {label = "not " .. glossary_link("comparable")}) table.insert(data.categories, lang:getCanonicalName() .. " uncomparable adjectives") return end if is_comparative_only then table.insert(data.inflections, {label = glossary_link("comparative") .. " form only"}) table.insert(data.categories, lang:getCanonicalName() .. " comparative-only adjectives") return end else table.insert(data.inflections, {label = "not generally " .. glossary_link("comparable")}) end end -- Process the parameters make_comparatives(params, data) end } pos_functions["adverbs"] = { params = { [1] = {list = true, allow_holes = true}, ["comp_qual"] = {list = "comp=_qual", allow_holes = true}, ["sup"] = {list = true, allow_holes = true}, ["sup_qual"] = {list = "sup=_qual", allow_holes = true}, }, func = function(args, data) local shift = 0 -- If the first parameter is ?, then don't show anything, just return. if args[1][1] == "?" then return -- If the first parameter is -, then move all parameters up one position. elseif args[1][1] == "-" then shift = 1 end -- Gather all the comparative and superlative parameters. local params = {} for i = 1, args[1].maxindex - shift do local comp = args[1][i + shift] local comp_qual = args["comp_qual"][i + shift] local sup = args["sup"][i] local sup_qual = args["sup_qual"][i + shift] if comp or sup then table.insert(params, {comp, comp_qual, sup, sup_qual}) end end if shift == 1 then -- If the first parameter is "-" but there are no parameters, -- then show "not comparable" only and return. If there are parameters, -- then show "not generally comparable" before the forms. if #params == 0 then table.insert(data.inflections, {label = "not " .. glossary_link("comparable")}) table.insert(data.categories, lang:getCanonicalName() .. " uncomparable adverbs") return else table.insert(data.inflections, {label = "not generally " .. glossary_link("comparable")}) end end -- Process the parameters make_comparatives(params, data) end } pos_functions["conjunctions"] = { params = { [1] = { alias_of = "head" }, }, return_unknown = true, func = function (args, data) end, } pos_functions["interjections"] = { params = { [1] = { alias_of = "head" }, }, return_unknown = true, func = function (args, data) end, } local function default_plural(noun) local new_pl if noun:find("[sxz]$") or noun:find("[cs]h$") then new_pl = noun .. "es" elseif noun:find("[^aeiou]y$") then new_pl = noun:gsub("y$", "i") .. "es" else new_pl = noun .. "s" end return new_pl end local function canonicalize_plural(pl, stem) if pl == "s" then return stem .. "s" elseif pl == "es" then return stem .. "es" elseif pl == "+" then return default_plural(PAGENAME) else return nil end end pos_functions["اسم‌های"] = { params = { [1] = {list = true, allow_holes = true}, ["pl=qual"] = { list = true, allow_holes = true }, }, func = function(args, data) -- Gather all the plural parameters from the numbered parameters. local plurals = {} for i = 1, args[1].maxindex do local pl = args[1][i] if pl then local qual = args["plqual"][i] if qual then table.insert(plurals, {term = pl, qualifiers = {qual}}) else table.insert(plurals, pl) end end end -- Decide what to do next... local mode = nil if plurals[1] == "?" or plurals[1] == "!" or plurals[1] == "-" or plurals[1] == "~" then mode = plurals[1] table.remove(plurals, 1) -- Remove the mode parameter end -- Plural is unknown if mode == "?" then table.insert(data.categories, lang:getCanonicalName() .. " nouns with unknown or uncertain plurals") return -- Plural is not attested elseif mode == "!" then table.insert(data.inflections, {label = "plural not attested"}) table.insert(data.categories, lang:getCanonicalName() .. " nouns with unattested plurals") return -- Uncountable noun; may occasionally have a plural elseif mode == "-" then table.insert(data.categories, "اسم‌های شمارش‌ناپذیر " .. lang:getCanonicalName()) -- If plural forms were given explicitly, then show "usually" if #plurals > 0 then table.insert(data.inflections, {label = "usually " .. glossary_link("شمارش‌ناپذیر")}) table.insert(data.categories, "اسم‌های شمارش‌پذیر " .. lang:getCanonicalName()) else table.insert(data.inflections, {label = glossary_link("شمارش‌ناپذیر")}) end -- Mixed countable/uncountable noun, always has a plural elseif mode == "~" then table.insert(data.inflections, {label = glossary_link("شمارش‌پذیر") .. " و " .. glossary_link("شمارش‌ناپذیر")}) table.insert(data.categories, "اسم‌های شمارش‌ناپذیر " .. lang:getCanonicalName()) table.insert(data.categories, "اسم‌های شمارش‌پذیر " .. lang:getCanonicalName()) -- If no plural was given, add a default one now if #plurals == 0 then plurals = {default_plural(PAGENAME)} end -- The default, always has a plural else table.insert(data.categories, "اسم‌های شمارش‌پذیر " .. lang:getCanonicalName()) -- If no plural was given, add a default one now if #plurals == 0 then plurals = {default_plural(PAGENAME)} end end -- If there are no plurals to show, return now if #plurals == 0 then return end -- There are plural forms to show, so show them local pl_parts = {label = "جمع", accel = {form = "p"}} local function check_ies(pl, stem) local newplural, nummatches = stem:gsub("([^aeiou])y$","%1ies") return nummatches > 0 and pl == newplural end local stem = PAGENAME local irregular = false for i, pl in ipairs(plurals) do local canon_pl = canonicalize_plural(pl, stem) if canon_pl then table.insert(pl_parts, canon_pl) elseif type(pl) == "table" then canon_pl = canonicalize_plural(pl.term, stem) if canon_pl then table.insert(pl_parts, {term=canon_pl, qualifiers=pl.qualifiers}) end end if not canon_pl then table.insert(pl_parts, pl) if type(pl) == "table" then pl = pl.term end if not stem:find(" ") and not (pl == stem .. "s" or pl == stem .. "es" or check_ies(pl, stem)) then irregular = true if pl == stem then table.insert(data.categories, lang:getCanonicalName() .. " indeclinable nouns") end end end end if irregular then table.insert(data.categories, "اسم‌های دارای جمع‌های باقاعده " .. lang:getCanonicalName()) end table.insert(data.inflections, pl_parts) end } pos_functions["proper nouns"] = { params = { [1] = {list = true}, }, func = function(args, data) local plurals = args[1] -- Decide what to do next... local mode = nil if plurals[1] == "?" or plurals[1] == "!" or plurals[1] == "-" or plurals[1] == "~" then mode = plurals[1] table.remove(plurals, 1) -- Remove the mode parameter end -- Plural is unknown if mode == "?" then table.insert(data.categories, lang:getCanonicalName() .. " proper nouns with unknown or uncertain plurals") return -- Plural is not attested elseif mode == "!" then table.insert(data.inflections, {label = "plural not attested"}) table.insert(data.categories, lang:getCanonicalName() .. " proper nouns with unattested plurals") return -- Uncountable noun; may occasionally have a plural elseif mode == "-" then -- If plural forms were given explicitly, then show "usually" if #plurals > 0 then table.insert(data.inflections, {label = "usually " .. glossary_link("uncountable")}) table.insert(data.categories, lang:getCanonicalName() .. " countable proper nouns") else table.insert(data.inflections, {label = glossary_link("uncountable")}) end -- Mixed countable/uncountable noun, always has a plural elseif mode == "~" then table.insert(data.inflections, {label = glossary_link("countable") .. " and " .. glossary_link("uncountable")}) table.insert(data.categories, lang:getCanonicalName() .. " countable proper nouns") -- If no plural was given, add a default one now if #plurals == 0 then plurals = {"s"} end elseif #plurals > 0 then table.insert(data.categories, lang:getCanonicalName() .. " countable proper nouns") end -- If there are no plurals to show, return now if #plurals == 0 then return end -- There are plural forms to show, so show them local pl_parts = {label = "جمع", accel = {form = "p"}} local stem = PAGENAME for i, pl in ipairs(plurals) do if pl == "s" then table.insert(pl_parts, stem .. "s") elseif pl == "es" then table.insert(pl_parts, stem .. "es") else table.insert(pl_parts, pl) end end table.insert(data.inflections, pl_parts) end } local function base_default_verb_forms(verb) local s_form = default_plural(verb) local ing_form, ed_form local vowel = "aeiouáéíóúàèìòùâêîôûäëïöüæœø" local ulvowel = vowel .. "AEIOUÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÆŒØ" -- (1) Check for C*VC verbs. -- -- flip -> flipping/flipped, strum -> strumming/strummed, nag -> nagging/nagged, etc. -- Do not include words with final -y, e.g. 'stay' (staying/stayed), 'toy' (toying/toyed), -- or with final -w, e.g. 'flow' (flowing/flowed), or with final -h, e.g. 'ah' (ahing/ahed), -- or with final -x, e.g. 'box' (boxing/boxed), or ending in an uppercase consonant, -- e.g. 'XOR' (XORing/XORed), 'OK' (OKing/OKed). Check specially for initial y- as a consonant, -- e.g. 'yip' (yipping/yipped), otherwise treat y as a vowel, so we don't trigger on 'hyphen' -- but do trigger on 'gyp'. local last_cons = mw.ustring.match(verb, "^[Yy][" .. vowel .. "y]([^A-Z" .. vowel .. "ywxh])$") if not last_cons then last_cons = mw.ustring.match(verb, "^[^" .. ulvowel .. "yY]*[" .. ulvowel .. "yY]([^A-Z" .. vowel .. "ywxh])$") end if last_cons then ing_form = verb .. last_cons .. "ing" ed_form = verb .. last_cons .. "ed" else -- (2) Generate -ing form. -- (2a) lie -> lying, untie -> untying, etc. local stem = verb:match("^(.*)ie$") if stem then ing_form = stem .. "ying" else -- (2b) argue -> arguing, sprue -> spruing, dialogue -> dialoguing, etc. stem = verb:match("^(.*)ue$") if stem then ing_form = stem .. "uing" else stem = mw.ustring.match(verb, "^(.*[" .. ulvowel .. "yY][^" .. vowel .. "y]+)e$") if stem then -- (2c) baptize -> baptizing, rake -> raking, type -> typing, parse -> parsing, etc. -- (ending in vowel + consonant(s) + -e); but not referee -> refereeing, -- backhoe -> backhoeing, redye -> redyeing (ending in some other vowel + -e or in -ye); -- and not be -> being (no vowel before the consonant preceding the -e) ing_form = stem .. "ing" else -- (2d) regular verbs ing_form = verb .. "ing" end end end -- (3) Generate -ed form. if verb:find("e$") then -- (3a) baptize -> baptized, rake -> raked, parse -> parsed, free -> freed, hoe -> hoed ed_form = verb .. "d" else stem = mw.ustring.match(verb, "^(.*[^" .. ulvowel .. "yY])y$") if stem then -- (3b) marry -> married, levy -> levied, try -> tried, etc.; but not toy -> toyed ed_form = stem .. "ied" else -- (3c) regular verbs ed_form = verb .. "ed" end end end return s_form, ing_form, ed_form end local function default_verb_forms(verb) local full_s_form, full_ing_form, full_ed_form = base_default_verb_forms(verb) if verb:find(" ") then local first, rest = verb:match("^(.-)( .*)$") local first_s_form, first_ing_form, first_ed_form = base_default_verb_forms(first) return full_s_form, full_ing_form, full_ed_form, first_s_form .. rest, first_ing_form .. rest, first_ed_form .. rest else return full_s_form, full_ing_form, full_ed_form, nil, nil, nil end end pos_functions["فعل‌های"] = { params = { [1] = {list = "pres_3sg", allow_holes = true}, ["pres_3sg_qual"] = {list = "pres_3sg=_qual", allow_holes = true}, [2] = {list = "pres_ptc", allow_holes = true}, ["pres_ptc_qual"] = {list = "pres_ptc=_qual", allow_holes = true}, [3] = {list = "past", allow_holes = true}, ["past_qual"] = {list = "past=_qual", allow_holes = true}, [4] = {list = "past_ptc", allow_holes = true}, ["past_ptc_qual"] = {list = "past_ptc=_qual", allow_holes = true}, ["pagename"] = {}, -- for testing }, func = function(args, data) -- Get parameters local par1 = args[1][1] local par2 = args[2][1] local par3 = args[3][1] local par4 = args[4][1] local pres_3sgs, pres_ptcs, pasts, past_ptcs local pagename = args.pagename or PAGENAME ------------------------------------------- UTILITY FUNCTIONS #1 ------------------------------------------ -- These functions are used directly in the <> format as well as in the utility functions #2 below. local function compute_double_last_cons_stem(verb) local last_cons = verb:match("([bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ])$") if not last_cons then error("Verb stem '" .. verb .. "' must end in a consonant to use ++") end return verb .. last_cons end local function compute_plusplus_s_form(verb, default_s_form) if verb:find("[sz]$") then -- regas -> regasses, derez -> derezzes return compute_double_last_cons_stem(verb) .. "es" else return default_s_form end end ------------------------------------------- UTILITY FUNCTIONS #2 ------------------------------------------ -- These functions are used in both in the separate-parameter format and in the override params such as past_ptc2=. local new_default_s, new_default_ing, new_default_ed, split_default_s, split_default_ing, split_default_ed = default_verb_forms(pagename) local function compute_double_last_cons_stem_of_split_verb(verb, ending) local first, rest = verb:match("^(.-)( .*)$") if not first then error("Verb '" .. verb .. "' must have a space in it to use ++*") end local last_cons = first:match("([bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ])$") if not last_cons then error("First word '" .. first .. "' must end in a consonant to use ++*") end return first .. last_cons .. ending .. rest end local function check_non_nil_star_form(form) if form == nil then error("Verb '" .. pagename .. "' must have a space in it to use * or ++*") end return form end local function sub_tilde(form) if not form then return nil end local retval = form:gsub("~", pagename) -- discard second return value return retval end local function canonicalize_s_form(form) if form == "+" then return new_default_s elseif form == "*" then return check_non_nil_star_form(split_default_s) elseif form == "++" then return compute_plusplus_s_form(pagename, new_default_s) elseif form == "++*" then if pagename:find("^[^ ]*[sz] ") then return compute_double_last_cons_stem_of_split_verb(pagename, "es") else return check_non_nil_star_form(split_default_s) end else return sub_tilde(form) end end local function canonicalize_ing_form(form) if form == "+" then return new_default_ing elseif form == "*" then return check_non_nil_star_form(split_default_ing) elseif form == "++" then return compute_double_last_cons_stem(pagename) .. "ing" elseif form == "++*" then return compute_double_last_cons_stem_of_split_verb(pagename, "ing") else return sub_tilde(form) end end local function canonicalize_ed_form(form) if form == "+" then return new_default_ed elseif form == "*" then return check_non_nil_star_form(split_default_ed) elseif form == "++" then return compute_double_last_cons_stem(pagename) .. "ed" elseif form == "++*" then return compute_double_last_cons_stem_of_split_verb(pagename, "ed") else return sub_tilde(form) end end --------------------------------- MAIN PARSING/CONJUGATING CODE -------------------------------- local past_ptcs_given if par1 and par1:find("<") then -------------------------- ANGLE-BRACKET FORMAT -------------------------- if par2 or par3 or par4 then error("Can't specify 2=, 3= or 4= when 1= contains angle brackets: " .. par1) end -- In the angle bracket format, we always copy the full past tense specs to the past participle -- specs if none of the latter are given, so act as if the past participle is always given. -- There is a separate check to see if the past tense and past participle are identical, in any case. past_ptcs_given = true local iut = require("Module:inflection utilities") -- (1) Parse the indicator specs inside of angle brackets. local function parse_indicator_spec(angle_bracket_spec) local inside = angle_bracket_spec:match("^<(.*)>$") assert(inside) local segments = iut.parse_balanced_segment_run(inside, "[", "]") local comma_separated_groups = iut.split_alternating_runs(segments, ",") if #comma_separated_groups > 4 then error("Too many comma-separated parts in indicator spec: " .. angle_bracket_spec) end local function fetch_qualifiers(separated_group) local qualifiers for j = 2, #separated_group - 1, 2 do if separated_group[j + 1] ~= "" then error("Extraneous text after bracketed qualifiers: '" .. table.concat(separated_group) .. "'") end if not qualifiers then qualifiers = {} end table.insert(qualifiers, separated_group[j]) end return qualifiers end local function fetch_specs(comma_separated_group) if not comma_separated_group then return {{}} end local specs = {} local colon_separated_groups = iut.split_alternating_runs(comma_separated_group, ":") for _, colon_separated_group in ipairs(colon_separated_groups) do local form = colon_separated_group[1] if form == "*" or form == "++*" then error("* and ++* not allowed inside of indicator specs: " .. angle_bracket_spec) end if form == "" then form = nil end table.insert(specs, {form = form, qualifiers = fetch_qualifiers(colon_separated_group)}) end return specs end local s_specs = fetch_specs(comma_separated_groups[1]) local ing_specs = fetch_specs(comma_separated_groups[2]) local ed_specs = fetch_specs(comma_separated_groups[3]) local en_specs = fetch_specs(comma_separated_groups[4]) for _, spec in ipairs(s_specs) do if spec.form == "++" and #ing_specs == 1 and not ing_specs[1].form and not ing_specs[1].qualifiers and #ed_specs == 1 and not ed_specs[1].form and not ed_specs[1].qualifiers then ing_specs[1].form = "++" ed_specs[1].form = "++" break end end return { forms = {}, s_specs = s_specs, ing_specs = ing_specs, ed_specs = ed_specs, en_specs = en_specs, } end local parse_props = { parse_indicator_spec = parse_indicator_spec, } local alternant_multiword_spec = iut.parse_inflected_text(par1, parse_props) -- (2) Remove any links from the lemma, but remember the original form -- so we can use it below in the 'lemma_linked' form. iut.map_word_specs(alternant_multiword_spec, function(base) if base.lemma == "" then base.lemma = pagename end base.orig_lemma = base.lemma base.lemma = require("Module:links").remove_links(base.lemma) end) -- (3) Conjugate the verbs according to the indicator specs parsed above. local all_verb_slots = { lemma = "infinitive", lemma_linked = "infinitive", s_form = "3|s|pres", ing_form = "pres|ptcp", ed_form = "past", en_form = "past|ptcp", } local function conjugate_verb(base) local def_s_form, def_ing_form, def_ed_form = base_default_verb_forms(base.lemma) local function process_specs(slot, specs, default_form, canonicalize_plusplus) for _, spec in ipairs(specs) do local form = spec.form if not form or form == "+" then form = default_form elseif form == "++" then form = canonicalize_plusplus() end -- If there's a ~ in the form, substitute it with the lemma, -- but make sure to first replace % in the lemma with %% so that -- it doesn't get interpreted as a capture replace expression. if form:find("~") then -- Assign to a var because gsub returns multiple values. local subbed_lemma = base.lemma:gsub("%%", "%%%%") form = form:gsub("~", subbed_lemma) end -- If the form is -, don't insert any forms, which will result -- in there being no overall forms (in fact it will be nil). -- We check for that down below and substitute a single "-" as -- the form, which in turn gets turned into special labels like -- "no present participle". if form ~= "-" then iut.insert_form(base.forms, slot, {form = form, footnotes = spec.qualifiers}) end end end process_specs("s_form", base.s_specs, def_s_form, function() return compute_plusplus_s_form(base.lemma, def_s_form) end) process_specs("ing_form", base.ing_specs, def_ing_form, function() return compute_double_last_cons_stem(base.lemma) .. "ing" end) process_specs("ed_form", base.ed_specs, def_ed_form, function() return compute_double_last_cons_stem(base.lemma) .. "ed" end) -- If the -en spec is completely missing, substitute the -ed spec in its entirely. -- Otherwise, if individual -en forms are missing or use +, we will substitute the -- default -ed form, as with the -ed spec. local en_specs = base.en_specs if #en_specs == 1 and not en_specs[1].form and not en_specs[1].qualifiers then en_specs = base.ed_specs end process_specs("en_form", en_specs, def_ed_form, function() return compute_double_last_cons_stem(base.lemma) .. "ed" end) iut.insert_form(base.forms, "بن‌واژه", {form = base.lemma}) -- Add linked version of lemma for use in head=. We write this in a general fashion in case -- there are multiple lemma forms (which isn't possible currently at this level, although it's -- possible overall using the ((...,...)) notation). iut.insert_forms(base.forms, "lemma_linked", iut.map_forms(base.forms.lemma, function(form) if form == base.lemma and base.orig_lemma:find("%[%[") then return base.orig_lemma else return form end end)) end local inflect_props = { slot_table = all_verb_slots, inflect_word_spec = conjugate_verb, } iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props) -- (4) Fetch the forms and put the conjugated lemmas in data.heads if not explicitly given. local function fetch_forms(slot) local forms = alternant_multiword_spec.forms[slot] -- See above. This should only occur if the user explicitly used - -- for a spec. if not forms or #forms == 0 then forms = {{form = "-"}} end return forms end pres_3sgs = fetch_forms("s_form") pres_ptcs = fetch_forms("ing_form") pasts = fetch_forms("ed_form") past_ptcs = fetch_forms("en_form") -- Use the "linked" form of the lemma as the head if no head= explicitly given. -- If no links in this form and it has multiple words, autolink the individual words. -- The user can override this using head=. if #data.heads == 0 then for _, lemma_obj in ipairs(alternant_multiword_spec.forms.lemma_linked) do local lemma = lemma_obj.form if not lemma:find("%[%[") then local m_headword = require("Module:headword") if m_headword.head_is_multiword(lemma) then lemma = m_headword.add_multiword_links(lemma) end end table.insert(data.heads, lemma) end end else -------------------------- SEPARATE-PARAM FORMAT -------------------------- local pres_3sg, pres_ptc, past if par1 and not par2 and not par3 then -- Use of a single parameter other than "++", "*" or "++*" is now the "legacy" format, -- and no longer supported. if par1 == "es" or par1 == "ies" or par1 == "d" then error("Legacy parameter 1=es/ies/d no longer supported, just use 'en-verb' without params") elseif par1 == "++" or par1 == "*" or par1 == "++*" then pres_3sg = canonicalize_s_form(par1) pres_ptc = canonicalize_ing_form(par1) past = canonicalize_ed_form(par1) else error("Legacy parameter 1=STEM no longer supported, just use 'en-verb' without params") end else if par3 then track("xxx3") elseif par2 then track("xxx2") end end if not pres_3sg or not pres_ptc or not past then -- Either all three should be set above, or none of them. assert(not pres_3sg and not pres_ptc and not past) if par1 then pres_3sg = canonicalize_s_form(par1) else pres_3sg = new_default_s end if par2 then pres_ptc = canonicalize_ing_form(par2) else pres_ptc = new_default_ing end if par3 then past = canonicalize_ed_form(par3) else past = new_default_ed end end if par4 then past_ptcs_given = true past_ptc = canonicalize_ed_form(par4) else past_ptc = past end pres_3sgs = {{form = pres_3sg}} pres_ptcs = {{form = pres_ptc}} pasts = {{form = past}} past_ptcs = {{form = past_ptc}} end ------------------------------------------- HANDLE OVERRIDES ------------------------------------------ local pres_3sg_infls, pres_ptc_infls, past_infls, past_ptc_infls local function strip_brackets(qualifiers) if not qualifiers then return nil end local stripped_qualifiers = {} for _, qualifier in ipairs(qualifiers) do local stripped_qualifier = qualifier:match("^%[(.*)%]$") if not stripped_qualifier then error("Internal error: Qualifier should be surrounded by brackets at this stage: " .. qualifier) end table.insert(stripped_qualifiers, stripped_qualifier) end return stripped_qualifiers end local function collect_forms(label, accel_form, defaults, overrides, override_qualifiers, canonicalize) if defaults[1].form == "-" then return {label = "no " .. label} else local into_table = {label = label, accel = {form = accel_form}} local maxindex = math.max(#defaults, overrides.maxindex) local qualifiers = override_qualifiers[1] and {override_qualifiers[1]} or strip_brackets(defaults[1].footnotes) table.insert(into_table, {term = defaults[1].form, qualifiers = qualifiers}) -- Present 3rd singular for i = 2, maxindex do local override_form = canonicalize(overrides[i]) if override_form then -- If there is an override such as past_ptc2=..., only use the qualifier specified -- using an override (past_ptc2_qual=...), if any; it doesn't make sense to combine -- an override form with a qualifier specified inside of angle brackets. table.insert(into_table, {term = override_form, qualifiers = {override_qualifiers[i]}}) elseif defaults[i] then -- If the form comes from inside angle brackets, allow any override qualifier -- (past_ptc2_qual=...) to override any qualifier specified inside of angle brackets. -- FIXME: Maybe we should throw an error here if both exist. local qualifiers = override_qualifiers[i] and {override_qualifiers[i]} or strip_brackets(defaults[i].footnotes) table.insert(into_table, {term = defaults[i].form, qualifiers = qualifiers}) end end return into_table end end local pres_3sg_infls = collect_forms("سوم شخص مفرد حال ساده", "3|s|pres", pres_3sgs, args[1], args.pres_3sg_qual, canonicalize_s_form) local pres_ptc_infls = collect_forms("حال استمراری", "pres|ptcp", pres_ptcs, args[2], args.pres_ptc_qual, canonicalize_ing_form) local past_infls = collect_forms("گذشته ساده", "past", pasts, args[3], args.past_qual, canonicalize_ed_form) local past_ptc_infls = collect_forms("گذشته استمراری", "past|ptcp", past_ptcs, args[4], args.past_ptc_qual, canonicalize_ed_form) -- Are the past forms identical to the past participle forms? If so, we use a single -- combined "simple past and past participle" label on the past tense forms. -- We check for two conditions: Either no past participle forms were given at all, or -- they were given but are identical in every way (all forms and qualifiers) to the past -- tense forms. The former "no explicit past participle forms" check is important in the -- "separate-parameter" format; if past tense overrides are given and no past participle -- forms given, the past tense overrides should apply to the past participle as well. -- In the angle-bracket format, it's expected that all forms and qualifiers are specified -- using that format, and we explicitly copy past tense forms and qualifiers to past -- participle ones if the latter are omitted, so we disable to "no explicit past participle -- forms" check. if args[4].maxindex > 0 or args.past_ptc_qual.maxindex > 0 then past_ptcs_given = true end local identical = true -- For the past and past participle to be identical, there must be -- the same number of inflections, and each inflection must match -- in term and qualifiers. if #past_infls ~= #past_ptc_infls then identical = false else for key, val in ipairs(past_infls) do if past_ptc_infls[key].term ~= val.term then identical = false break else local quals1 = past_ptc_infls[key].qualifiers local quals2 = val.qualifiers if (not not quals1) ~= (not not quals2) then -- one is nil, the other is not identical = false elseif quals1 and quals2 then -- qualifiers present in both; each qualifier must match if #quals1 ~= #quals2 then identical = false else for k, v in ipairs(quals1) do if v ~= quals2[k] then identical = false break end end end end if not identical then break end end end end -- Insert the forms table.insert(data.inflections, pres_3sg_infls) table.insert(data.inflections, pres_ptc_infls) if not past_ptcs_given or identical then if past_ptcs[1].form == "-" then past_infls.label = "no simple past or past participle" else past_infls.label = "گذشته ساده و گذشته استمراری" past_infls.accel = {form = "past|and|past|ptcp"} end table.insert(data.inflections, past_infls) else table.insert(data.inflections, past_infls) table.insert(data.inflections, past_ptc_infls) end end } return export 5m9o0pn1p6stqqo5mhotp6fqmloutlk عباسیان 0 187960 848109 847977 2022-08-11T19:42:20Z علی عباسیان 34997 /* آوایش */جز wikitext text/x-wiki ==فارسی== ===ریشه لغت=== *{{عربی}} {{ویکی‌پدیا|عباسیان}} ===آوایش=== */عباسیان/ علی عباسیان مدرس و کارشناس بازار های مالی است که تخصص ایشان تحلیل تکنیکال میباشد و در حوزه های مالی رفتاری و روانشناسی بازار های مالی فعالیت دارد.در کارنامه ایشان حضور در صدا و سیما به عنوان کارشناس،حضور در تیوابورس تلویزیون اینترنتی،و پایگاه های خبری از جمله تجارت نیوز،شهربورس،ایسکا نیوز،نبض بورس،تحلیل بازار،آساسرمایه،بیداربورس و ... میباشد. 4tl2qkb8w9wge4flaf814f3jcjxe2z6 848119 848109 2022-08-12T03:20:55Z HAKHSIN 4580 ویرایش [[Special:Contributions/علی عباسیان|علی عباسیان]] ([[User talk:علی عباسیان|بحث]]) به آخرین تغییری که [[User:HAKHSIN|HAKHSIN]] انجام داده بود واگردانده شد wikitext text/x-wiki ==فارسی== ===ریشه لغت=== *{{عربی}} {{ویکی‌پدیا|عباسیان}} ===آوایش=== */عبّاسیان/ ===[[file:Nuvola apps bookcase2.png|40px]] اسم مرکب=== '''عباسیان''' #[[بنی‌عباس]] یک سلسله‌ای برای خودشان درست کرده‌بودند و می‌گفتند [[منصور عباسی|منصور]] از [[سفّاح]] و او از برادرش [[ابراهیم امام]] و او از پدرش محّمد و او از پدرش علی و او از پدرش عبدالله و او از پدرش عبّاس و او از [[پیغمبر]] پشت دارد. بدین سبب خودشان را احق و اولی به [[امامت]] و [[خلافت]] معرفی می‌کردند. ====منابع==== *همرزمان حسینی ISBN 978-600-8218-32-6 [[رده:اسم‌های معرب]] [[رده:اسم‌های عربی]] [[رده:خلفای عرب]] [[رده:اصطلاح ایرانی اسلامی]] [[رده:اصطلاحات با پیشوند ع]] 08vy47mq1xm6evchpq9zmajz1hshmis استفایشتن 0 190433 848121 846402 2022-08-12T03:59:03Z HAKHSIN 4580 حذفیدن رده نادرست wikitext text/x-wiki ==فارسی== ===مصدر ناگذرا=== * [اِسْتِفایِشْتَنْ] <small>[[استفادن|استفای]] + [[-شتن|ـشتن]]</small> # [[مصدر مجهول]] [[استفادن]]؛ [[استفاده شدن]]: #: همه‌ی کتاب‌ها استفایشتند (استفاده شدند). #: نه! همه‌اشان استفایشند. [[رده:مصدر فارسی]] [[رده:مصدر فارسی ساده]] [[رده:مصدر فارسی مجهول]] ====صرف==== {{فعل-فا}} {{گردانش فارسی|استفایشتن|استفایشت|استفایش}} m04c81bbbog268lzjtta9z3dhcq9pw8 بحث کاربر:مهرزادزارعی 3 193220 848112 847744 2022-08-11T21:11:46Z مهرزادزارعی 34937 /* خوش آمدید */ wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ‏۳۰ ژوئیهٔ ۲۰۲۲، ساعت ۲۰:۳۲ (UTC) این صفحه به دلیل سرشناسی مقاله نباید حذف سریع شود 6un8kfnawdw6amenw6k7yl1l986duy1 مهرزاد زارعی 0 193265 848114 847861 2022-08-11T21:15:00Z مهرزادزارعی 34937 wikitext text/x-wiki {{حذف سریع|خارج از محدوده پروژه}} مهرزادزارعی (زاده اسفند ۱۳۶۶ شیراز) خواننده و آهنگساز و ترانه سرای ایرانی است ،وی ردیف دان و فارغ التحصیل موسیقی ازدانشگاه تهران است،وی ردیف دان آواز ایرانی است.[[کاربر:مهرزادزارعی|مهرزادزارعی]] ([[بحث کاربر:مهرزادزارعی|بحث]]) ‏۳ اوت ۲۰۲۲، ساعت ۱۷:۵۵ (UTC) n00xp0ljmrbuijyg7zk91icjl76cg8n علی عباسیان 0 193313 848101 848069 2022-08-11T14:27:02Z علی عباسیان 34997 اصلاح اشتباه لطفا اسم علی عباسیان را در اینترنت جستجو کنید تا ایشان را بیشتر بشناسید wikitext text/x-wiki علی عباسیان متولد ۱۳ مهر ۱۳۷۲ در شهر اهر در استان آذربایجان شرقی و رشته تحصیلی ایشان حسابداری و مدرس و کارشناس بازار های مالی است که تخصص ایشان تحلیل تکنیکال میباشد و در حوزه های مالی رفتاری و روانشناسی بازار های مالی فعالیت دارد.در کارنامه ایشان حضور در صدا و سیما به عنوان کارشناس،حضور در تیوابورس تلویزیون اینترنتی،و پایگاه های خبری از جمله تجارت نیوز،شهربورس،ایسکا نیوز،نبض بورس،تحلیل بازار،آساسرمایه،بیداربورس و ... میباشد. q4ify80xwxf3trgnpp7yegk2bj7g5mk 848104 848101 2022-08-11T16:34:58Z HAKHSIN 4580 ویرایش [[Special:Contributions/علی عباسیان|علی عباسیان]] ([[User talk:علی عباسیان|بحث]]) به آخرین تغییری که [[User:Beginneruser|Beginneruser]] انجام داده بود واگردانده شد wikitext text/x-wiki {{حذف سریع|خارج از محدوده پروژه}} علی عباسیان متولد ۱۳ مهر ۱۳۷۲ در شهر اهر در استان آذربایجان شرقی و رشته تحصیلی ایشان حسابداری و مدرس و کارشناس بازار های مالی است که تخصص ایشان تحلیل تکنیکال میباشد و در حوزه های مالی رفتاری و روانشناسی بازار های مالی فعالیت دارد.در کارنامه ایشان حضور در صدا و سیما به عنوان کارشناس،حضور در تیوابورس تلویزیون اینترنتی،و پایگاه های خبری از جمله تجارت نیوز،شهربورس،ایسکا نیوز،نبض بورس،تحلیل بازار،آساسرمایه،بیداربورس و ... میباشد. 2y8i1y8n3ppwiz8qqecewfse6rvueue 848107 848104 2022-08-11T17:07:56Z علی عباسیان 34997 جز wikitext text/x-wiki علی عباسیان متولد ۱۳ مهر ۱۳۷۲ در شهر اهر در استان آذربایجان شرقی و رشته تحصیلی ایشان حسابداری و مدرس و کارشناس بازار های مالی است که تخصص ایشان تحلیل تکنیکال میباشد و در حوزه های مالی رفتاری و روانشناسی بازار های مالی فعالیت دارد.در کارنامه ایشان حضور در صدا و سیما به عنوان کارشناس،حضور در تیوابورس تلویزیون اینترنتی،و پایگاه های خبری از جمله تجارت نیوز،شهربورس،ایسکا نیوز،نبض بورس،تحلیل بازار،آساسرمایه،بیداربورس و ... میباشد. q4ify80xwxf3trgnpp7yegk2bj7g5mk بحث کاربر:Sajadoladi 3 193365 848095 2022-08-11T13:01:41Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ‏۱۱ اوت ۲۰۲۲، ساعت ۱۳:۰۱ (UTC) 47jw66bizwxg2nx8fkvu48795k9mg04 بحث کاربر:SupermixMc 3 193366 848096 2022-08-11T13:06:34Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ‏۱۱ اوت ۲۰۲۲، ساعت ۱۳:۰۶ (UTC) e1nqojbf6p8lvbc3eeji6k69d5g6jf5 بحث کاربر:محمد قادریان 3 193367 848098 2022-08-11T13:46:05Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ‏۱۱ اوت ۲۰۲۲، ساعت ۱۳:۴۶ (UTC) g9inx0gwdhld2brrxjl1groqhakkjo2 بحث:علی عباسیان 1 193368 848099 2022-08-11T14:25:34Z علی عباسیان 34997 اصلاح wikitext text/x-wiki دست نگه دار لطفا در اینترنت اسم علی عباسیان را جستجو کنید qpiw29k3w8rjwczvi6a5f8op5pk4nxd 848100 848099 2022-08-11T14:26:05Z علی عباسیان 34997 /* اصلاح */ بخش جدید wikitext text/x-wiki دست نگه دار لطفا در اینترنت اسم علی عباسیان را جستجو کنید == اصلاح == لطفا اسم علی عباسیان را در اینترنت سرچ کنید [[کاربر:علی عباسیان|علی عباسیان]] ([[بحث کاربر:علی عباسیان|بحث]]) ‏۱۱ اوت ۲۰۲۲، ساعت ۱۴:۲۶ (UTC) clckprzxeyup1degj4r7z2dra1og6uh بحث کاربر:مسعود پرسپولیسی 3 193369 848102 2022-08-11T14:34:08Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ‏۱۱ اوت ۲۰۲۲، ساعت ۱۴:۳۴ (UTC) b2rp944l5lgg8b2otzku14nsltf6r1r بحث کاربر:Mohamakh 3 193370 848103 2022-08-11T16:11:06Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ‏۱۱ اوت ۲۰۲۲، ساعت ۱۶:۱۱ (UTC) g2su6hkuc62xtakj39nc0dv3w5vh5tj یی جاچون 0 193371 848108 2022-08-11T18:34:32Z 2A01:5EC0:7001:5590:71C0:74B5:3C06:3A06 صفحه‌ای تازه حاوی «او یک سرباز عادی بود» ایجاد کرد wikitext text/x-wiki او یک سرباز عادی بود fkiybi9d9a3s34xu9j6je1lkp1chro8 نیوشا علیپور 0 193372 848110 2022-08-11T20:29:10Z 2A01:5EC0:7807:70AA:896:67AE:FDA9:2A88 صفحه‌ای تازه حاوی «ن» ایجاد کرد wikitext text/x-wiki ن 2qzk5qqsm5902xeabq4qvbf2umnormi بحث کاربر:Kavianap 3 193373 848111 2022-08-11T20:52:31Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ‏۱۱ اوت ۲۰۲۲، ساعت ۲۰:۵۲ (UTC) 4otdnohbu7xn4ffhrvfa0ijv871w8m1 رده:صفحه‌های دارای تابع تجزیه‌گر آرایش‌عدد با آرگومان غیرعددی 14 193374 848113 2022-08-11T21:13:08Z مهرزادزارعی 34937 بنده به هیچ عنوان هدفم ازایجاداین مقاله تبلیغات نبوده و نیست wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 قول اردوی ۲۱۵ میوند 0 193375 848115 2022-08-11T22:23:46Z 2A02:A03F:831A:B00:795F:4258:539E:1C67 صفحه‌ای تازه حاوی «قول‌ اردوی ۲۱۵ میواند یکی از قول اردوهای اردوی ملی افغانستان است» ایجاد کرد wikitext text/x-wiki قول‌ اردوی ۲۱۵ میواند یکی از قول اردوهای اردوی ملی افغانستان است 11fni5xjfrsf86oktqj9bx075sa0q34 دعای تأبید 0 193376 848116 2022-08-11T23:39:46Z 192.15.151.158 صفحه‌ای تازه حاوی «رسم شعراست که قصاید مدیحه را به ادبیاتی مشتمل بر دعای ممدوح ختم کنند که آن را معمولا دعای تابید یا شریطه میگویند.» ایجاد کرد wikitext text/x-wiki رسم شعراست که قصاید مدیحه را به ادبیاتی مشتمل بر دعای ممدوح ختم کنند که آن را معمولا دعای تابید یا شریطه میگویند. freg39ywr15nv2ttgqwirk3xuwabzs8 بحث کاربر:AvtoWiki 3 193377 848117 2022-08-12T00:00:08Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ‏۱۲ اوت ۲۰۲۲، ساعت ۰۰:۰۰ (UTC) t1u1n3c94trgmsfdotffl4hw6xegzxa بحث کاربر:Arash.persian.909090 3 193378 848118 2022-08-12T01:10:51Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:Mardetanha|'''مرد تنها''']] ([[بحث کاربر:Mardetanha|بحث]]) ‏۱۲ اوت ۲۰۲۲، ساعت ۰۱:۱۰ (UTC) b2ofjgivik9g4tfy20ltx2hv32s965p چیریدن 0 193379 848120 2022-08-12T03:57:14Z HAKHSIN 4580 افزودن واژه جدید wikitext text/x-wiki ==فارسی== ===مصدر=== * /چیریدَنْ/ <small>[[چیر]] + [[-یدن|ـیدن]]</small> # نام [[فرایند]] [[برتریدن]] (برتری دادن) به چیزی: #: برای چیریدن شوری، باید به محلول [[هه]] نمک افزود. [[رده:مصدر فارسی]] [[رده:مصدر فارسی ساده]] [[رده:مصدر فارسی گزاری]] ===فعل=== {{فعل-فا}} # چیزی را بر [[یه]] [[گروه]]/[[جمع]] [[برتریدن]] (برتری دادن) یا [[فراواندن]] (فراوان کردن): #: [[شور|شوری]] را با افزودن نمک به مایع [[هه]] بر شیرینی چیریدم. {{گردانش فارسی|چیریدن|چیرید|چیر}} h6dwq1n60ouvswm1jakc2f86r2cf65h 848122 848120 2022-08-12T04:18:11Z HAKHSIN 4580 افزودن برگردان wikitext text/x-wiki ==فارسی== ===مصدر=== * /چیریدَنْ/ <small>[[چیر]] + [[-یدن|ـیدن]]</small> # نام [[فرایند]] [[برتریدن]] (برتری دادن) به چیزی: #: برای چیریدن شوری، باید به محلول [[هه]] نمک افزود. [[رده:مصدر فارسی]] [[رده:مصدر فارسی ساده]] [[رده:مصدر فارسی گزاری]] ===فعل=== {{فعل-فا}} # چیزی را بر [[یه]] [[گروه]]/[[جمع]] [[برتریدن]] (برتری دادن) یا [[فراواندن]] (فراوان کردن): #: [[شور|شوری]] را با افزودن نمک به مایع [[هه]] بر شیرینی چیریدم. {{گردانش فارسی|چیریدن|چیرید|چیر}} ====برگردان==== {{ترجمه-بالا|چیزی را برتریدن}} * انگلیسی: {{t+|en|overcome}} {{ترجمه-پایین}} 7tqx0167eypb8ixdeqdcahweme8thi0 848124 848122 2022-08-12T04:40:45Z HAKHSIN 4580 کاملتریدن تعریف wikitext text/x-wiki ==فارسی== ===مصدر=== * /چیریدَنْ/ <small>[[چیر]] + [[-یدن|ـیدن]]</small> # نام [[فرایند]] [[برتریدن]] (برتری دادن) به چیزی؛ [[چیره کردن]]: #: برای چیریدن شوری، باید به محلول [[هه]] نمک افزود. [[رده:مصدر فارسی]] [[رده:مصدر فارسی ساده]] [[رده:مصدر فارسی گزاری]] ===فعل=== {{فعل-فا}} # چیزی را بر [[یه]] [[گروه]]/[[جمع]] [[برتریدن]] (برتری دادن) یا [[فراواندن]] (فراوان کردن)؛ [[چیره کردن]]: #: [[شور|شوری]] را با افزودن نمک به مایع [[هه]] بر شیرینی چیریدم. {{گردانش فارسی|چیریدن|چیرید|چیر}} ====برگردان==== {{ترجمه-بالا|چیزی را برتریدن}} * انگلیسی: {{t+|en|overcome}} {{ترجمه-پایین}} gux7cemb4yf8zrxmueqa5ytib27f45u چیرادن 0 193380 848123 2022-08-12T04:26:57Z HAKHSIN 4580 افزودن واژه جدید wikitext text/x-wiki ==فارسی== ===مصدر=== * /چیرادَنْ/ <small>[[چیریدن|چیر]] + [[-ادن|ـادن]]</small> # [[مصدر ناگذرا|مصدر ناگذرای]] [[چیریدن]]: #: چیرادن علی بر آزمون ورودی دانشگاه [[هه]] خیلی مهم بود. [[رده:مصدر فارسی]] [[رده:مصدر فارسی ساده]] [[رده:مصدر فارسی گزارشی]] [[رده:مصدر فارسی ناگذرا]] ===فعل=== {{فعل-فا}} # بر چیزی [[برترادن]] (برتری یافتن): #: با کلی تلاش و پشتکار، بر آزمون کارشناسی ارشد چیرادم. #: بنظرم، با کمی تمرکز و پشتکار می‌توان بر مشکل[[-هان|‌هان]] (مشکل‌ها) چیراد. ====برگردان==== {{ترجمه-بالا|بر چیزی پیروز شدن}} * انگلیسی: {{t+|en|overcome}} {{ترجمه-پایین}} adwze3ntyrd4xbh15ww0lj6nyodsps8 848125 848123 2022-08-12T04:42:16Z HAKHSIN 4580 کاملتریدن تعریف wikitext text/x-wiki ==فارسی== ===مصدر=== * /چیرادَنْ/ <small>[[چیریدن|چیر]] + [[-ادن|ـادن]]</small> # [[مصدر ناگذرا|مصدر ناگذرای]] [[چیریدن]]؛ [[چیره شدن]]: #: چیرادن علی بر آزمون ورودی دانشگاه [[هه]] خیلی مهم بود. [[رده:مصدر فارسی]] [[رده:مصدر فارسی ساده]] [[رده:مصدر فارسی گزارشی]] [[رده:مصدر فارسی ناگذرا]] ===فعل=== {{فعل-فا}} # بر چیزی [[برترادن]] (برتری یافتن)؛ [[چیره شدن]]: #: با کلی تلاش و پشتکار، بر آزمون کارشناسی ارشد چیرادم. #: بنظرم، با کمی تمرکز و پشتکار می‌توان بر مشکل[[-هان|‌هان]] (مشکل‌ها) چیراد. ====برگردان==== {{ترجمه-بالا|بر چیزی پیروز شدن}} * انگلیسی: {{t+|en|overcome}} {{ترجمه-پایین}} qey16vxt3czrk41g21vu5adqhl5hhj7 غلبیدن 0 193381 848128 2022-08-12T06:39:40Z HAKHSIN 4580 افزودن واژه جدید wikitext text/x-wiki ==فارسی== ===مصدر=== * /غَلَبیدَنْ/ <small>برامده از [[غلبه]] + [[-یدن|ـیدن]]</small> # واداشتن به فرمانبری: #: امروزه رهبران برخی کشورهای ثروتمند از ثروتشان برای غلبیدن بر مردم [[استفادن|می‌استفایند]] (استفاده می‌کنند). [[رده:مصدر فارسی]] [[رده:مصدر فارسی ساده]] [[رده:مصدر فارسی گزرایی]] [[رده:مصدر فارسی گذرا]] ===فعل=== {{فعل-فا}} * /غَلَبیدَنْ/ # [[کسی]]/[[چیزی]] را به فرمان خود درآوردن؛ [[مغلوب کردن]]: #: خیلی سال پیش، اسکندر مردم ایران را غلبید. {{گردانش فارسی|غلبیدن|غلبید|غلب}} ====برگردان==== {{ترجمه-بالا|مغلوب شدن}} * انگلیسی: {{t+|en|overcome}} {{ترجمه-پایین}} r9l5v7xtu3frd6y31u9gmhucyilpeyt 848129 848128 2022-08-12T06:40:36Z HAKHSIN 4580 اصلاحیدن رده wikitext text/x-wiki ==فارسی== ===مصدر=== * /غَلَبیدَنْ/ <small>برامده از [[غلبه]] + [[-یدن|ـیدن]]</small> # واداشتن به فرمانبری: #: امروزه رهبران برخی کشورهای ثروتمند از ثروتشان برای غلبیدن بر مردم [[استفادن|می‌استفایند]] (استفاده می‌کنند). [[رده:مصدر فارسی]] [[رده:مصدر فارسی ساده]] [[رده:مصدر فارسی گزاری]] [[رده:مصدر فارسی گذرا]] ===فعل=== {{فعل-فا}} * /غَلَبیدَنْ/ # [[کسی]]/[[چیزی]] را به فرمان خود درآوردن؛ [[مغلوب کردن]]: #: خیلی سال پیش، اسکندر مردم ایران را غلبید. {{گردانش فارسی|غلبیدن|غلبید|غلب}} ====برگردان==== {{ترجمه-بالا|مغلوب شدن}} * انگلیسی: {{t+|en|overcome}} {{ترجمه-پایین}} euicp1c37j1xocu3a3q9ogo9qahzo4q 848131 848129 2022-08-12T06:43:00Z HAKHSIN 4580 اصلاحیدن یه خطای دستوری wikitext text/x-wiki ==فارسی== ===مصدر=== * /غَلَبیدَنْ/ <small>برامده از [[غلبه]] + [[-یدن|ـیدن]]</small> # واداشتن به فرمانبری: #: امروزه رهبران برخی کشورهای ثروتمند از ثروتشان برای غلبیدن مردم [[استفادن|می‌استفایند]] (استفاده می‌کنند). [[رده:مصدر فارسی]] [[رده:مصدر فارسی ساده]] [[رده:مصدر فارسی گزاری]] [[رده:مصدر فارسی گذرا]] ===فعل=== {{فعل-فا}} * /غَلَبیدَنْ/ # [[کسی]]/[[چیزی]] را به فرمان خود درآوردن؛ [[مغلوب کردن]]: #: خیلی سال پیش، اسکندر مردم ایران را غلبید. {{گردانش فارسی|غلبیدن|غلبید|غلب}} ====برگردان==== {{ترجمه-بالا|مغلوب شدن}} * انگلیسی: {{t+|en|overcome}} {{ترجمه-پایین}} iwyofzvrln4jnqx8m4oxqeh9rgcal8j بحث کاربر:حسین محمدی بردبری 3 193382 848136 2022-08-12T07:37:30Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ‏۱۲ اوت ۲۰۲۲، ساعت ۰۷:۳۷ (UTC) g6xga12ni2rkk1r6pfnlu9qbjc86vye لیگ دسته اول استان خراسان رضوی 0 193385 848141 2022-08-12T07:53:33Z 31.14.90.25 صفحه‌ای تازه حاوی «لیگ دسته اول فوتبال خراسان رضوی . دومین لیگ در خراسان رضوی هست این لیگ 2 گروه دارد || صعود : لیگ برتر خراسان رضوی || سقوط : لیگ های شهرستانی» ایجاد کرد wikitext text/x-wiki لیگ دسته اول فوتبال خراسان رضوی . دومین لیگ در خراسان رضوی هست این لیگ 2 گروه دارد || صعود : لیگ برتر خراسان رضوی || سقوط : لیگ های شهرستانی 8dpldudu8d9yhyhf7jmw00uf6vex9df وقتی که 0 193386 848145 2022-08-12T08:39:24Z Shams948 4275 وقتی که/ ایجاد wikitext text/x-wiki ==فارسی== ===ریشه لغت=== *{{فارسی}} ===آوایش=== */وَقتی/که/ [[File: LL-Q9168 (fas)-Afsham23-وقتی که.wav|بندانگشتی]] ===[[file:Nuvola apps bookcase2.png|40px]] اسم مرکب=== '''وقتی‌که''' #منسوب به [[وقت]]، [[وقتی]]، لحظه‌ای‌که، زمانی‌که. [[رده:اسم‌های مرکب فارسی]] [[رده:واژه‌های مرکب فارسی]] beo6lmps8p0m22r4qlscdtmxa1fjrdf بحث کاربر:JeoffLee 3 193387 848147 2022-08-12T09:04:25Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:Mardetanha|'''مرد تنها''']] ([[بحث کاربر:Mardetanha|بحث]]) ‏۱۲ اوت ۲۰۲۲، ساعت ۰۹:۰۴ (UTC) qck4roxqe9v9cjbnai6ksw3ybc3g7b1 بحث کاربر:Ivan Humphrey 3 193388 848148 2022-08-12T09:29:22Z پیام به کاربر جدید 26498 افزودن [[الگو:خوشامدید|پیام خوش‌آمد]] به صفحهٔ بحث کاربر تازه wikitext text/x-wiki == خوش آمدید == [[ویکی‌واژه:تازه‌واردان، خوش آمدید|'''به ویکی‌واژه خوش‌آمدید''']]!<br /> امیدوارم حضوری طولانی مدت در ویکی‌واژه داشته باشید و بتوانیم با همکاری یکدیگر در جهت پیشرفت هر چه بیشتر این وبگاه گام برداریم. ویکی‌واژه منتظر نوشتارهای خوب شماست.<br /> این پیوندها می‌تواند سودمند باشد: {| |- |[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌واژه:راهنما|راهنما]] || [[ویکی‌واژه:راهنما|راهنما]] برای راهنمایی گرفتن |- | [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌واژه:آموزش سریع|آموزش سریع]] || [[ویکی‌واژه:آموزش سریع|آموزش سریع]] |- |||[[راهنما:افزودن سرواژه نو|افزودن سرواژهٔ نو]] راهنمای افزودن سرواژهٔ نو |- |||[[ویکی‌واژه:شیوه‌نامه|شیوه‌نامه]] شیوه‌نامهٔ ویکی‌واژه |- |[[File:Bucket in the sand.svg|right|50px]]||[[ویکی‌واژه:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش |- | [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]]||[[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها. |- |[[پرونده:Farsi.svg|30px|right|link=ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]]||[[ویکی‌واژه:فارسی‌نویسی|فارسی‌نویسی]] |- |[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]] |- | |- | |- |'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWBooks.svg|30px|link=b:صفحه_اصلی|ویکی‌نَسک]] [[پرونده:HSWVoyage.svg|30px|link=voy:صفحه_اصلی|ویکی‌سفر]][[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]] |} امیدوارم از ''[[ویکی‌واژه:ویکی‌واژه نویسان|ویکی‌واژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~&#126;~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکی‌واژه:قهوه‌خانه|قهوه‌خانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد می‌گویم!&nbsp;شاد باشید! -- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ‏۱۲ اوت ۲۰۲۲، ساعت ۰۹:۲۹ (UTC) jeq3dddd3m6mbz6dwh03lmx8s6veryv