خانه
تصادفی
تغییرات اخیر
صفحههای ویژه
ورودی کاربران
تنظیمات
دربارهٔ ویکی باریستا
تکذیبنامهها
ویکی باریستا
جستجو
منوی کاربری
بحث
مشارکتها
ایجاد حساب
ورود
در حال ویرایش
پودمان:Month translator
هشدار:
شما وارد نشدهاید. نشانی آیپی شما برای عموم قابل مشاهده خواهد بود اگر هر تغییری ایجاد کنید. اگر
وارد شوید
یا
یک حساب کاربری بسازید
، ویرایشهایتان به نام کاربریتان نسبت داده خواهد شد، همراه با مزایای دیگر.
بررسی ضدهرزنگاری. این قسمت را پر
نکنید
!
require ('strict') local data = mw.loadData ('Module:month translator/data'); local num_con = require('Module:Numeral converter').convert local Date2en = require('Module:Date2en').convert --[[--------------------------< M O N T H _ X L A T E >-------------------------------------------------------- {{#invoke:Sandbox/trappist the monk/month translator|month_xlate|<date>}} ]] local function month_xlate (frame) local t = {}; local day, month, year; local inputs = num_con("en", Date2en(frame.args[1])) if 'dump' == inputs then -- inputs = 'dump' to dump month_names table; return mw.dumpObject (data.month_names); end for i, pattern in ipairs (data.patterns) do -- spin through the patterns table looking for a match local c1, c2, c3; -- captures in the 'pattern' from the pattern table go here c1, c2, c3 = mw.ustring.match (mw.text.trim(inputs), pattern[1]); -- one or more captures set if source matches patterns[i][1]) if c1 then -- c1 always set on match t = { [pattern[2] or 'x'] = c1, -- fill the table of captures with the captures [pattern[3] or 'x'] = c2, -- take index names from pattern table and assign sequential captures [pattern[4] or 'x'] = c3, -- index name may be nil in pattern table so "or 'x'" spoofs a name for this index in this table }; day = t.d or ''; -- translate table contents to named variables; month = mw.ustring.lower (t.m or ''); -- absent table entries are nil so set unused parts to empty string; lowercase for indexing month = data.override_names[month] or data.month_names[month]; -- replace non-English name with English name from translation tables year= t.y or ''; if month then local df = table.concat ({pattern[2], pattern[3], pattern[4]}, ''); -- extract date format from pattern table (pattern[2], pattern[3], pattern[4]) if 'dmy' == df then -- for dmy dates return table.concat ({day, month, year}, ' '); -- assemble an English language dmy date elseif 'my' == df then -- for month year dates return table.concat ({month, year}, ' '); -- assemble an English language dmy date elseif 'mdy' == df then -- for mdy dates return string.format ('%s %s, %s', month, day, year); -- assemble an English language mdy date elseif 'm' == df then -- must be month (only valid option remaining) return month; -- none of the above, return the translated month; end end break; -- and done; if here found pattern match but did not find non-English month name in month_names{} end end return inputs; -- if here, couldn't translate so return the original date end --[[--------------------------< E X P O R T E D F U N C T I O N S >------------------------------------------ ]] return {month_xlate = month_xlate};
خلاصه:
لطفاً توجه داشته باشید که همهٔ مشارکتها در ویکی باریستا ممکن است توسط دیگر مشارکتکنندگان تغییر یابند، ویرایش یا حذف شوند. اگر نمیخواهید نوشتههایتان بیرحمانه ویرایش شوند؛ بنابراین، آنها را اینجا ارائه نکنید.
شما همچنین به ما تعهد میکنید که خودتان این را نوشتهاید یا آن را از یک منبع با مالکیت عمومی یا مشابه آزاد آن برداشتهاید (
ویکی باریستا:حق تکثیر
را برای جزئیات بیشتر ببینید).
کارهای دارای حق تکثیر را بدون اجازه ارائه نکنید!
لغو
راهنمای ویرایش
(در پنجرهٔ تازه باز میشود)