Module:Separated entries
- Afrikaans
- Алтай тил
- Anarâškielâ
- Аԥсшәа
- العربية
- Արեւմտահայերէն
- Avañe'ẽ
- Azərbaycanca
- تۆرکجه
- Basa Bali
- বাংলা
- 閩南語 / Bân-lâm-gú
- Башҡортса
- Беларуская
- Беларуская (тарашкевіца)
- भोजपुरी
- Bikol Central
- Български
- བོད་ཡིག
- Bosanski
- Буряад
- Català
- Чӑвашла
- Chamoru
- ChiShona
- Corsu
- Cymraeg
- Dansk
- الدارجة
- Deutsch
- डोटेली
- Eesti
- Ελληνικά
- Эрзянь
- Español
- Euskara
- فارسی
- Føroyskt
- Français
- Furlan
- Gaeilge
- Galego
- ГӀалгӀай
- 贛語
- گیلکی
- ગુજરાતી
- गोंयची कोंकणी / Gõychi Konknni
- 客家語 / Hak-kâ-ngî
- Хальмг
- 한국어
- Hausa
- Hawaiʻi
- Հայերեն
- हिन्दी
- Hrvatski
- Bahasa Hulontalo
- Ilokano
- Bahasa Indonesia
- Interlingua
- Ирон
- Íslenska
- Italiano
- עברית
- Jawa
- ಕನ್ನಡ
- ქართული
- Қазақша
- Ikinyarwanda
- Ikirundi
- Kurdî
- Ladin
- Latviešu
- Lëtzebuergesch
- Lietuvių
- Luganda
- मैथिली
- Македонски
- മലയാളം
- Malti
- Māori
- मराठी
- მარგალური
- مصرى
- ဘာသာမန်
- Bahasa Melayu
- Mfantse
- Minangkabau
- 閩東語 / Mìng-dĕ̤ng-ngṳ̄
- Мокшень
- Монгол
- မြန်မာဘာသာ
- Na Vosa Vakaviti
- Nederlands
- नेपाली
- 日本語
- Нохчийн
- Norfuk / Pitkern
- Norsk bokmål
- Occitan
- ଓଡ଼ିଆ
- Oʻzbekcha / ўзбекча
- ਪੰਜਾਬੀ
- Pangcah
- ပအိုဝ်ႏဘာႏသာႏ
- پښتو
- ភាសាខ្មែរ
- Polski
- Português
- Română
- Русский
- Sakizaya
- ᱥᱟᱱᱛᱟᱲᱤ
- Scots
- Setswana
- Shqip
- සිංහල
- Simple English
- سنڌي
- Slovenščina
- کوردی
- Српски / srpski
- Srpskohrvatski / српскохрватски
- Sunda
- Suomi
- Svenska
- Tagalog
- தமிழ்
- Taqbaylit
- Tarandíne
- Татарча / tatarça
- တႆး
- Tayal
- ไทย
- Тоҷикӣ
- Türkçe
- Удмурт
- Українська
- اردو
- Vèneto
- Tiếng Việt
- Volapük
- 文言
- Winaray
- 吴语
- 粵語
- 中文
- Ghanaian Pidgin
- Kumoring
- Руски
- ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ
Changes to it can cause immediate changes to the Wikipedia user interface.
To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Please discuss changes on the talk page before implementing them.
Usage
Module:Separated entries serves as a template front-end to mw.text.listToText
. It takes any number of positional parameters and pieces them together with |separator=
. |conjunction=
can be optionally defined if a different separator is desired between the last and second last items. The starting positional parameter can be specified using |start=
. Leading and trailing whitespace is stripped. To add deliberate leading and trailing whitespace, use the HTML entity  
for a space and
for a "newline". Separated entries does not raise any errors by design.
{{#invoke:separated entries|main|separator=...}}
For more complex cases – such as selecting the parameters to list, or preprocessing them, or omitting the last parameters – {{#invoke:params|list_values}} is available. The following two examples with " + " as delimiter and " ... " as conjunction produce a similar result:
{{#invoke:separated entries|main|separator= + |conjunction= ... }}
{{#invoke:params|sequential|squeezing|trimming_values|setting|i/l| + | ... |list_values}}
See also
- {{Enum }}
- {{Br separated entries }}
- {{#invoke:params|list_values}}
Editors can experiment in this module's sandbox (edit | diff) and testcases (edit | run) pages.
Subpages of this module.
-- This module takes positional parameters as input and concatenates them with -- an optional separator. The final separator (the "conjunction") can be -- specified independently, enabling natural-language lists like -- "foo, bar, baz and qux". The starting parameter can also be specified. local compressSparseArray = require('Module:TableTools').compressSparseArray local p = {} function p._main(args) local dataPlural = args.dataPlural local separator = args.separator -- Decode (convert to Unicode) HTML escape sequences, such as " " for space. and mw.text.decode(args.separator) or '' local conjunction = args.conjunction and mw.text.decode(args.conjunction) or separator -- Discard values before the starting parameter. local start = tonumber(args.start) if start then for i = 1, start - 1 do args[i] = nil end end -- Discard named parameters. local values = compressSparseArray(args) local result = mw.text.listToText(values, separator, conjunction) if dataPlural and #values > 0 and (#separator > 0 or #conjunction > 0) then -- flag to [[Module:Detect singular]] whether this is a list with >1 element result = result..'<span style="display:none" data-plural="'..(#values > 1 and '1' or '0')..'"></span>' end return result end local function makeInvokeFunction(separator, conjunction, first) return function (frame) local args = require('Module:Arguments').getArgs(frame) args.separator = separator or args.separator args.conjunction = conjunction or args.conjunction args.first = first or args.first return p._main(args) end end p.main = makeInvokeFunction() p.br = makeInvokeFunction('<br />') p.comma = makeInvokeFunction(mw.message.new('comma-separator'):plain()) return p