İçeriğe atla
Ana menü
Ana menü
kenar çubuğuna taşı
gizle
Gezinti
Anasayfa
Son değişiklikler
Rastgele sayfa
Sanat masası
Bağış yap
Özel sayfalar
Ara
Ara
Görünüm
Hesap oluştur
Oturum aç
Kişisel araçlar
Hesap oluştur
Oturum aç
"
Modül:A or an
" sayfasını değiştirmektesiniz
Modül
Tartışma
English
Oku
Kaynağı düzenle
Geçmişi gör
Araçlar
Araçlar
kenar çubuğuna taşı
gizle
Eylemler
Oku
Kaynağı düzenle
Geçmişi gör
Genel
Sayfaya bağlantılar
İlgili değişiklikler
Sayfa bilgisi
Görünüm
kenar çubuğuna taşı
gizle
Uyarı:
Oturum açmadınız. Bir düzenleme yaptığınızda, sizin için geçici bir hesap oluşturulur.
Daha fazla bilgi
. Bu hesabın süresi dolduğunda bildirimler almaya devam etmek ve diğer özelliklere erişmek için
oturum açın
ya da
hesap oluşturun
.
Anti spam denetimi. Bunu
doldurmayın
!
local p = {} local words = mw.loadData('Modül:A or an/words') local lcVChars = 'aeiouà-æè-ïò-öø-üāăąēĕėęěĩīĭįıijōŏőœũūŭůűų' local ucVvChars = 'AEFHILMNORSXÀ-ÆÈ-ÏÒ-ÖØĀĂĄĒĔĖĘĚĨĪĬĮıIJŌŎŐŒÑĤĦĹĻĽĿŁŃŅŇŊŔŖŘŚŜŞ' local function findWord(s, t) for i, v in ipairs(t) do if mw.ustring.find(s, '^' .. v .. '$') then return true end end end function p._main(args) local s = args[1] and mw.text.trim(args[1]) local pron = 'a' local ret = '' if s and s ~= '' then local origStr = s s = mw.ustring.gsub(s, '</?[A-Za-z][^>]->', '') -- Remove HTML tags s = mw.ustring.gsub(s, '%[%[[^%|]+%|(..-)%]%]', '%1') -- Remove wikilinks s = mw.ustring.gsub(mw.ustring.gsub(s, '%[%[', ''), '%]%]', '') s = mw.ustring.gsub(s, '^["%$\'%(<%[%{¢-¥₠-₿]+', '') -- Strip some symbols at the beginning s = mw.ustring.match(s, '^%.?[0-9%u%l]+') or s -- Extract the first word if mw.ustring.find(s, '^[0-9]') then -- It begins with a number s = mw.ustring.match(s, '^[0-9]+') -- Extract the number if findWord(s, words.vNums) then -- '18' etc. pron = 'an' end elseif mw.ustring.match(s, '^[0-9%u]+$') then -- It looks like an acronym if mw.ustring.find(s, '^[' .. ucVvChars .. ']') and not findWord(s, words.cvAcronyms) -- Exclude 'NASA' etc. or findWord(s, words.vvAcronyms) -- 'UNRWA' etc. then pron = 'an' end else s = mw.ustring.lower(s) -- Uncapitalize if mw.ustring.find(s, '^['.. lcVChars .. ']') then -- It begins with a vowel if not findWord(s, words.vcWords) -- Exclude 'euro' etc. or findWord(s, words.vvWords) -- But not 'Euler' etc. then pron = 'an' end elseif args.variety and mw.ustring.lower(args.variety) == 'us' -- 'herb' etc. and findWord(s, words.cvWordsUS) or findWord(s, words.cvWords) -- 'hour' etc. then pron = 'an' end end ret = pron .. ' ' .. origStr end return ret end function p.main(frame) return p._main(frame:getParent().args) end return p
Özet:
Sanarşiv web sitesine yapılan tüm katkıların diğer katılımcılar tarafından düzenlenebileceğini, değiştirilebileceğini veya kaldırılabileceğini lütfen unutmayın. Yazınızın acımasızca düzenlenmesini istemiyorsanız, buraya göndermeyin.
Ayrıca, bunu kendiniz yazdığınızı veya herkese açık bir alandan veya benzeri ücretsiz bir kaynaktan kopyaladığınıza söz veriyorsunuz (ayrıntılar için
Sanarşiv:Telif hakları
sayfasına bakın).
Telif hakkıyla korunan eseri izinsiz göndermeyin!
İptal
Değişiklik yardımı
(yeni pencerede açılır)
Bu sayfada yer alan sayfa:
Modül:A or an/belge
(
değiştir
)
Ara
Ara
"
Modül:A or an
" sayfasını değiştirmektesiniz
Konu ekle