خانه
تصادفی
تغییرات اخیر
صفحههای ویژه
ورودی کاربران
تنظیمات
دربارهٔ ویکی باریستا
تکذیبنامهها
ویکی باریستا
جستجو
منوی کاربری
بحث
مشارکتها
ایجاد حساب
ورود
در حال ویرایش
پودمان:Month translator/data
هشدار:
شما وارد نشدهاید. نشانی آیپی شما برای عموم قابل مشاهده خواهد بود اگر هر تغییری ایجاد کنید. اگر
وارد شوید
یا
یک حساب کاربری بسازید
، ویرایشهایتان به نام کاربریتان نسبت داده خواهد شد، همراه با مزایای دیگر.
بررسی ضدهرزنگاری. این قسمت را پر
نکنید
!
local num_con = require('Module:Numeral converter').convert local Date2en = require('Module:Date2en').convert --[[--------------------------< L A N G U A G E S >------------------------------------------------------------ Table of ISO 639 codes for languages supported by this module. List of MediaWiki supported languages and their codes can be found at: Template:Citation_Style_documentation/language/doc ]] local langs = {'ca', 'da', 'de', 'es', 'fi', 'fr', 'it', 'nb', 'pl', 'pt', 'ru', 'sv', 'tr'}; --[[--------------------------< E N G L I S H M O N T H N A M E S >---------------------------------------- Table of local language month names filled by month_names_get() ]] local en_months_t = {}; --[[--------------------------< P A T T E R N S >-------------------------------------------------------------- table of tables that hold pattern and other information used to extract date parts for translation and reconstrution Tables have the form: [1] - pattern for a particular date format; must include captures for the requiste date components: day, month, year which ever are included in the date format [2] - a letter 'd', 'm', or 'y' that identified the content of the first (left-most) capture [3] - same as [2] for the second capture [4] - same as [2] for the last (right-most) capture ymd numeric dates have no hames so are not translated; use |df= parameter in the cs1|2 template for that. ]] local patterns = { {'^(%d%d?) +(%a+) +(%d%d%d%d%a?)$', 'd', 'm', 'y'}, -- dd Mmm yyyy {'^(%d%d?)%. +(%a+) +(%d%d%d%d%a?)$', 'd', 'm', 'y'}, -- dd Mmm yyyy – for Danish {'^(%d%d?) +de +(%a+) +de +(%d%d%d%d%a?)$', 'd', 'm', 'y'}, -- dd de Mmm de yyyy {'^(%a+) +(%d%d%d%d%a?)$', 'm', 'y'}, -- Mmm yyyy {'^(%a+) +de +(%d%d%d%d%a?)$', 'm', 'y'}, -- Mmm de yyyy {'^(%a+) +(%d%d?) *, +(%d%d%d%d%a?)$', 'm', 'd', 'y'}, -- Mmm dd, yyyy {'^(%a+)$', 'm'}, -- month only; mostly for debug purposes }; --[[--------------------------< O V E R R I D E _ N A M E S >-------------------------------------------------- table of non-English month names that are valid but are not in the list of names taken from MediaWiki with month_names_get(). Items in this list have the form: ['<non-English month name>'] = 'English month name', '<non-English month name>' must be lowercase ]] local override_names = { [''] = '', } --[[--------------------------< M O N T H _ N A M E S _ G E T >------------------------------------------------ creates a translation table of non-English month names listed in lang{} mapped to English month names listed in <en_months_t> (which this function also fills). lang_obj:formatDate() must be given a day in addition to <en_month> else it will use the current day so, if today is 31 August 2021, without the expicit '1' preceding the month from <en_month>, when creating a translation for February, April, June, September, or October lang_obj:formatDate() will return the 'next' month. To dump this table: =mw.dumpObject (p.month_names_t) ]] local function month_names_get () local month_names_t = {}; local lang_obj = mw.language.getContentLanguage(); -- make a language object for the local language for i=1, 12 do -- loop 12x and en_months_t[i] = lang_obj:formatDate('F', '2018-' .. i); -- get month names for each i end for _, lang in ipairs (langs) do -- spin through the languages table lang_obj = mw.getLanguage (lang); -- make a language object for the current language for i, en_month in ipairs (en_months_t) do -- spin through the English month-names table local en_date = '1 ' .. en_month; en_date = num_con("en", Date2en(en_date)) local month_name = mw.ustring.lower (lang_obj:formatDate('F', en_date)); -- translate the English date '1 <en month>' to <month_name>; ustring requred for tr February (Şubat) month_names_t[month_name] = en_month; -- add to translations table; first day of month required -- for pl and other languages that have nominative and genitive forms month_name = mw.ustring.lower (lang_obj:formatDate('xg', en_date)); -- translate the English date '1 <en month>' to <month_name> (genitive form) month_names_t[month_name] = en_month; -- add to translations table; when 'xg' is same as 'F', this overwrites the 'F' month name end end return month_names_t; end --[[--------------------------< E X P O R T E D T A B L E S >------------------------------------------------ ]] return { month_names_t = month_names_get (), override_names = override_names, patterns = patterns, }
خلاصه:
لطفاً توجه داشته باشید که همهٔ مشارکتها در ویکی باریستا ممکن است توسط دیگر مشارکتکنندگان تغییر یابند، ویرایش یا حذف شوند. اگر نمیخواهید نوشتههایتان بیرحمانه ویرایش شوند؛ بنابراین، آنها را اینجا ارائه نکنید.
شما همچنین به ما تعهد میکنید که خودتان این را نوشتهاید یا آن را از یک منبع با مالکیت عمومی یا مشابه آزاد آن برداشتهاید (
ویکی باریستا:حق تکثیر
را برای جزئیات بیشتر ببینید).
کارهای دارای حق تکثیر را بدون اجازه ارائه نکنید!
لغو
راهنمای ویرایش
(در پنجرهٔ تازه باز میشود)