تضامنًا مع حق الشعب الفلسطيني |
وحدة:حزب سياسي/ملعب
هذه صفحة ملعب الوحدة لصفحة وحدة:حزب سياسي (فرق). |
صُنّفت هذه الوحدة على أنها في المرحلة النهائية. في هذه المرحلة تكون الوحدة وصلت لنقطة يمكن أن تستخدم في أي صفحة أو أي نطاق. كما أنها تؤدي الهدف الذي بنيت من أجله ولا توجد أي أخطاء بها. يمكن أن يشار إلى هذه الوحدة في صفحات المساعدة أو أي صفحات إرشادية على أرابيكا، كما يمكن أن توضع كأمثلة للجدد ليتعلموا منها. |
هذه الوحدة مستخدمة في عدد كبير من الصفحات . لتفادي خلق بلبلة على نطاق واسع من الصفحات وزيادة الأعباء على الخوادم، يجب تجربة أي تعديل في هذه الصفحات الفرعية /ملعب أو /تجربة أو في ملعبك. بعدها يمكنك اضافة التعديلات دفعة واحدة، ورجاءً، لا تنسَ مناقشة أمر التعديلات أوّلًا قبل القيام بها. |
هذه الوحدة تعتمد على الوحدات الأخرى التالية: |
الاستخدام
{{#استدعاء:حزب سياسي|fetch}}
الوسائط
{{#section:قالب:حزب سياسي/شرح|الوسائط}}
تحديث الوحدة
تُقسَّم الأحزاب السياسية الواردة في هذه الوحدة إلى قوائم مرتبة أبجديًا بناءً على الحرف الأول من الاسم (على سبيل المثال، سيكون "حزب العمال (المملكة المتحدة)" {Labour Party (UK)} في /L). الصفحة الفرعية /1 مخصصة لأي حزب لا يبدأ بالأحرف الغربية A-Z (بما في ذلك الأرقام والأحرف المعلمة)
يوجد داخل كل وحدة بيانات فرعية مجموعتان محليتان: local alternate
و local full
. المجموعة البديلة هي لأسماء بديلة للحزب. فيما يلي مثال على الأسماء البديلة لحزب العمال (المملكة المتحدة) {Labour Party (UK)}:
local alternate = {
....
["Labour and Co-operative"] = "Labour Party (UK)",
["Labour Co-operative"] = "Labour Party (UK)",
...
}
الإدخال الأول بين قوسين مربعين هو الاسم البديل، والإدخال الثاني فقط بين علامتي الاقتباس هو الاسم الموجود في المجموعة الكاملة full
، كما هو موضح أدناه. لاحظ أنه يجب تخزين الاسم البديل للحزب في الصفحة الفرعية المقابلة التي تعتمد على الحروف؛ أُدرج "حزب ألاباما الديمقراطي" {Alabama Democratic Party} في /A على الرغم من أنه اسم بديل لـ "الحزب الديمقراطي (الولايات المتحدة)" {Democratic Party (US)} (المخزن في /D).
local full = {
....
["Labour Party (UK)"] = {abbrev = "Lab", color = "#E4003B", shortname = "Labour",},
...
}
قيم الجدول
هناك ثلاث قيم مخزنة لكل حزب:
- الاختصار (
abbrev
). - لون الحزب (
color
)، والذي يمكن أن يكون إما هيكس ثلاثي أو اسم لون أساسي. - اسم أقصر للحزب (
shortname
).
إذا لم يتم تخزين قيمة اسم لحزب ما، ستحاول الوحدة إرجاع متغير الاسم "القصير" الآخر قبل إعادة الإدخال. وبالتالي إذا تم تخزين الاختصار (abbrev
) ولكن لم يتم تخزين الاسم القصير (shortname
) فبغض النظر عن القيمة المطلوبة فإنه سيعيد قيمة الاختصار (abbrev
).
طلب إضافة أو تغيير
Requests should be made at the talk page in a new section. Copy the following line and fill in only the fields relevant to the party. A party name is required as is at least one other piece of information. See above for information regarding each value.
["party"] = {abbrev = "", color = "", shortname = "",},
رسائل الخطأ
+ رسائل الخطأ والحلول | الرسالة | الحل |
---|---|---|
Lua error: bad argument #1 to 'sub' (string expected, got table). | An entry intended for the "local full" section has been placed into the "local alternate" section. Move it to the "local full" section | |
Lua error in package.lua at line 80: module 'Module:Political party/' not found. | Party added to alternate list with empty value. | |
Value not in template. Please request that it be added. (article search) | The party in question has an entry with no color in the "local full" section. (This can be caused by duplicate entries in "local full" that, if present, should be merged.) | |
(no error message, but party color is white/blank) | Add a color for the party to its entry in the "local full" section in the relevant Module:Political party/ lettered data page (see links below). | |
parameter 1 should be a party name (article search) | A template is trying to feed a missing parameter to the module. Work around this by testing for the parameter in the template. | |
parameter 2 should be the output type (article search) |
صفحات البيانات
- حزب سياسي/1
- حزب سياسي/A
- حزب سياسي/B
- حزب سياسي/C
- حزب سياسي/D
- حزب سياسي/E
- حزب سياسي/F
- حزب سياسي/G
- حزب سياسي/H
- حزب سياسي/I
- حزب سياسي/J
- حزب سياسي/K
- حزب سياسي/L
- حزب سياسي/M
- حزب سياسي/N
- حزب سياسي/O
- حزب سياسي/P
- حزب سياسي/Q
- حزب سياسي/R
- حزب سياسي/S
- حزب سياسي/T
- حزب سياسي/U
- حزب سياسي/V
- حزب سياسي/W
- حزب سياسي/X
- حزب سياسي/Y
- حزب سياسي/Z
القيم العربية
تستخدم وحدة:حزب سياسي/getalternate لمعرفة الأحزاب التي لا توجد في وحدة:حزب سياسي/1 والتي تحتاج لإضافة اسمها العربي في هذه الصفحة نقاش الوحدة:حزب سياسي/getalternate/مختبر.
local p = {}
local default_color = '#F8F9FA'
local categories = {
party_not_in_list = '[[Category:Pages using Political party with unknown party]]',
shortname_not_in_list = '[[Category:Pages using Political party with missing shortname]]',
color_not_in_list = '[[Category:Pages using Political party with missing color]]',
}
local function create_error(error_message)
return string.format('<strong class="error">%s</strong>', error_message)
end
local function getFirstLetter(party)
local index = mw.ustring.sub(party, 1, 1)
-- Set index for non-A-Z starts
if string.match(index, '%A') then
return '1'
end
return string.upper(index)
end
local function stripToNil(text)
-- If text is a string, return its trimmed content, or nil if empty.
-- Otherwise return text (which may, for example, be nil).
if type(text) == 'string' then
text = text:match('(%S.-)%s*$')
local delink = require('Module:Delink')._delink
text = delink({text, wikilinks = "target"})
end
return text
end
function p._fetch(args)
-- Initialise and populate variables
if not args[1] then
return create_error("parameter 1 should be a party name.")
end
if not args[2] then
return create_error("parameter 2 should be the output type.")
end
local party = stripToNil(args[1])
local out_type = stripToNil(args[2])
local index = getFirstLetter(party)
-- Load data from submodule
local data = mw.loadData('Module:Political party/' .. index)
local data_all = data.full
local party_alt = data.alternate[party]
local party_info
if party_alt then
if data_all[party_alt] then
party_info = data_all[party_alt]
else
index = getFirstLetter(party_alt)
data = mw.loadData('Module:Political party/' .. index)
party_info = data.full[party_alt]
end
else
party_info = data_all[party]
end
-- Check if database value exists
-- * Not even in database - return given error or input
-- * No color - return error
-- * No shortname or abbrev - return first non-blank of abbrev->shortname->input
if not party_info then
if out_type == 'color' then
return args.color or args.error or default_color
end
if args.no_fallback then
return ""
end
return args.error or party
end
local return_value = party_info[out_type]
if return_value == "" then
if out_type == 'color' then
return args.color or args.error or create_error("Value not in template. Please request that it be added.")
end
if args.no_fallback and (out_type == 'abbrev' or out_type == 'shortname') then
return ""
end
if out_type == 'abbrev' then
if party_info.shortname ~= "" then
return party_info.shortname
else
return party
end
end
if out_type == 'shortname' then
if party_info.abbrev ~= "" then
return party_info.abbrev
else
return party
end
end
return party
end
if out_type == 'color' and string.find(return_value, '#') then
return_value = string.gsub(return_value, '#', '#')
end
return return_value
end
function p.fetch(frame)
-- Initialise and populate variables
local getArgs = require("Module:Arguments").getArgs
local args = getArgs(frame)
return p._fetch(args)
end
return p