Обговорення модуля:Citation/CS1

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Chapter[ред. код]

Параметри Chapter і ChapterLink, які, зокрема, вживаються в шаблоні {{cite book}}, призначені для посилань на зовнішні джерела (а не для внутрішніх посилань). Наразі вони обробляються за синтаксисом внутрішнього посилання, що не зовсім коректно. Приклад можна побачити в статті Абсолютна зоряна величина: друге посилання містить зайві квадратні дужки. З огляду на вищенаведене прошу виправити в коді рядок 1096:

Chapter = "[[" .. ChapterLink .. "|" .. Chapter .. "]]";

подвійні квадратні дужки змінити на одинарні , а вертикальну риску - на прогалину (пробіл):

Chapter = "[" .. ChapterLink .. " " .. Chapter .. "]";

--Olvin (обговорення) 09:42, 4 липня 2014 (UTC)Відповісти

Ні Запит відхилено

рядок 1093:

є:
Chapter = "[[" .. ChapterLink .. "|" .. Chapter .. "]]";
має бути:
Chapter = "[" .. ChapterLink .. " " .. Chapter .. "]";

Пояснення

Параметри Chapter і ChapterLink, які, зокрема, вживаються в шаблоні {{cite book}}, призначені для посилань на розділи у зовнішніх джерелах (а не для внутрішніх посилань). Наразі вони обробляються за синтаксисом внутрішнього посилання (огортанням у подвійні квадратні дужки з розділювачем "вертикальна риска"). Приклад некоректного посилання можна побачити в статті Абсолютна зоряна величина: у другому джерелі видно зайві квадратні дужки; і посилання не працює. Для вирішення цієї некоректності треба оформлювати посилання як зовнішні: подвійні квадратні дужки змінити на одинарні , а вертикальну риску - на прогалину (пробіл). --Olvin (обговорення) 13:24, 14 грудня 2021 (UTC)Відповісти

У {{cite book}} потрібно використовувати |chapter-url=, а не |chapterlink=--Andriy.v (обговорення) 23:20, 23 грудня 2021 (UTC)Відповісти

Language (ISO639-1)[ред. код]

Було б добре, щоб розпізнавалися коди мов (ISO 639), як і в англійській Вікі. --Djadjko (обговорення) 03:27, 23 березня 2015 (UTC)Відповісти

@Djadjko: Відмічаю, що зараз це вже YesТак Зроблено ред. № 34375456. Відомості про мову тепер наводяться в шаблонах СП1 після відомостей про заголовок перед відомостями про видання.--Роман Рябенко (обговорення) 17:37, 23 січня 2022 (UTC)Відповісти

Оновлення і адаптація модуля і підмодулів[ред. код]

Так Запит виконано

Принаймні, поки що, хоча б замініть <span/> на <span></span>, дякую.--Avatar6 (обговорення) 16:09, 11 грудня 2016 (UTC)Відповісти

@NickK:Перепрошую, пінгую як найактивнішого адміністратора. Сотні сторінок з використанням шаблонів цитування потрапляють в К:Сторінки, що використовують недійсні самозакривні теги HTML (2). Користувачі вважають це помилкою і видаляють коректні шаблони! такі як {{cite web}}. Прохання виконати запит - це хвилина часу. Дякую.--Avatar6 (обговорення) 06:41, 18 грудня 2016 (UTC)Відповісти
@Avatar6: Перепрошую, я не надто добре розбираюся в Lua та не маю часу на те, щоб вникати в деталі. Мова про те, щоб замінити

if str:sub(1,1) == "'" then str = "<span />" .. str; end if str:sub(-1,-1) == "'" then str = str .. "<span />"; end

на

if str:sub(1,1) == "'" then str = "<span></span>" .. str; end if str:sub(-1,-1) == "'" then str = str .. "<span></span>"; end

чи про щось інше? Дякую — NickK (обг.) 13:39, 18 грудня 2016 (UTC)Відповісти
@NickK:, саме так! цього, для виключеня сторінок з вищеназваної «кат. помилок» поки достатньо буде, адаптацією модулів (і їх перекладом) далі нам разом займатися, дякую.--Avatar6 (обговорення) 19:34, 18 грудня 2016 (UTC)Відповісти
@Avatar6: Виправив, будь ласка, перевірте, чи все добре — NickK (обг.) 00:05, 19 грудня 2016 (UTC)Відповісти
~400 сторінок вийшли з К:Сторінки, що використовують недійсні самозакривні теги HTML (2), дякую! треба разом виправляти і вдосконалювати шаблони/модулі і ПЗ далі.--Avatar6 (обговорення) 12:44, 19 грудня 2016 (UTC)Відповісти

Оновлення з додаванням підтримки CitationClass=biorxiv[ред. код]

Чи міг би хтось оновити запозичення, із додаванням підтримки CitationClass=biorxiv, будь ласка? --Olexa Riznyk (обговорення) 11:58, 14 листопада 2020 (UTC)Відповісти

@Olexa Riznyk, YesТак Зроблено разом з оновленням інших ідентифікаторів. --Repakr (обговорення) 15:55, 26 лютого 2024 (UTC)Відповісти

Обробка vauthors[ред. код]

Чи повинен цей модуль обробляти параметр «vauthors» у {{Cite journal}}? Бо опис шаблону каже, що шаблон його підтримує, а по факту він не розпізнається. --Роман Рябенко (обговорення) 20:23, 30 січня 2021 (UTC)Відповісти

Повинен би. Треба оновити його запозичення з англомовної Вікіпедії. З повагою, --Olexa Riznyk (обговорення) 20:32, 30 січня 2021 (UTC)Відповісти
@Olexa Riznyk, @Роман Рябенко, YesТак Зроблено. --Repakr (обговорення) 18:15, 22 грудня 2023 (UTC)Відповісти
@Repakr та Rar: Дякую. Тепер було би добре скасувати відповідні зміни, зроблені RarBot'ом 30 листопада. Наперед дякую, з повагою, --Olexa Riznyk (обговорення) 12:25, 23 грудня 2023 (UTC)Відповісти

Залежність від "DeadURL"[ред. код]

Так Запит виконано

Запит: налагодити залежність посилання, що відображується першим, коли використовується |url-архіву, від параметру |мертвий-url=no.

  1. Green tickТак Є зараз: {{cite web |title=Архів сторінки|archiveurl=https://archive/url|archivedate=2021-12-11|url=https://url}}Архів сторінки. Архів оригіналу за 11 грудня 2021.
  2. Red XНі Є зараз: {{cite web |archiveurl=https://archive/url|title=Архів сторінки|deadurl=no|url=https://url|archivedate=2021-12-11}}Архів сторінки. Архів оригіналу за 11 грудня 2021.
  3. Green tickТак Має бути (як в оригінальних шаблонах): {{cite web |deadurl=no |title=Сторінка |url=https://url |archiveurl=https://archive/url |archivedate=2021-12-11}}Сторінка. Архів оригіналу за 2021-12-11.

Що саме змінити для цього, не знаю, але схоже, щось заважвє цій частині коду:

       if ( DeadURL ~= "no" or UrlStatus ~= "live") then
           URL = ArchiveURL
           URLorigin = A:ORIGIN('ArchiveURL')
       end

обмежувати заміну URL на ArchiveURL. --Flipping Switches (обговорення) 21:36, 15 грудня 2021 (UTC)Відповісти

@Andriy.v: Схоже, що ред. № 38048962 нічого не змінило (і до, і після неї все працює ОК). Але враховуючи, що модуль використовується на 600 000+ сторінках, з них хтозна на скількох без |DeadUrl=, і це також автоматична дія в оригінальних шаблонах, то мабуть і не варто?

Некоректно працюють параметри 'unfit', 'usurped' у url-status[ред. код]

Так Запит виконано

Я виявив при перекладі статті Юн Ин Хє, що є помилка при використанні параметрів 'unfit', 'usurped' у url-status. Тому хотів уточнити чи це баг коду чи нереалізовані параметри в українській Вікіпедії. Видає таку помилку:

Помилка Lua у Модуль:Citation/CS1 у рядку 1385: attempt to concatenate global 'arch_text' (a nil value).
Зворотне трасування:
  1. Модуль:Citation/CS1:1385: у функції «citation0»
  2. Модуль:Citation/CS1:1692: у функції «chunk»
  3. mw.lua:527: ?
  4. [C]: ?

--Repakr (обговорення) 15:13, 10 липня 2023 (UTC)Відповісти

Я припускаю, що варто спробувати у рядку 1383: arch_text = cfg.messages['archived-unfit']; додати local, щоб перетворити зміну з глобальної в локальну і тоді вийде local arch_text = cfg.messages['archived-unfit'];. Бо у всьому коді ця зміна локальна, крім розділу коду, що стосується 'unfit'. Сам код цього розділу, крім тип оголошення змінної відповідає англійському варіанті. --Repakr (обговорення) 17:14, 10 липня 2023 (UTC)Відповісти
Я знайшов рішення щодо усунення помилки, спершу в на сторінці модулю (Модуль:Citation/CS1/Configuration) варто додати код такого змісту (рядки 326-344, див. Модуль:Citation/CS1/Configuration/пісочниця):
--[[--------------------------< Повідомлення обслуговування (M A I N T) >-------------------------------------

повідомлення обслуговування не мають значень у пареметрі message (message = nil); в інакшому випадку
структура така сама як у повідомлення про помилку

]]

maint_bot_unknown = {
		message = nil,
		anchor = 'bot:_unknown',
		category = 'CS1 maint: bot: original URL status unknown',
		hidden = true,
		},
maint_unfit = {
		message = nil,
		anchor = 'unfit',
		category = 'CS1 maint: unfit URL',
		hidden = true,
		},

Потім у основному модулі (Модуль:Citation/CS1) потрібно зробити наступні зміни (рядки 1381-1390, див. Модуль:Citation/CS1/пісочниця):

local arch_text = cfg.messages['archived-unfit'];
				if sepc ~= "." then arch_text = arch_text:lower() end
				Archived = sepc .. " " .. arch_text .. ArchiveDate;				-- format already styled
				if 'bot: unknown' == UrlStatus then
					seterror('maint_bot_unknown');				-- and add a category if not already added
				else
					seterror('maint_unfit');
				end

а також (рядок 220, див. Модуль:Citation/CS1/пісочниця): local added_maintaince_categories = {} -- list of maintenance categories that have been added to z.maint_cats_t;

та тут (225-233, див. Модуль:Citation/CS1/пісочниця):

if error_state.message then
        table.insert( z.error_categories, error_state.category );
        else
        	if not added_maintaince_categories[error_id] then
				added_maintaince_categories[error_id] = true;								-- note that we've added this category
				table.insert (z.maintaince_categories, substitute (error_state.category, arguments));	-- make cat name then add to table
			end
			return;																-- because no message, nothing more to do
		end

Єдине, що в цій версії коду не реалізовано, то це вивід інформаційного повідомлення при попередньому перегляді, де видає, що є певні зауваження щодо приміток. А у всьому іншому примітка коректно відображається. --Repakr (обговорення) 15:25, 11 липня 2023 (UTC)Відповісти

Я ще забув зазначити, що на сторінці модулю (Модуль:Citation/CS1/Configuration) варто додати код такого змісту (рядок 27, див. Модуль:Citation/CS1/Configuration/пісочниця): ['archived-unfit'] = 'Архів оригіналу за ', --Repakr (обговорення) 15:39, 11 липня 2023 (UTC)Відповісти
Я вже доопрацював адаптацію елементів модуля з англійської Вікіпедії і він тепер як при інших помилках додає текст (але прихований) біля тексту примітки та відповідну категорію. Оновленні версію коду є в пісочниці: Модуль:Citation/CS1/пісочниця та Модуль:Citation/CS1/Configuration/пісочниця. Єдине, що варто визначити назви для категорій «CS1 maint: unfit URL» та «CS1 maint: bot: original URL status unknown», які я переклав як «Сторінки з посиланнями на джерела, що мають непридатні URL» та «Сторінки з посиланнями на джерела, де статус оригінального URL невідомий» відповідно. --Repakr (обговорення) 15:53, 12 липня 2023 (UTC)Відповісти

Я дякую Вам, @Andriy.v:, за внесення знім. Однак хочу додати, що на цей час помилка присутня, але з іншої причини. Отже, є два шляхи, що далі робити: перший (якщо немає потреби у використанні категорій обслуговування та додаванні прихованого тексту біля примітки з текстом «Сторінки з посиланнями на джерела, що мають непридатні URL (посилання)»), то потрібно додати в рядки 1-5 оголошення змінною наступним чином: maintaince_categories = {};, після цього помилки не буде; другий (якщо потрібне використання категорій обслуговування та додаванні прихованого тексту біля примітки з текстом «Сторінки з посиланнями на джерела, що мають непридатні URL (посилання)»), тоді наступні кроки спершу додати в рядки 1-5 оголошення змінною наступним чином: maintaince_categories = {};, далі після рядка 1647 додати текст:

if #z.maintaince_categories ~= 0 then
    	
    	local maint_msgs_t = {};
    	for _, v in ipairs( z.maintaince_categories ) do
    		-- append maintenance categories
			table.insert (maint_msgs_t, 										-- assemble new maint message and add it to the maint_msgs_t table
				table.concat ({v, ' (', utilities.substitute ('[[:Category:' .. v ..'|посилання]]', v), ')'})
				);
		end
		text = text .. utilities.substitute (cfg.messages['hidden-maint'], table.concat (maint_msgs_t, ' '));	-- wrap the group of maint messages with proper presentation and save
    end

а також після рядка 1665 додати наступний текст:

    	for _, v in ipairs (z.maintaince_categories) do									-- append maintenance categories
			text = text .. '[[Category:' .. v ..']]';
		end

--Repakr (обговорення) 08:38, 3 вересня 2023 (UTC)Відповісти

Генерація id="CITEREF..."[ред. код]

Наскільки я розумію, шаблон cite book (викликає Модуль:Citation/CS1) має генерувати <cite id="CITEREF..." class="citation book cs1">...</cite> В англомовній версії шаблон cite book створює цей код.

Запит: чи можна змінити Модуль:Citation/CS1 щоб він генерував код з id="CITEREF..."? Дякую! --Merlin.anthwares (обговорення) 13:27, 11 липня 2023 (UTC)Відповісти

Синонім «book-title» для параметра «booktitle»[ред. код]

Англомовна версія підтримує синонім «book-title» для параметра «booktitle». Було би зручно, якби україномовна версія теж підтримувала. Наперед дякую, з повагою, --Olexa Riznyk (обговорення) 08:09, 1 жовтня 2023 (UTC)Відповісти

YesТак Зроблено. --Repakr (обговорення) 08:31, 14 жовтня 2023 (UTC)Відповісти

Впровадження письмо-назви[ред. код]

Наявна проблема: Останнім часом я помітив, що у перекладах з англійської, які стосуються тем пов'язаних із Східною Азією (Корея, Японія, Китай), виникають проблеми із пропущеною назвою і випадку дописувачів, що доопрацьовують свої переклади після їх публікації, ці помилки виправляється, а в тих, що не доопрацьовують, — ні. Причина цієї помилки, що десь з 2020-2021 років для нелатинських текстів було впроваджено окремий параметр script-title (письмо-назва).

Мета параметра «письмо-назви»: В англійській Вікіпедії він був запроваджений із метою, щоб запобігти виникненню проблем при відображенні нелатинського тексту, так само як це зроблено шаблоном lang.

Опис роботи: Текст в параметр подається у вигляді «[код мови]: текст нелатинським письмом» (наприклад, |script-title=ko:엑소 수호, ‘힙하게’ 출연 확정… '킹더랜드' 후속작). Потім код мови звіряється із визначеним списком у модулі і якщо він співпадає, то текст нелатинським письмом огортається в теги bdi із кодом мови, наприклад, <bdi lang="ko">엑소 수호, ‘힙하게’ 출연 확정… '킹더랜드' 후속작</bdi>.

Використання: Згідно з документацією в англійській Вікіпедії є наступні можливі варіанти використання:

  • Текст нелатинським письмом без перекладу:
    Код: {{cite web/пісочниця|script-title=ko:엑소 수호, ‘힙하게’ 출연 확정… '킹더랜드' 후속작|publisher=Edaily|author=Ю Чун Ха|date=2023-06-21|url=https://www.edaily.co.kr/news/read?newsId=01167686635644016&mediaCodeNo=258|accessdate=28 жовтня 2023|language=ko}}
    Результат: Ю Чун Ха (21 червня 2023). 엑소 수호, ‘힙하게’ 출연 확정… '킹더랜드' 후속작 (кор.). Edaily. Процитовано 28 жовтня 2023.
  • Текст нелатинським письмом із перекладом:
    Код: {{cite web/пісочниця|script-title=ko:엑소 수호, ‘힙하게’ 출연 확정… '킹더랜드' 후속작|trans-title=Сухо із Exo підтвердив свою участь в серіалі «На відстані дотику»... послідовника серіалу «Посмішка для спадкоємця».|publisher=Edaily|author=Ю Чун Ха|date=2023-06-21|url=https://www.edaily.co.kr/news/read?newsId=01167686635644016&mediaCodeNo=258|accessdate=28 жовтня 2023|language=ko}}
    Результат: Ю Чун Ха (21 червня 2023). 엑소 수호, ‘힙하게’ 출연 확정… '킹더랜드' 후속작 [Сухо із Exo підтвердив свою участь в серіалі «На відстані дотику»... послідовника серіалу «Посмішка для спадкоємця».] (кор.). Edaily. Процитовано 28 жовтня 2023.
  • Текст нелатинським письмом із перекладом та транскрипцією:
    Код: {{cite web/пісочниця|script-title=ko:엑소 수호, ‘힙하게’ 출연 확정… '킹더랜드' 후속작|title=Ексо сухо, 'хіпхаке' чхурьон... 'кхіндоренди' хусокчак|trans-title=Сухо із Exo підтвердив свою участь в серіалі «На відстані дотику»... послідовника серіалу «Посмішка для спадкоємця»|publisher=Edaily|author=Ю Чун Ха|date=2023-06-21|url=https://www.edaily.co.kr/news/read?newsId=01167686635644016&mediaCodeNo=258|accessdate=28 жовтня 2023|language=ko}}
    Результат: Ю Чун Ха (21 червня 2023). Ексо сухо, 'хіпхаке' чхурьон... 'кхіндоренди' хусокчак 엑소 수호, ‘힙하게’ 출연 확정… '킹더랜드' 후속작 [Сухо із Exo підтвердив свою участь в серіалі «На відстані дотику»... послідовника серіалу «Посмішка для спадкоємця»] (кор.). Edaily. Процитовано 28 жовтня 2023.
  • Текст нелатинським письмом із перекладом та транскрипцією (як він виглядає в англійській Вікіпедії):
    Ю Чун Ха (2023-06-21). "Ексо сухо, 'хіпхаке' чхурьон... 'кхіндоренди' хусокчак" 엑소 수호, ‘힙하게’ 출연 확정… '킹더랜드' 후속작 [Сухо із Exo підтвердив свою участь в серіалі «На відстані дотику»... послідовника серіалу «Посмішка для спадкоємця»] (in Korean). Edaily. Retrieved 28 October 2023.

Причина винесення на обговорення: Через те, що цей параметр так само як і trans-title зустрічається в багатьох варіаціях (наприклад, script-chapter, script-map, script-quote, script-periodical), то це потребує внесення значних змін в модуль. На цей час є дві ранніх версій із впровадженим параметром: перший (Модуль:Citation/CS1/пісочниця/гілка1), що вносить кардинальні зміни до модуля, через що він трохи поламаний, але там мають бути реалізовані більшість варіацій script-title; другий (Модуль:Citation/CS1/пісочниця/гілка2), де взято за основу поточну версію модуля та додана лише реалізація script-title без внесення значних змін до модуля і реалізації інших варіації цього параметри. Другий варіант модуля і використаний у прикладах вище ж, також вище можна порівняти різницю в оформленнях англійського модуля і українського модуля у прикладах вище.

Інші зауваження: Поточна реалізація зосереджена саме на нелатинському письмі і тому українська мова із кирилицею сюди потрапляє, тому чи варто тут якось адаптовувати цей параметри під український розділ Вікіпедії чи ні?

Обговорення: Отже, моя пропозиція винести на обговорення наступне питання: «Чи потрібно впроваджувати в модуль параметр письмо-назви (script-title)?»

Тривалість обговорення: Щоб обговорення не було таким, що завершилося без підсумка, то пропоную визначити термін обговорення в межах 2 тижнів. --Repakr (обговорення) 15:03, 29 жовтня 2023 (UTC)Відповісти

Вже пройшло два тижні, тому буду впроваджувати цю функцію, за основу візьму Модуль:Citation/CS1/пісочниця/гілка2, вже додав підтримку script-chapter та COinS. Після тестування перенесу все це в основний проостір. --Repakr (обговорення) 17:34, 13 листопада 2023 (UTC)Відповісти
Перший етап впровадження здійснено, тепер на черзі script-periodical. --Repakr (обговорення) 15:20, 14 листопада 2023 (UTC)Відповісти
YesТак Зроблено. --Repakr (обговорення) 15:48, 25 листопада 2023 (UTC)Відповісти

first9/last9: Попередження скрипта: Один або більше шаблонів {{cite ...}} мають помилки;[ред. код]

Так Запит виконано

Доброго дня! Параметри first9/last9 документовані, щонайменше для {{Cite book}}, але при Попередньому перегляді з`являється попередження. Як приклад Тварини#Філогенія, а взагалі зараз є майже 3 тисячі статей, дописувачі яких можуть потратити багато часу у роздумах Де помилка? --A.sav (обговорення) 13:38, 14 грудня 2023 (UTC)Відповісти

@A.sav, якщо коротко, то це рудимент, від якого вже відмовилося в англійській Вікіпедії. Раніше були шаблони, що підтримували не більше восьми авторів чи 3 редакторів. А тому, якщо було дев'ять авторів чи редактора, то модуль не розумів чи дописувач передав як параметр «сміття» чи хотів, щоб виводилося 9 автор чи 4 редактор. Тому була створена ця прихована помилка, щоб повідомляти про це. Я взагалі планував її видалити, як це зробили в англ. вікі, але спершу потрібно було реалізувати функцію, що перевіряє чи передано «та ін.» як значення. Зараз в пісочниця ця реалізація є. Тому і цю помилку можна прибрати, зараз я над чим ще працює, якщо до Різдва (25 грудня) не вдасться те реалізувати. То тоді я синхронізую пісочницю з основним модулем і приберу цю помилку.

--Repakr (обговорення) 11:37, 19 грудня 2023 (UTC)Відповісти

YesТак Зроблено. --Repakr (обговорення) 18:14, 22 грудня 2023 (UTC)Відповісти
Дякую Дякую! --A.sav (обговорення) 14:27, 25 січня 2024 (UTC)Відповісти

first без last[ред. код]

Так Запит виконано

Прохання перенести з enwiki доробки щодо використання модуля з first без last. Зараз це приводить до помилки з незрозумілим повідомленням про помилку:

Помилка Lua у Модуль:Citation/CS1/Utilities у рядку 189: Виклик з невизначеною умовою помилки.

Дякую! --A.sav (обговорення) 14:21, 25 січня 2024 (UTC)Відповісти

@A.sav, YesТак Зроблено. --Repakr (обговорення) 17:49, 25 січня 2024 (UTC)Відповісти