عدل
|langpref= في الوحدة، هناك مرشح يعطي أولوية للقيم التي تحتوي على "اللغة = العربية". أضف القيمة المطلوبة لتعطيل هذا الفلتر.
- القيم المقبولة الأخرى هي : justlang و langcode
- أمثلة
|langpref=justlang لإظهار لغة النص فقط دون النص، مثل الإنجليزية.
|
|langpref=langcode لإظهار رمز لغة النص فقط دون النص، مثل en.
|
| توصيف
|
{{#invoke:Wikidata2
|formatStatements |entityId=Q76 |property=P1477 |noref=t |langpref=justlang
}}
|
| يظهر
|
|
|
| توصيف
|
{{#invoke:Wikidata2
|formatStatements |entityId=Q76 |property=P1477 |noref=t |langpref=langcode
}}
|
| يظهر
|
|
|
|showlang=
|
|textformat=text
|
| استخدم أي قيمة لإظهار النص حسب تنسيق قالب:رمز لغة واسمها.
|
اظهار النص فقط دون استخدام قوالب {{رمز لغة واسمها}} أو {{رمز لغة}}
|
| توصيف |
يظهر
|
{{#invoke:Wikidata2 |formatStatements |showlang=true |entityId=Q76 |property=P1477 |noref=t }}
|
|
|
|
|
|
| توصيف |
يظهر
|
{{#invoke:Wikidata2 |formatStatements |textformat=text |entityId=Q76 |property=P1477 |noref=t }}
|
|
|
|
|
|
- في النص العربي لا يظهر القالب:
| توصيف |
يظهر
|
{{#invoke:Wikidata2 |formatStatements |showlang=true |entityId=Q12197678 |property=P1477 |noref=t }}
|
|
|
|
|
local p = {}
local function isvalid(x)
if x and x ~= "" then
return x
end
return nil
end
local function full_temp(lang_code, lang_name, text)
local temp =
"{{رمز لغة واسمها" ..
"|" .. lang_code ..
"|" .. --lang_name ..
"|" .. text ..
--"|na=" .. lang_name ..
"}}"
mw.log(temp)
return mw.getCurrentFrame():preprocess(temp)
end
local function short_temp(lang_code, text)
return mw.getCurrentFrame():preprocess(
"{{رمز لغة" ..
"|" .. lang_code ..
"|" .. text ..
"}}"
)
end
function p._main(datavalue, datatype, options)
local lang_code = datavalue.value.language
local text = datavalue.value.text
local lang_name = mw.language.fetchLanguageName(lang_code, "ar")
if lang_code == "mis" then -- Unsupported language
return text
end
if isvalid(options.langpref) then
if options.langpref == "justlang" then
return lang_name
elseif options.langpref == "langcode" then
return lang_code
else
if lang_code == options.langpref then
local valu = mw.text.tag("span", {title = lang_name}, text)
local lange = "(" .. lang_name .. ")"
if isvalid(options.formatting) == "text" or lang_name == "العربية" or lang_code == "ar" then
return text
elseif isvalid(options.showlang) then
return full_temp(lang_code, lang_name, text)
else
return short_temp(lang_code, text)
end
end
end
else
lange = "(" .. lang_name .. ")"
valu = mw.text.tag("span", {title = lang_name}, text)
if lang_name == "العربية" or lang_code == "ar" then
return text
elseif isvalid(options.showlang) then
return full_temp(lang_code, lang_name, text)
else
return short_temp(lang_code, text)
end
end
end
function p.main(frame)
return p._main({language = frame.args["language"], text = frame.args["text"]}, frame.args["datatype"], frame.args)
end
return p