ویکیواژه
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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر: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:صفحه_اصلی|ویکینبشته]]
|}
امیدوارم از ''[[ویکیواژه:ویکیواژه نویسان|ویکیواژه نویس]]'' بودن لذت ببرید! لطفاً در صفحات گفتگو نام خود را با چهار علامت مدک امضا کنید، (~~~~)، با این کار نام شما و تاریخ به عنوان امضا درج خواهد شد. در صورتی که سوال داشتید، به صفحهٔ [[ویکیواژه:قهوهخانه|قهوهخانه]] بروید، یا اینکه از من در صفحهٔ بحثم بپرسید. باز هم خوش آمد میگویم! شاد باشید!
-- [[کاربر:AFlorence|'''فلورانس''']] ([[بحث کاربر:AFlorence|بحث]]) ۱۲ اوت ۲۰۲۲، ساعت ۰۹:۲۹ (UTC)
jeq3dddd3m6mbz6dwh03lmx8s6veryv