ويكي كتب
arwikibooks
https://ar.wikibooks.org/wiki/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9
MediaWiki 1.47.0-wmf.23
first-letter
ميديا
خاص
نقاش
مستخدم
نقاش المستخدم
ويكي كتب
نقاش ويكي كتب
ملف
نقاش الملف
ميدياويكي
نقاش ميدياويكي
قالب
نقاش القالب
مساعدة
نقاش المساعدة
تصنيف
نقاش التصنيف
نص زمني
نقاش النص الزمني
وحدة
نقاش الوحدة
فعالية
نقاش فعالية
التاريخ
0
2721
270784
270698
2026-10-12T23:06:33Z
MenoBot
3009
بوت: تغييرات تجميلية
270784
wikitext
text/x-wiki
* [[تاريخ الإسلام]]
* [[تاريخ الشرق الأوسط]]
* [[تاريخ أوروبا]]
* [[تاريخ أمريكا]]
* [[التاريخ/تاريخ آسيا|تاريخ آسيا]]
* [[تاريخ أفريقيا]]
* [[قالب: شخصيات تاريخية|شخصيات تاريخية]]
[[تصنيف:إنسانيات]]
[[تصنيف:تاريخ]]
[[تصنيف:علوم اجتماعية]]
[[تصنيف:علوم إنسانية]]
c9s5qtgzg7jxjpeo5rmqi6wgshzrc92
تصنيف:تجاوزات الدوال المكلفة
14
30562
270788
270674
2026-10-12T23:22:14Z
MenoBot
3009
بوت: تغييرات تجميلية
270788
wikitext
text/x-wiki
{{تصنيف مخفي}}
{{تصنيف كومنز|Pages with too many expensive parser function calls}}
[[تصنيف:ويكي الكتب]]
ca1eib308v8ntgde2b8d85wbm7zl22d
تصنيف:تجاوزات حجم التضمين بعد التوسيع
14
30564
270790
270676
2026-10-12T23:22:16Z
MenoBot
3009
بوت: تغييرات تجميلية
270790
wikitext
text/x-wiki
{{تصنيف مخفي}}
{{تصنيف كومنز|Pages where template include size is exceeded}}
[[تصنيف:ويكي الكتب]]
1uryo4z0sk41bal6eci7nenuvicjp1x
تصنيف:تجاوزات تعداد العقد
14
30565
270789
270675
2026-10-12T23:22:15Z
MenoBot
3009
بوت: تغييرات تجميلية
270789
wikitext
text/x-wiki
{{تصنيف مخفي}}
{{تصنيف كومنز|Pages where node count is exceeded}}
[[تصنيف:ويكي الكتب]]
t03x2c0daek0vmq9acr5rcefz5n9feb
تصنيف:تجاوزات عمق التوسيع
14
30566
270791
270677
2026-10-12T23:22:17Z
MenoBot
3009
بوت: تغييرات تجميلية
270791
wikitext
text/x-wiki
{{تصنيف مخفي}}
{{تصنيف كومنز|Pages where expansion depth is exceeded}}
[[تصنيف:ويكي الكتب]]
2f2fctck9y0lyeru2afq3dzptpzgrlp
تصنيف:أنماط صفحات أنماط القالب بأخطاء
14
44734
270786
270669
2026-10-12T23:22:12Z
MenoBot
3009
بوت: تغييرات تجميلية
270786
wikitext
text/x-wiki
{{تصنيف مخفي}}
[[تصنيف:ويكي الكتب]]
cx8hbav0n0kl0shzaenc0gutg0avys6
تصنيف:ملفات بلا رخصة قابلة للقراءة الآلية
14
44736
270793
270692
2026-10-12T23:22:27Z
MenoBot
3009
بوت: تغييرات تجميلية
270793
wikitext
text/x-wiki
{{تصنيف مخفي}}
{{تصنيف كومنز|Files with no machine-readable license}}
[[تصنيف:ويكي الكتب]]
jnk3s281o7rrtcfe94bl88iukftcuzl
تصنيف:ملفات بلا وصف قابل للقراءة الآلية
14
44737
270795
270694
2026-10-12T23:22:29Z
MenoBot
3009
بوت: تغييرات تجميلية
270795
wikitext
text/x-wiki
{{تصنيف مخفي}}
{{تصنيف كومنز|Files with no machine-readable description}}
[[تصنيف:ويكي الكتب]]
ndw7nnt9gi05zqd5ghrzvwikd1ngymm
تصنيف:ملفات بلا اسم مؤلف قابل للقراءة الآلية
14
44738
270792
270691
2026-10-12T23:22:26Z
MenoBot
3009
بوت: تغييرات تجميلية
270792
wikitext
text/x-wiki
{{تصنيف مخفي}}
{{تصنيف كومنز|Files with no machine-readable author}}
[[تصنيف:ويكي الكتب]]
8xml0xe3n6vm86or89g8w1j4f897gb7
تصنيف:ملفات بلا مصدر قابل للقراءة الآلية
14
44739
270794
270693
2026-10-12T23:22:28Z
MenoBot
3009
بوت: تغييرات تجميلية
270794
wikitext
text/x-wiki
{{تصنيف مخفي}}
{{تصنيف كومنز|Files with no machine-readable source}}
[[تصنيف:ويكي الكتب]]
h1azzbgxq6wsyq31xgnmoamf4i4g6p9
تصنيف:الصفحات التي تستخدم وصلات ISBN السحرية
14
44751
270787
270672
2026-10-12T23:22:13Z
MenoBot
3009
بوت: تغييرات تجميلية
270787
wikitext
text/x-wiki
{{تصنيف مخفي}}
{{تصنيف كومنز|Pages using ISBN magic links}}
[[تصنيف:ويكي الكتب]]
px7pmz4j7rh2zdkfqd9u4owmkhlbjlq
البرمجة بلغة جافا/التركيب النحوي
0
44887
270783
270739
2026-10-12T23:06:32Z
MenoBot
3009
بوت: تغييرات تجميلية
270783
wikitext
text/x-wiki
تحدد '''قواعد التركيب النحوي (Java Syntax)''' في لغة البرمجة جافا الصيغة القياسية والشروط المعيارية لكتابة الأكواد واستخدام الكلمات المفتاحية، والتي ينبغي للمُترجم (Java Compiler) اتباعها لتحويل الشفرة المصدريّة إلى لغة البايت (Bytecode). ترتبط صياغة جافا بصلة وثيقة بلغتي [[C (لغة برمجة)|C]] و[[C++]]، غير أنها فرضت هيكلية صارمة تعتمد كلياً على '''[[برمجة كائنية التوجه|البرمجة كائنية التوجه (OOP)]]''' وتنفيذ نظام '''الأنماط القوية (Strong Typing)'''.
== الهيكل الأساسي للبرنامج ==
في لغة جافا، لا يمكن تنفيذ أي تعليمات برمجية خارج نطاق '''الفئات (Classes)'''؛ حيث يُكتب كل تطبيق داخل فئة واحدة على الأقل، ويشترط لتنفيذ البرنامج وجود دالة/أسلوب رئيسي يدعى <code>main</code>.
<syntaxhighlight lang="java">
public class SyntaxExample {
public static void main(String[] args) {
System.out.println("مرحباً بك في ويكي الكتب");
}
}
</syntaxhighlight>
* <code>public</code>: محدد وصول يُتيح استخدام الفئة أو الدالة من خارج الحزمة.
* <code>class</code>: الكلمة المفتاحية المخصصة لتعريف الفئة.
* <code>main</code>: نقطة الانطلاق الأساسية للبرنامج عند بدء التشغيل.
== عناصر الصياغة البرمجية ==
تتألف شفرة جافا من عدة مكونات تركيبية رئيسية:
=== الكلمات المحجوزة (Keywords) ===
مجموعة من المفردات المعرفة مسبقاً في النظام ولا يُسمح باستخدامها كمعرفات، مثل: <code>class</code>، <code>public</code>، <code>static</code>، <code>void</code>، <code>if</code>، <code>else</code>، <code>while</code>، <code>return</code>.
=== المعرفات (Identifiers) ===
هي الأسماء المُسندة للمتغيرات، الدوال، والفئات. وتخضع للضوابط التالية:
* تتكون من أحرف (A-Z أو a-z)، أو أرقام، أو العلامات (<code>_</code> و <code>$</code>).
* لا يجوز أن تبدأ برقم.
* جافا '''حساسة لحالة الأحرف (Case-Sensitive)'''؛ حيث يُعد <code>Variable</code> مختلفاً عن <code>variable</code>.
=== التعليقات (Comments) ===
تعليمات يُهملها المترجم وتُستخدم للشرح والتأثيث النصي:
* تعليق سطر واحد: <code>// نص التعليق</code>
* تعليق متعدد الأسطر: <code>/* نص التعليق */</code>
* تعليق التوثيق (Javadoc): <code>/** نص التوثيق */</code>
== المتغيرات وأنواع البيانات ==
تنقسم البيانات في لغة جافا إلى فئتين رئيسيتين:
=== الأنواع البدائية (Primitive Data Types) ===
تُخزن القيم الفعلية في الذاكرة المباشرة:
{| class="wikitable"
|-
! النوع !! الحجم !! الوصف
|-
| <code>byte</code> || 1 بايت || أعداد صحيحة صغيرة جداً
|-
| <code>short</code> || 2 بايت || أعداد صحيحة صغيرة
|-
| <code>int</code> || 4 بايت || أعداد صحيحة قياسية
|-
| <code>long</code> || 8 بايت || أعداد صحيحة كبيرة
|-
| <code>float</code> || 4 بايت || أعداد كسرية قياسية
|-
| <code>double</code> || 8 بايت || أعداد كسرية دقيقة
|-
| <code>char</code> || 2 بايت || رمز أو حرف واحد (Unicode)
|-
| <code>boolean</code> || 1 بت || قيمة منطقية (<code>true</code> أو <code>false</code>)
|}
=== الأنواع المرجعية (Reference Data Types) ===
تُشير إلى مواقع الكائنات في الذاكرة (Heap Memory)، ومنها: النصوص (<code>String</code>)، المصفوفات (<code>Arrays</code>)، والكائنات المخصصة (<code>Objects</code>).
<syntaxhighlight lang="java">
int count = 10;
double price = 99.99;
boolean isActive = true;
String title = "التركيب النحوي";
</syntaxhighlight>
== الجمل الشرطية وحلقات التكرار ==
=== التحكم الشرطي ===
تُستخدم التراكيب الشرطية لاتخاذ القرارات بناءً على تحقق شروط منطقية:
<syntaxhighlight lang="java">
if (score >= 50) {
System.out.println("ناجح");
} else {
System.out.println("راسب");
}
</syntaxhighlight>
كما يمكن استخدام تركيب <code>switch</code> للتحقق من قيم متعددة لمتغير واحد.
=== التكرار والتدفق ===
تتضمن لغة جافا ثلاثة هياكل رئيسية للتكرار:
* '''حلقة <code>for</code>''': تُستخدم عند معرفة عدد التكرارات مسبقاً.
* '''حلقة <code>while</code>''': تتكرر طالما تحقق الشرط المنطقي.
* '''حلقة <code>do-while</code>''': تضمن تنفيذ الكود مرة واحدة على الأقل قبل فحص الشرط.
== انظر أيضاً ==
* [[البرمجة بلغة جافا/أساسيات جافا|أساسيات جافا]]
[[تصنيف:البرمجة بلغة جافا]]
dr58e4nbwx7q5c0ozy1rz73n2r9mttl
وحدة:Message box
828
45655
270770
270757
2026-10-12T12:38:45Z
SanBonne
34889
270770
Scribunto
text/plain
require('strict')
local getArgs
local yesno = require('Module:Yesno')
local lang = mw.language.getContentLanguage()
local CONFIG_MODULE = 'Module:Message box/configuration'
local DEMOSPACES = {talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'}
--------------------------------------------------------------------------------
-- Helper functions
--------------------------------------------------------------------------------
local function getTitleObject(...)
-- Get the title object, passing the function through pcall
-- in case we are over the expensive function count limit.
local success, title = pcall(mw.title.new, ...)
if success then
return title
end
end
local function union(t1, t2)
-- Returns the union of two arrays.
local vals = {}
for i, v in ipairs(t1) do
vals[v] = true
end
for i, v in ipairs(t2) do
vals[v] = true
end
local ret = {}
for k in pairs(vals) do
table.insert(ret, k)
end
table.sort(ret)
return ret
end
local function getArgNums(args, prefix)
local nums = {}
for k, v in pairs(args) do
local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$')
if num then
table.insert(nums, tonumber(num))
end
end
table.sort(nums)
return nums
end
--------------------------------------------------------------------------------
-- Box class definition
--------------------------------------------------------------------------------
local MessageBox = {}
MessageBox.__index = MessageBox
function MessageBox.new(boxType, args, cfg)
args = args or {}
local obj = {}
-- Set the title object and the namespace.
obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle()
-- Set the config for our box type.
obj.cfg = cfg[boxType]
if not obj.cfg then
local ns = obj.title.namespace
-- boxType is "mbox" or invalid input
if args.demospace and args.demospace ~= '' then
-- implement demospace parameter of mbox
local demospace = string.lower(args.demospace)
if DEMOSPACES[demospace] then
-- use template from DEMOSPACES
obj.cfg = cfg[DEMOSPACES[demospace]]
elseif string.find( demospace, 'talk' ) then
-- demo as a talk page
obj.cfg = cfg.tmbox
else
-- default to ombox
obj.cfg = cfg.ombox
end
elseif ns == 0 then
obj.cfg = cfg.ambox -- main namespace
elseif ns == 6 then
obj.cfg = cfg.imbox -- file namespace
elseif ns == 14 then
obj.cfg = cfg.cmbox -- category namespace
else
local nsTable = mw.site.namespaces[ns]
if nsTable and nsTable.isTalk then
obj.cfg = cfg.tmbox -- any talk namespace
else
obj.cfg = cfg.ombox -- other namespaces or invalid input
end
end
end
-- Set the arguments, and remove all blank arguments except for the ones
-- listed in cfg.allowBlankParams.
do
local newArgs = {}
for k, v in pairs(args) do
if v ~= '' then
newArgs[k] = v
end
end
for i, param in ipairs(obj.cfg.allowBlankParams or {}) do
newArgs[param] = args[param]
end
obj.args = newArgs
end
-- Define internal data structure.
obj.categories = {}
obj.classes = {}
-- For lazy loading of [[Module:Category handler]].
obj.hasCategories = false
return setmetatable(obj, MessageBox)
end
function MessageBox:addCat(ns, cat, sort)
if not cat then
return nil
end
if sort then
cat = string.format('[[Category:%s|%s]]', cat, sort)
else
cat = string.format('[[Category:%s]]', cat)
end
self.hasCategories = true
self.categories[ns] = self.categories[ns] or {}
table.insert(self.categories[ns], cat)
end
function MessageBox:addClass(class)
if not class then
return nil
end
table.insert(self.classes, class)
end
function MessageBox:setParameters()
local args = self.args
local cfg = self.cfg
-- Get type data.
self.type = args.type
local typeData = cfg.types[self.type]
self.invalidTypeError = cfg.showInvalidTypeError
and self.type
and not typeData
typeData = typeData or cfg.types[cfg.default]
self.typeClass = typeData.class
self.typeImage = typeData.image
self.typeImageNeedsLink = typeData.imageNeedsLink
-- Find if the box has been wrongly substituted.
self.isSubstituted = cfg.substCheck and args.subst == 'SUBST'
-- Find whether we are using a small message box.
self.isSmall = cfg.allowSmall and (
cfg.smallParam and args.small == cfg.smallParam
or not cfg.smallParam and yesno(args.small)
)
-- Add attributes, classes and styles.
self.id = args.id
self.name = args.name
if self.name then
self:addClass('box-' .. string.gsub(self.name,' ','_'))
end
if yesno(args.plainlinks) ~= false then
self:addClass('plainlinks')
end
for _, class in ipairs(cfg.classes or {}) do
self:addClass(class)
end
if self.isSmall then
self:addClass(cfg.smallClass or 'mbox-small')
end
self:addClass(self.typeClass)
self:addClass(args.class)
self.style = args.style
self.attrs = args.attrs
-- Set text style.
self.textstyle = args.textstyle
-- Set image classes.
self.imageRightClass = args.imagerightclass or args.imageclass
self.imageLeftClass = args.imageleftclass or args.imageclass
-- Find if we are on the template page or not. This functionality is only
-- used if useCollapsibleTextFields is set, or if both cfg.templateCategory
-- and cfg.templateCategoryRequireName are set.
self.useCollapsibleTextFields = cfg.useCollapsibleTextFields
if self.useCollapsibleTextFields
or cfg.templateCategory
and cfg.templateCategoryRequireName
then
if self.name then
local templateName = mw.ustring.match(
self.name,
'^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$'
) or self.name
templateName = 'Template:' .. templateName
self.templateTitle = getTitleObject(templateName)
end
self.isTemplatePage = self.templateTitle
and mw.title.equals(self.title, self.templateTitle)
end
-- Process data for collapsible text fields. At the moment these are only
-- used in {{ambox}}.
if self.useCollapsibleTextFields then
-- Get the self.issue value.
if self.isSmall and args.smalltext then
self.issue = args.smalltext
else
local sect
if args.sect == '' then
sect = 'This ' .. (cfg.sectionDefault or 'page')
elseif type(args.sect) == 'string' then
sect = 'This ' .. args.sect
end
local issue = args.issue
issue = type(issue) == 'string' and issue ~= '' and issue or nil
local text = args.text
text = type(text) == 'string' and text or nil
local issues = {}
table.insert(issues, sect)
table.insert(issues, issue)
table.insert(issues, text)
self.issue = table.concat(issues, ' ')
end
-- Get the self.talk value.
local talk = args.talk
-- Show talk links on the template page or template subpages if the talk
-- parameter is blank.
if talk == ''
and self.templateTitle
and (
mw.title.equals(self.templateTitle, self.title)
or self.title:isSubpageOf(self.templateTitle)
)
then
talk = '#'
elseif talk == '' then
talk = nil
end
if talk then
-- If the talk value is a talk page, make a link to that page. Else
-- assume that it's a section heading, and make a link to the talk
-- page of the current page with that section heading.
local talkTitle = getTitleObject(talk)
local talkArgIsTalkPage = true
if not talkTitle or not talkTitle.isTalkPage then
talkArgIsTalkPage = false
talkTitle = getTitleObject(
self.title.text,
mw.site.namespaces[self.title.namespace].talk.id
)
end
if talkTitle and talkTitle.exists then
local talkText
if self.isSmall then
local talkLink = talkArgIsTalkPage and talk or (talkTitle.prefixedText .. '#' .. talk)
talkText = string.format('([[%s|talk]])', talkLink)
else
talkText = 'Relevant discussion may be found on'
if talkArgIsTalkPage then
talkText = string.format(
'%s [[%s|%s]].',
talkText,
talk,
talkTitle.prefixedText
)
else
talkText = string.format(
'%s the [[%s#%s|talk page]].',
talkText,
talkTitle.prefixedText,
talk
)
end
end
self.talk = talkText
end
end
-- Get other values.
self.fix = args.fix ~= '' and args.fix or nil
local date
if args.date and args.date ~= '' then
date = args.date
elseif args.date == '' and self.isTemplatePage then
date = lang:formatDate('F Y')
end
if date then
self.date = string.format(" <span class='date-container'><i>(<span class='date'>%s</span>)</i></span>", date)
end
self.info = args.info
if yesno(args.removalnotice) then
self.removalNotice = cfg.removalNotice
end
end
-- Set the non-collapsible text field. At the moment this is used by all box
-- types other than ambox, and also by ambox when small=yes.
if self.isSmall then
self.text = args.smalltext or args.text
else
self.text = args.text
end
-- Set the below row.
self.below = cfg.below and args.below
-- General image settings.
self.imageCellDiv = not self.isSmall and cfg.imageCellDiv
self.imageEmptyCell = cfg.imageEmptyCell
-- Left image settings.
local imageLeft = self.isSmall and args.smallimage or args.image
if cfg.imageCheckBlank and imageLeft ~= 'blank' and imageLeft ~= 'none'
or not cfg.imageCheckBlank and imageLeft ~= 'none'
then
self.imageLeft = imageLeft
if not imageLeft then
local imageSize = self.isSmall
and (cfg.imageSmallSize or '30x30px')
or '40x40px'
self.imageLeft = string.format('[[File:%s|%s%s|alt=]]', self.typeImage
or 'Information icon4.svg', imageSize, self.typeImageNeedsLink and "" or "|link=" )
end
end
-- Right image settings.
local imageRight = self.isSmall and args.smallimageright or args.imageright
if not (cfg.imageRightNone and imageRight == 'none') then
self.imageRight = imageRight
end
-- set templatestyles
self.base_templatestyles = cfg.templatestyles
self.templatestyles = args.templatestyles
end
function MessageBox:setMainspaceCategories()
local args = self.args
local cfg = self.cfg
if not cfg.allowMainspaceCategories then
return nil
end
local nums = {}
for _, prefix in ipairs{'cat', 'category', 'all'} do
args[prefix .. '1'] = args[prefix]
nums = union(nums, getArgNums(args, prefix))
end
-- The following is roughly equivalent to the old {{Ambox/category}}.
local date = args.date
date = type(date) == 'string' and date
local preposition = 'from'
for _, num in ipairs(nums) do
local mainCat = args['cat' .. tostring(num)]
or args['category' .. tostring(num)]
local allCat = args['all' .. tostring(num)]
mainCat = type(mainCat) == 'string' and mainCat
allCat = type(allCat) == 'string' and allCat
if mainCat and date and date ~= '' then
local catTitle = string.format('%s %s %s', mainCat, preposition, date)
self:addCat(0, catTitle)
catTitle = getTitleObject('Category:' .. catTitle)
if not catTitle or not catTitle.exists then
self:addCat(0, 'Articles with invalid date parameter in template')
end
elseif mainCat and (not date or date == '') then
self:addCat(0, mainCat)
end
if allCat then
self:addCat(0, allCat)
end
end
end
function MessageBox:setTemplateCategories()
local args = self.args
local cfg = self.cfg
-- Add template categories.
if cfg.templateCategory then
if cfg.templateCategoryRequireName then
if self.isTemplatePage then
self:addCat(10, cfg.templateCategory)
end
elseif not self.title.isSubpage then
self:addCat(10, cfg.templateCategory)
end
end
-- Add template error categories.
if cfg.templateErrorCategory then
local templateErrorCategory = cfg.templateErrorCategory
local templateCat, templateSort
if not self.name and not self.title.isSubpage then
templateCat = templateErrorCategory
elseif self.isTemplatePage then
local paramsToCheck = cfg.templateErrorParamsToCheck or {}
local count = 0
for i, param in ipairs(paramsToCheck) do
if not args[param] then
count = count + 1
end
end
if count > 0 then
templateCat = templateErrorCategory
templateSort = tostring(count)
end
if self.categoryNums and #self.categoryNums > 0 then
templateCat = templateErrorCategory
templateSort = 'C'
end
end
self:addCat(10, templateCat, templateSort)
end
end
function MessageBox:setAllNamespaceCategories()
-- Set categories for all namespaces.
if self.invalidTypeError then
local allSort = (self.title.namespace == 0 and 'Main:' or '') .. self.title.prefixedText
self:addCat('all', 'Wikipedia message box parameter needs fixing', allSort)
end
if self.isSubstituted then
self:addCat('all', 'Pages with incorrectly substituted templates')
end
end
function MessageBox:setCategories()
if self.title.namespace == 0 then
self:setMainspaceCategories()
elseif self.title.namespace == 10 then
self:setTemplateCategories()
end
self:setAllNamespaceCategories()
end
function MessageBox:renderCategories()
if not self.hasCategories then
-- No categories added, no need to pass them to Category handler so,
-- if it was invoked, it would return the empty string.
-- So we shortcut and return the empty string.
return ""
end
-- Convert category tables to strings and pass them through
-- [[Module:Category handler]].
return require('Module:Category handler')._main{
main = table.concat(self.categories[0] or {}),
template = table.concat(self.categories[10] or {}),
all = table.concat(self.categories.all or {}),
nocat = self.args.nocat,
page = self.args.page
}
end
function MessageBox:export()
local root = mw.html.create()
-- Add the subst check error.
if self.isSubstituted and self.name then
root:tag('b')
:addClass('error')
:wikitext(string.format(
'Template <code>%s[[Template:%s|%s]]%s</code> has been incorrectly substituted.',
mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}')
))
end
local frame = mw.getCurrentFrame()
root:wikitext(frame:extensionTag{
name = 'templatestyles',
args = { src = self.base_templatestyles },
})
-- Add support for a single custom templatestyles sheet. Undocumented as
-- need should be limited and many templates using mbox are substed; we
-- don't want to spread templatestyles sheets around to arbitrary places
if self.templatestyles then
root:wikitext(frame:extensionTag{
name = 'templatestyles',
args = { src = self.templatestyles },
})
end
-- Create the box table.
local boxTable = root:tag('table')
boxTable:attr('id', self.id or nil)
for i, class in ipairs(self.classes or {}) do
boxTable:addClass(class or nil)
end
boxTable
:cssText(self.style or nil)
:attr('role', 'presentation')
if self.attrs then
boxTable:attr(self.attrs)
end
-- Add the left-hand image.
local row = boxTable:tag('tr')
if self.imageLeft then
local imageLeftCell = row:tag('td'):addClass('mbox-image')
if self.imageCellDiv then
-- If we are using a div, redefine imageLeftCell so that the image
-- is inside it. Divs use style="width: 52px;", which limits the
-- image width to 52px. If any images in a div are wider than that,
-- they may overlap with the text or cause other display problems.
imageLeftCell = imageLeftCell:tag('div'):addClass('mbox-image-div')
end
imageLeftCell
:addClass(self.imageLeftClass)
:wikitext(self.imageLeft or nil)
elseif self.imageEmptyCell then
-- Some message boxes define an empty cell if no image is specified, and
-- some don't. The old template code in templates where empty cells are
-- specified gives the following hint: "No image. Cell with some width
-- or padding necessary for text cell to have 100% width."
row:tag('td')
:addClass('mbox-empty-cell')
end
-- Add the text.
local textCell = row:tag('td'):addClass('mbox-text')
if self.useCollapsibleTextFields then
-- The message box uses advanced text parameters that allow things to be
-- collapsible. At the moment, only ambox uses this.
textCell:cssText(self.textstyle or nil)
local textCellDiv = textCell:tag('div')
textCellDiv
:addClass('mbox-text-span')
:wikitext(self.issue or nil)
if (self.talk or self.fix) then
textCellDiv:tag('span')
:addClass('hide-when-compact')
:wikitext(self.talk and (' ' .. self.talk) or nil)
:wikitext(self.fix and (' ' .. self.fix) or nil)
end
textCellDiv:wikitext(self.date and (' ' .. self.date) or nil)
if self.info and not self.isSmall then
textCellDiv
:tag('span')
:addClass('hide-when-compact')
:wikitext(self.info and (' ' .. self.info) or nil)
end
if self.removalNotice then
textCellDiv:tag('span')
:addClass('hide-when-compact')
:tag('i')
:wikitext(string.format(" (%s)", self.removalNotice))
end
else
-- Default text formatting - anything goes.
textCell
:cssText(self.textstyle or nil)
:wikitext(self.text or nil)
end
-- Add the right-hand image.
if self.imageRight then
local imageRightCell = row:tag('td'):addClass('mbox-imageright')
if self.imageCellDiv then
-- If we are using a div, redefine imageRightCell so that the image
-- is inside it.
imageRightCell = imageRightCell:tag('div'):addClass('mbox-image-div')
end
imageRightCell
:addClass(self.imageRightClass)
:wikitext(self.imageRight or nil)
end
-- Add the below row.
if self.below then
boxTable:tag('tr')
:tag('td')
:attr('colspan', self.imageRight and '3' or '2')
:addClass('mbox-text')
:cssText(self.textstyle or nil)
:wikitext(self.below or nil)
end
-- Add error message for invalid type parameters.
if self.invalidTypeError then
root:tag('div')
:addClass('mbox-invalid-type')
:wikitext(string.format(
'This message box is using an invalid "type=%s" parameter and needs fixing.',
self.type or ''
))
end
-- Add categories.
root:wikitext(self:renderCategories() or nil)
return tostring(root)
end
----------------------------------------------------------------------
-- دالة مخصصة لصناديق رسائل الكتب (bookbox)
----------------------------------------------------------------------
function p.bookbox(frame)
local args = frame:getParent().args
if not args['نص'] and not args['text'] then
args = frame.args
end
local boxType = args['نوع'] or args['type']
local image = args['صورة'] or args['image']
local text = args['نص'] or args['text'] or ''
local textSmall = args['تفاصيل'] or args['text_small']
-- 1. معالجة الصورة: إضافة الأقواس والتصغير فقط
if image and image ~= '' and image ~= 'none' then
image = '[[' .. image .. '|تصغير]]' -- يمكنك استخدام 'thumb' بدلاً من 'تصغير'
end
-- 2. معالجة النص: عنوان عريض بالمنتصف، وتفاصيل بخط عادي (RTL)
local formattedText = '<div style="text-align: center;"><div style="font-size: 115%; font-weight: bold;">' .. text .. '</div>'
if textSmall and textSmall ~= '' then
formattedText = formattedText .. '<div dir="rtl" style="font-size: 100%; font-weight: normal; margin-top: 5px;">' .. textSmall .. '</div>'
end
formattedText = formattedText .. '</div>'
-- 3. تمرير المعلمات الجاهزة إلى دالة ombox الأصلية
local finalArgs = {
type = boxType,
image = image,
text = formattedText
}
local newFrame = frame:newChild{ title = 'bookbox', args = finalArgs }
return p.ombox(newFrame)
end
--------------------------------------------------------------------------------
-- Exports
--------------------------------------------------------------------------------
local p, mt = {}, {}
function p._exportClasses()
-- For testing.
return {
MessageBox = MessageBox
}
end
function p.main(boxType, args, cfgTables)
local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE))
box:setParameters()
box:setCategories()
return box:export()
end
function mt.__index(t, k)
return function (frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
return t.main(k, getArgs(frame, {trim = false, removeBlanks = false}))
end
end
return setmetatable(p, mt)
j6yw4fapp6xm71pm0yarbh77ez3nlwf
270771
270770
2026-10-12T12:45:00Z
SanBonne
34889
270771
Scribunto
text/plain
require('strict')
local getArgs
local yesno = require('Module:Yesno')
local lang = mw.language.getContentLanguage()
local CONFIG_MODULE = 'Module:Message box/configuration'
local DEMOSPACES = {
talk = 'tmbox',
image = 'imbox',
file = 'imbox',
category = 'cmbox',
article = 'ambox',
main = 'ambox'
}
local p, mt = {}, {}
--------------------------------------------------------------------------------
-- Helper functions
--------------------------------------------------------------------------------
local function getTitleObject(...)
-- Protect against errors caused by the expensive function limit.
local success, title = pcall(mw.title.new, ...)
if success then
return title
end
end
local function union(t1, t2)
-- Return the union of two arrays.
local values = {}
for _, value in ipairs(t1) do
values[value] = true
end
for _, value in ipairs(t2) do
values[value] = true
end
local result = {}
for value in pairs(values) do
table.insert(result, value)
end
table.sort(result)
return result
end
local function getArgNums(args, prefix)
local numbers = {}
for key in pairs(args) do
local number = mw.ustring.match(
tostring(key),
'^' .. prefix .. '([1-9]%d*)$'
)
if number then
table.insert(numbers, tonumber(number))
end
end
table.sort(numbers)
return numbers
end
--------------------------------------------------------------------------------
-- MessageBox class
--------------------------------------------------------------------------------
local MessageBox = {}
MessageBox.__index = MessageBox
function MessageBox.new(boxType, args, cfg)
args = args or {}
local obj = {}
obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle()
-- Select the configuration for the requested box type.
obj.cfg = cfg[boxType]
if not obj.cfg then
local namespace = obj.title.namespace
if args.demospace and args.demospace ~= '' then
local demospace = string.lower(args.demospace)
if DEMOSPACES[demospace] then
obj.cfg = cfg[DEMOSPACES[demospace]]
elseif string.find(demospace, 'talk') then
obj.cfg = cfg.tmbox
else
obj.cfg = cfg.ombox
end
elseif namespace == 0 then
obj.cfg = cfg.ambox
elseif namespace == 6 then
obj.cfg = cfg.imbox
elseif namespace == 14 then
obj.cfg = cfg.cmbox
else
local namespaceData = mw.site.namespaces[namespace]
if namespaceData and namespaceData.isTalk then
obj.cfg = cfg.tmbox
else
obj.cfg = cfg.ombox
end
end
end
-- Remove blank arguments except those explicitly allowed by the config.
local filteredArgs = {}
for key, value in pairs(args) do
if value ~= '' then
filteredArgs[key] = value
end
end
for _, parameter in ipairs(obj.cfg.allowBlankParams or {}) do
filteredArgs[parameter] = args[parameter]
end
obj.args = filteredArgs
-- Initialize internal state.
obj.categories = {}
obj.classes = {}
obj.hasCategories = false
return setmetatable(obj, MessageBox)
end
function MessageBox:addCat(namespace, category, sort)
if not category then
return
end
local categoryLink
if sort then
categoryLink = string.format(
'[[Category:%s|%s]]',
category,
sort
)
else
categoryLink = string.format('[[Category:%s]]', category)
end
self.hasCategories = true
self.categories[namespace] = self.categories[namespace] or {}
table.insert(self.categories[namespace], categoryLink)
end
function MessageBox:addClass(class)
if class then
table.insert(self.classes, class)
end
end
function MessageBox:setParameters()
local args = self.args
local cfg = self.cfg
-- Message type.
self.type = args.type
local typeData = cfg.types[self.type]
self.invalidTypeError = cfg.showInvalidTypeError
and self.type
and not typeData
typeData = typeData or cfg.types[cfg.default]
self.typeClass = typeData.class
self.typeImage = typeData.image
self.typeImageNeedsLink = typeData.imageNeedsLink
-- Detect incorrect substitution.
self.isSubstituted = cfg.substCheck and args.subst == 'SUBST'
-- Determine whether to use the small layout.
self.isSmall = cfg.allowSmall and (
(cfg.smallParam and args.small == cfg.smallParam)
or (not cfg.smallParam and yesno(args.small))
)
-- Attributes, classes, and styles.
self.id = args.id
self.name = args.name
if self.name then
self:addClass('box-' .. string.gsub(self.name, ' ', '_'))
end
if yesno(args.plainlinks) ~= false then
self:addClass('plainlinks')
end
for _, class in ipairs(cfg.classes or {}) do
self:addClass(class)
end
if self.isSmall then
self:addClass(cfg.smallClass or 'mbox-small')
end
self:addClass(self.typeClass)
self:addClass(args.class)
self.style = args.style
self.attrs = args.attrs
self.textstyle = args.textstyle
-- Image classes.
self.imageRightClass = args.imagerightclass or args.imageclass
self.imageLeftClass = args.imageleftclass or args.imageclass
-- Determine whether this is the template page.
self.useCollapsibleTextFields = cfg.useCollapsibleTextFields
if self.useCollapsibleTextFields
or (cfg.templateCategory and cfg.templateCategoryRequireName)
then
if self.name then
local templateName = mw.ustring.match(
self.name,
'^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$'
) or self.name
templateName = 'Template:' .. templateName
self.templateTitle = getTitleObject(templateName)
end
self.isTemplatePage = self.templateTitle
and mw.title.equals(self.title, self.templateTitle)
end
-- Collapsible text fields.
if self.useCollapsibleTextFields then
if self.isSmall and args.smalltext then
self.issue = args.smalltext
else
local section
if args.sect == '' then
section = 'This ' .. (cfg.sectionDefault or 'page')
elseif type(args.sect) == 'string' then
section = 'This ' .. args.sect
end
local issue = args.issue
if type(issue) ~= 'string' or issue == '' then
issue = nil
end
local text = args.text
if type(text) ~= 'string' then
text = nil
end
self.issue = table.concat({
section or '',
issue or '',
text or ''
}, ' '):gsub('^%s*(.-)%s*$', '%1')
end
-- Discussion links.
local talk = args.talk
if talk == ''
and self.templateTitle
and (
mw.title.equals(self.templateTitle, self.title)
or self.title:isSubpageOf(self.templateTitle)
)
then
talk = '#'
elseif talk == '' then
talk = nil
end
if talk then
local talkTitle = getTitleObject(talk)
local talkIsPage = talkTitle and talkTitle.isTalkPage
if not talkIsPage then
talkTitle = getTitleObject(
self.title.text,
mw.site.namespaces[self.title.namespace].talk.id
)
end
if talkTitle and talkTitle.exists then
local talkText
if self.isSmall then
local talkLink = talkIsPage
and talk
or (talkTitle.prefixedText .. '#' .. talk)
talkText = string.format('([[%s|talk]])', talkLink)
elseif talkIsPage then
talkText = string.format(
'Relevant discussion may be found on [[%s|%s]].',
talk,
talkTitle.prefixedText
)
else
talkText = string.format(
'Relevant discussion may be found on the [[%s#%s|talk page]].',
talkTitle.prefixedText,
talk
)
end
self.talk = talkText
end
end
-- Additional text fields.
self.fix = args.fix ~= '' and args.fix or nil
local date
if args.date and args.date ~= '' then
date = args.date
elseif args.date == '' and self.isTemplatePage then
date = lang:formatDate('F Y')
end
if date then
self.date = string.format(
" <span class='date-container'><i>(<span class='date'>%s</span>)</i></span>",
date
)
end
self.info = args.info
if yesno(args.removalnotice) then
self.removalNotice = cfg.removalNotice
end
end
-- Main text.
if self.isSmall then
self.text = args.smalltext or args.text
else
self.text = args.text
end
-- Below row.
self.below = cfg.below and args.below
-- Image settings.
self.imageCellDiv = not self.isSmall and cfg.imageCellDiv
self.imageEmptyCell = cfg.imageEmptyCell
-- Left image.
local imageLeft = self.isSmall and args.smallimage or args.image
if (
cfg.imageCheckBlank
and imageLeft ~= 'blank'
and imageLeft ~= 'none'
) or (
not cfg.imageCheckBlank
and imageLeft ~= 'none'
) then
self.imageLeft = imageLeft
if not imageLeft then
local imageSize = self.isSmall
and (cfg.imageSmallSize or '30x30px')
or '40x40px'
local linkOption = self.typeImageNeedsLink and '' or '|link='
self.imageLeft = string.format(
'[[File:%s|%s%s|alt=]]',
self.typeImage or 'Information icon4.svg',
imageSize,
linkOption
)
end
end
-- Right image.
local imageRight = self.isSmall and args.smallimageright or args.imageright
if not (cfg.imageRightNone and imageRight == 'none') then
self.imageRight = imageRight
end
-- TemplateStyles.
self.base_templatestyles = cfg.templatestyles
self.templatestyles = args.templatestyles
end
--------------------------------------------------------------------------------
-- Category handling
--------------------------------------------------------------------------------
function MessageBox:setMainspaceCategories()
local args = self.args
local cfg = self.cfg
if not cfg.allowMainspaceCategories then
return
end
local numbers = {}
for _, prefix in ipairs({ 'cat', 'category', 'all' }) do
args[prefix .. '1'] = args[prefix]
numbers = union(numbers, getArgNums(args, prefix))
end
local date = args.date
local preposition = 'from'
for _, number in ipairs(numbers) do
local mainCategory = args['cat' .. number]
or args['category' .. number]
local allCategory = args['all' .. number]
if type(mainCategory) ~= 'string' then
mainCategory = nil
end
if type(allCategory) ~= 'string' then
allCategory = nil
end
if mainCategory and date and date ~= '' then
local categoryTitle = string.format(
'%s %s %s',
mainCategory,
preposition,
date
)
self:addCat(0, categoryTitle)
local title = getTitleObject('Category:' .. categoryTitle)
if not title or not title.exists then
self:addCat(
0,
'Articles with invalid date parameter in template'
)
end
elseif mainCategory and (not date or date == '') then
self:addCat(0, mainCategory)
end
if allCategory then
self:addCat(0, allCategory)
end
end
end
function MessageBox:setTemplateCategories()
local args = self.args
local cfg = self.cfg
-- Template categories.
if cfg.templateCategory then
if cfg.templateCategoryRequireName then
if self.isTemplatePage then
self:addCat(10, cfg.templateCategory)
end
elseif not self.title.isSubpage then
self:addCat(10, cfg.templateCategory)
end
end
-- Template error categories.
if cfg.templateErrorCategory then
local errorCategory = cfg.templateErrorCategory
local category
local sort
if not self.name and not self.title.isSubpage then
category = errorCategory
elseif self.isTemplatePage then
local params = cfg.templateErrorParamsToCheck or {}
local missingCount = 0
for _, parameter in ipairs(params) do
if not args[parameter] then
missingCount = missingCount + 1
end
end
if missingCount > 0 then
category = errorCategory
sort = tostring(missingCount)
end
if self.categoryNums and #self.categoryNums > 0 then
category = errorCategory
sort = 'C'
end
end
self:addCat(10, category, sort)
end
end
function MessageBox:setAllNamespaceCategories()
if self.invalidTypeError then
local sort = (self.title.namespace == 0 and 'Main:' or '')
.. self.title.prefixedText
self:addCat(
'all',
'Wikipedia message box parameter needs fixing',
sort
)
end
if self.isSubstituted then
self:addCat(
'all',
'Pages with incorrectly substituted templates'
)
end
end
function MessageBox:setCategories()
if self.title.namespace == 0 then
self:setMainspaceCategories()
elseif self.title.namespace == 10 then
self:setTemplateCategories()
end
self:setAllNamespaceCategories()
end
function MessageBox:renderCategories()
if not self.hasCategories then
return ''
end
return require('Module:Category handler')._main({
main = table.concat(self.categories[0] or {}),
template = table.concat(self.categories[10] or {}),
all = table.concat(self.categories.all or {}),
nocat = self.args.nocat,
page = self.args.page
})
end
--------------------------------------------------------------------------------
-- Rendering
--------------------------------------------------------------------------------
function MessageBox:export()
local root = mw.html.create()
-- Substitution warning.
if self.isSubstituted and self.name then
root:tag('b')
:addClass('error')
:wikitext(string.format(
'Template <code>%s[[Template:%s|%s]]%s</code> has been incorrectly substituted.',
mw.text.nowiki('{{'),
self.name,
self.name,
mw.text.nowiki('}}')
))
end
local frame = mw.getCurrentFrame()
root:wikitext(frame:extensionTag({
name = 'templatestyles',
args = { src = self.base_templatestyles }
}))
-- Optional custom TemplateStyles sheet.
if self.templatestyles then
root:wikitext(frame:extensionTag({
name = 'templatestyles',
args = { src = self.templatestyles }
}))
end
-- Message box table.
local boxTable = root:tag('table')
:attr('id', self.id)
:cssText(self.style)
:attr('role', 'presentation')
for _, class in ipairs(self.classes) do
boxTable:addClass(class)
end
if self.attrs then
boxTable:attr(self.attrs)
end
local row = boxTable:tag('tr')
-- Left image.
if self.imageLeft then
local imageCell = row:tag('td'):addClass('mbox-image')
if self.imageCellDiv then
imageCell = imageCell:tag('div'):addClass('mbox-image-div')
end
imageCell
:addClass(self.imageLeftClass)
:wikitext(self.imageLeft)
elseif self.imageEmptyCell then
row:tag('td'):addClass('mbox-empty-cell')
end
-- Message text.
local textCell = row:tag('td'):addClass('mbox-text')
if self.useCollapsibleTextFields then
textCell:cssText(self.textstyle)
local textDiv = textCell:tag('div')
:addClass('mbox-text-span')
:wikitext(self.issue)
if self.talk or self.fix then
local hiddenSpan = textDiv:tag('span')
:addClass('hide-when-compact')
hiddenSpan:wikitext(self.talk and (' ' .. self.talk))
hiddenSpan:wikitext(self.fix and (' ' .. self.fix))
end
textDiv:wikitext(self.date and (' ' .. self.date))
if self.info and not self.isSmall then
textDiv:tag('span')
:addClass('hide-when-compact')
:wikitext(' ' .. self.info)
end
if self.removalNotice then
textDiv:tag('span')
:addClass('hide-when-compact')
:tag('i')
:wikitext(string.format(' (%s)', self.removalNotice))
end
else
textCell
:cssText(self.textstyle)
:wikitext(self.text)
end
-- Right image.
if self.imageRight then
local imageCell = row:tag('td'):addClass('mbox-imageright')
if self.imageCellDiv then
imageCell = imageCell:tag('div'):addClass('mbox-image-div')
end
imageCell
:addClass(self.imageRightClass)
:wikitext(self.imageRight)
end
-- Below row.
if self.below then
boxTable:tag('tr')
:tag('td')
:attr('colspan', self.imageRight and '3' or '2')
:addClass('mbox-text')
:cssText(self.textstyle)
:wikitext(self.below)
end
-- Invalid type warning.
if self.invalidTypeError then
root:tag('div')
:addClass('mbox-invalid-type')
:wikitext(string.format(
'This message box is using an invalid "type=%s" parameter and needs fixing.',
self.type or ''
))
end
root:wikitext(self:renderCategories())
return tostring(root)
end
--------------------------------------------------------------------------------
-- Book message box (bookbox)
--------------------------------------------------------------------------------
function p.bookbox(frame)
local args = frame:getParent().args
if not args['نص'] and not args.text then
args = frame.args
end
local boxType = args['نوع'] or args.type
local image = args['صورة'] or args.image
local text = args['نص'] or args.text or ''
local smallText = args['تفاصيل'] or args.text_small
-- Format the image.
if image and image ~= '' and image ~= 'none' then
image = '[[' .. image .. '|تصغير]]'
end
-- Format the main text and optional details.
local formattedText = string.format(
'<div style="text-align: center;"><div style="font-size: 115%%; font-weight: bold;">%s</div>',
text
)
if smallText and smallText ~= '' then
formattedText = formattedText .. string.format(
'<div dir="rtl" style="font-size: 100%%; font-weight: normal; margin-top: 5px;">%s</div>',
smallText
)
end
formattedText = formattedText .. '</div>'
-- Pass the formatted arguments to the original ombox.
local newFrame = frame:newChild({
title = 'bookbox',
args = {
type = boxType,
image = image,
text = formattedText
}
})
return p.ombox(newFrame)
end
--------------------------------------------------------------------------------
-- Public exports
--------------------------------------------------------------------------------
function p._exportClasses()
-- For testing.
return {
MessageBox = MessageBox
}
end
function p.main(boxType, args, cfgTables)
local box = MessageBox.new(
boxType,
args,
cfgTables or mw.loadData(CONFIG_MODULE)
)
box:setParameters()
box:setCategories()
return box:export()
end
function mt.__index(t, key)
return function(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
return t.main(key, getArgs(frame, {
trim = false,
removeBlanks = false
}))
end
end
return setmetatable(p, mt)
an907cw1bw1cx4ilv3ae5srre4o8tc2
وحدة:Message box/configuration
828
45807
270764
270761
2026-10-12T12:18:06Z
SanBonne
34889
270764
Scribunto
text/plain
---------------------------------------------------------------------------------
-- تكوين صندوق الرسالة (Message box) --
-- --
-- يحتوي هذا الموديول على بيانات التكوين لـ [[وحدة:Message box]]. --
---------------------------------------------------------------------------------
local cfg = {}
-- إعدادات صناديق المقالات والكتب (ambox)
cfg.ambox = {
types = {
speedy = {
class = 'ambox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ambox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ambox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ambox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ambox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ambox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'ambox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
templatestyles = 'وحدة:Message_box/ambox.css',
allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'subst', 'hidden'},
allowSmall = true,
smallParam = 'left',
smallClass = 'mbox-small-left',
substCheck = true,
classes = {'metadata', 'ambox'},
imageEmptyCell = true,
imageCheckBlank = true,
imageRightNone = true,
sectionDefault = 'كتاب',
allowMainspaceCategories = true,
}
-- إعدادات صناديق التصنيفات (cmbox)
cfg.cmbox = {
types = {
speedy = {
class = 'cmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'cmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'cmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'cmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'cmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'cmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'cmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
templatestyles = 'وحدة:Message_box/cmbox.css',
showInvalidTypeError = true,
classes = {'cmbox'},
imageEmptyCell = true
}
-- إعدادات الصناديق العامة ونطاقات أخرى (ombox)
cfg.ombox = {
types = {
speedy = {
class = 'ombox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ombox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ombox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ombox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ombox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ombox-protection',
image = 'Imbox protection.png'
},
notice = {
class = 'ombox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
templatestyles = 'وحدة:Message_box/ombox.css',
showInvalidTypeError = true,
classes = {'ombox'},
imageEmptyCell = true,
imageRightNone = true
}
-- الأسماء البديلة للأنواع (التعرف على الكلمات العربية)
cfg.typeAliases = {
['سريع'] = 'speedy',
['حذف'] = 'delete',
['محتوى'] = 'content',
['أسلوب'] = 'style',
['تنسيق'] = 'style',
['ملاحظة'] = 'notice',
['نقل'] = 'move',
['حماية'] = 'protection'
}
return cfg
blrohdxknuwm809jip89lbhxg0lov86
270767
270764
2026-10-12T12:28:28Z
SanBonne
34889
270767
Scribunto
text/plain
---------------------------------------------------------------------------------
-- تكوين صندوق الرسالة (Message box) --
-- --
-- يحتوي هذا الموديول على بيانات التكوين لـ [[وحدة:Message box]]. --
---------------------------------------------------------------------------------
local cfg = {}
-- 1. إعدادات صناديق المقالات والكتب (ambox)
cfg.ambox = {
types = {
speedy = {
class = 'ambox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ambox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ambox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ambox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ambox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ambox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'ambox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
templatestyles = 'وحدة:Message_box/ambox.css',
allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'subst', 'hidden'},
allowSmall = true,
smallParam = 'left',
smallClass = 'mbox-small-left',
substCheck = true,
classes = {'metadata', 'ambox'},
imageEmptyCell = true,
imageCheckBlank = true,
imageRightNone = true,
sectionDefault = 'كتاب',
allowMainspaceCategories = true,
}
-- 2. إعدادات صناديق التصنيفات (cmbox)
cfg.cmbox = {
types = {
speedy = {
class = 'cmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'cmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'cmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'cmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'cmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'cmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'cmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
templatestyles = 'وحدة:Message_box/cmbox.css',
showInvalidTypeError = true,
classes = {'cmbox'},
imageEmptyCell = true
}
-- 3. إعدادات صناديق النظام (fmbox)
cfg.fmbox = {
types = {
warning = {
class = 'fmbox-warning',
image = 'Ambox warning pn.svg'
},
editnotice = {
class = 'fmbox-editnotice',
image = 'Information icon4.svg'
},
system = {
class = 'fmbox-system',
image = 'Information icon4.svg'
}
},
default = 'system',
templatestyles = 'وحدة:Message_box/fmbox.css',
showInvalidTypeError = true,
classes = {'fmbox'},
imageEmptyCell = false,
imageRightNone = false
}
-- 4. إعدادات صناديق الملفات والصور (imbox)
cfg.imbox = {
types = {
speedy = {
class = 'imbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'imbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'imbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'imbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'imbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'imbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
license = {
class = 'imbox-license',
image = 'Imbox license.png'
},
featured = {
class = 'imbox-featured',
image = 'Cscr-featured.svg'
},
notice = {
class = 'imbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
templatestyles = 'وحدة:Message_box/imbox.css',
showInvalidTypeError = true,
classes = {'imbox'},
imageEmptyCell = true,
below = true,
templateCategoryRequireName = true
}
-- 5. إعدادات الصناديق العامة (ombox)
cfg.ombox = {
types = {
speedy = {
class = 'ombox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ombox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ombox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ombox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ombox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ombox-protection',
image = 'Imbox protection.png'
},
notice = {
class = 'ombox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
templatestyles = 'وحدة:Message_box/ombox.css',
showInvalidTypeError = true,
classes = {'ombox'},
imageEmptyCell = true,
imageRightNone = true
}
-- 6. إعدادات صناديق صفحات النقاش (tmbox)
cfg.tmbox = {
types = {
speedy = {
class = 'tmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'tmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'tmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'tmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'tmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'tmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'tmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
templatestyles = 'وحدة:Message_box/tmbox.css',
showInvalidTypeError = true,
classes = {'tmbox'},
imageRightNone = true,
imageEmptyCell = true,
allowSmall = true,
smallParam = 'small',
smallClass = 'mbox-small',
templateCategoryRequireName = true
}
-- 7. الأسماء البديلة للأنواع (لغات أخرى أو مرادفات)
-- التعرف التلقائي على الكلمات العربية لجميع الصناديق أعلاه
cfg.typeAliases = {
['سريع'] = 'speedy',
['حذف'] = 'delete',
['محتوى'] = 'content',
['أسلوب'] = 'style',
['تنسيق'] = 'style',
['ملاحظة'] = 'notice',
['نقل'] = 'move',
['حماية'] = 'protection',
['ترخيص'] = 'license',
['مختارة'] = 'featured',
['تحذير'] = 'warning',
['نظام'] = 'system'
}
return cfg
o143eij018ys4xtqtj8ho9pujykz127
قالب:تطوير مقالة
10
46927
270769
97147
2026-10-12T12:34:24Z
SanBonne
34889
270769
wikitext
text/x-wiki
{{صندوق رسالة كتاب
| نوع = notice
| صورة = Ambox warning blue construction.svg
| نص = تطوير كتاب
| تفاصيل = إذا كان لديك أي استفسار أو تساؤل، فضلاً ضعه في صفحة النقاش قبل إجراء أي تعديل عليه أو ترشيحه للحذف.<!-- نص إضافي أو تفصيلي يظهر بخط أصغر -->
}}
<noinclude>
[[تصنيف:قوالب]]
</noinclude>
1811ab9678727p85dnp11ei5nb0qcra
تصنيف:Pages using DynamicPageList
14
50282
270785
270671
2026-10-12T23:22:10Z
MenoBot
3009
بوت: تغييرات تجميلية
270785
wikitext
text/x-wiki
{{تصنيف مخفي}}
g5syx9bwyo4kdpr5piwvbc0p7rnp5jp
البرمجة بلغة جافا/أساسيات جافا
0
57829
270782
270732
2026-10-12T22:49:34Z
MenoBot
3009
بوت: تغييرات تجميلية
270782
wikitext
text/x-wiki
تُعد '''أساسيات جافا ''' حجر الأساس لفهم كيفية بناء وتطوير البرامج والتطبيقات المكتوبة بهذه اللغة. بعد الإلمام بقواعد التركيب النحوي (Syntax)، يجب فهم المفاهيم الجوهرية التي تبني المنطق البرمجي داخل لغة جافا.
== المعاملات والعمليات الحسابية والمنطقية ==
تدعم لغة جافا مجموعة واسعة من المعاملات (Operators) لمعالجة البيانات وتنفيذ العمليات المختلفة:
=== العمليات الحسابية (Arithmetic Operators) ===
تُستخدم لإجراء العمليات الرياضية الأساسية:
* <code>+</code> : الجمع
* <code>-</code> : الطرح
* <code>*</code> : الضرب
* <code>/</code> : القسمة
* <code>%</code> : باقي القسمة (Modulo)
=== المعاملات العلائقية والمقارنة (Relational Operators) ===
تُستخدم لمقارنة القيم وإرجاع نتيجة منطقية (<code>true</code> أو <code>false</code>):
* <code>==</code> : مساوٍ ل:
* <code>!=</code> : لا يساوي
* <code>></code> ، <code><</code> : أكبر من، أصغر من
* <code>>=</code> ، <code><=</code> : أكبر من أو يساوي، أصغر من أو يساوي
=== المعاملات المنطقية (Logical Operators) ===
تُستخدم لربط الشروط المنطقية المتعددة:
* <code>&&</code> : (AND) الشرط المشترك (يتحقق إذا كانت جميع الشروط صحيحة).
* <code>||</code> : (OR) الشرط البديل (يتحقق إذا تحقق شرط واحد على الأقل).
* <code>!</code> : (NOT) العكس المنطقي.
== نطاق المتغيرات (Variable Scope) ==
يحدد نطاق المتغير (Scope) الجانب أو الكتلة البرمجية التي يمكن فيها الوصول إلى المتغير واستخدامه:
* '''متغيرات الفئة (Class Variables / Fields):''' تُعرف داخل الفئة وخارج الدوال، وتكون متاحة لكافة أساليب الفئة.
* '''المتغيرات المحلية (Local Variables):''' تُعرف داخل الدوال أو الحلقات التكرارية، وتنتهي صلاحيتها بمجرد الخروج من تلك الكتلة البرمجية.
=== المصفوفات (Arrays) ===
المصفوفة هي بنية بيانات مخصصة لتخزين مجموعة من العناصر (ذات نوع واحد) تحت اسم متغير واحد وبأحجام ثابتة.
<syntaxhighlight lang="java">
// إعلان وإنشاء مصفوفة تحتوي على 5 أعداد صحيحة
int[] scores = new int[5];
// تعبئة المصفوفة بالقيم مباشرة
String[] days = {"السبت", "الأحد", "الإثنين", "الثلاثاء", "الأربعاء"};
// الوصول إلى عنصر داخل المصفوفة عبر الفهرس (Index)
System.out.println(days[0]); // يطبع "السبت"
</syntaxhighlight>
== إدخال وإخراج البيانات (I/O) ===
تتفاعل برامج جافا مع المستخدمين إما عبر سطر الأوامر (Console) أو واجهات المستخدم الرسومية. لقراءة المدخلات من لوحة المفاتيح، يُستخدم عادةً الصنف <code>Scanner</code>:
<syntaxhighlight lang="java">
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("أدخل اسمك: ");
String name = scanner.nextLine();
System.out.println("أهلاً بك، " + name);
}
}
</syntaxhighlight>
== انظر أيضاً ==
* [[البرمجة بلغة جافا/التركيب النحوي|التركيب النحوي في جافا]]
* [[البرمجة بلغة جافا/البرمجة كائنية التوجه|مبادئ البرمجة كائنية التوجه (OOP)]]
* [[البرمجة بلغة جافا/الاستثناءات|معالجة الاستثناءات والأخطاء]]
[[تصنيف:البرمجة بلغة جافا]]
[[تصنيف:لغات البرمجة]]
r1n7hpgq75po6iuqegik5fu1mcqrfps
قالب:صندوق رسالة كتاب
10
57833
270762
270760
2026-10-12T12:14:34Z
SanBonne
34889
270762
wikitext
text/x-wiki
{{#invoke:Message box|ombox
| type = {{{نوع|{{{{type|}}}}}
| image = {{{صورة|{{{{image|}}}}}
| text = {{{نص|{{{text|}}}}}}
| text_small = {{{تفاصيل|{{{text_small|}}}}}}
}}<!--
--><noinclude>
{{توثيق}}
</noinclude>
mj8y7mfd6ga5nwdv4sif3eh37jgkhsc
270763
270762
2026-10-12T12:14:57Z
SanBonne
34889
270763
wikitext
text/x-wiki
{{#invoke:Message box|ombox
| type = {{{نوع|{{{{type|}}}}
| image = {{{صورة|{{{{image|}}}}
| text = {{{نص|{{{text|}}}}}}
| text_small = {{{تفاصيل|{{{text_small|}}}}}}
}}<!--
--><noinclude>
{{توثيق}}
</noinclude>
jwij8u5ez1ga5ybu2cmj5gvpqaf3qac
270765
270763
2026-10-12T12:19:23Z
SanBonne
34889
270765
wikitext
text/x-wiki
{{#invoke:Message box|ombox
| type = {{{نوع|{{{type|}}}}}}
| image = {{{صورة|{{{image|}}}}}}
| text = {{{نص|{{{text|}}}}}}
| text_small = {{{تفاصيل|{{{text_small|}}}}}}
}}<!--
--><noinclude>
{{توثيق}}
</noinclude>
tu80vxwzj203ymduk260cli1hb454wy
270766
270765
2026-10-12T12:22:54Z
SanBonne
34889
270766
wikitext
text/x-wiki
{{#invoke:Message box|ombox
| type = {{{نوع|{{{type|}}}}}}
| image = {{{صورة|{{{image|}}}}}}
| text = <div style="text-align: center;">
<div style="font-size: 115%; font-weight: bold;">{{{نص|{{{text|}}}}}}</div>
{{#if: {{{تفاصيل|{{{text_small|}}}}}} | <div dir="rtl" style="font-size: 100%; font-weight: normal; margin-top: 5px;">{{{تفاصيل|{{{text_small|}}}}}}</div> }}
</div>
}}<!--
--><noinclude>
{{توثيق}}
</noinclude>
40mul08uokbx3poiito2klc312uj5sf
270768
270766
2026-10-12T12:33:26Z
SanBonne
34889
270768
wikitext
text/x-wiki
{{#invoke:Message box|ombox
| type = {{{نوع|{{{type|}}}}}}
| image = {{#if:{{{صورة|{{{image|}}}}}} | {{#ifeq:{{{صورة|{{{image}}}}}}|none | none | [[ملف:{{{صورة|{{{image}}}}}}|50px]]}} }}
| text = <div style="text-align: center;">
<div style="font-size: 115%; font-weight: bold;">{{{نص|{{{text|}}}}}}</div>
{{#if: {{{تفاصيل|{{{text_small|}}}}}} | <div dir="rtl" style="font-size: 100%; font-weight: normal; margin-top: 5px;">{{{تفاصيل|{{{text_small|}}}}}}</div> }}
</div>
}}<!--
--><noinclude>
{{توثيق}}
</noinclude>
kseu2keilt9kutj3pk8w7sqk6ulaewu
نقاش المستخدم:~2026-54563-27
3
57840
270772
2026-10-12T22:32:59Z
MenoBot
3009
مرحبا!
270772
wikitext
text/x-wiki
<div style="width:auto" style="margin-bottom:1.25em;border:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}}; background:white;padding:0">
<div style="height:8px;margin:0;border:0;border-bottom:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}};background: #{{#switch:bleu|bleu=C8D8FF|vert=D7FFC7|jaune=FFFFB9|or=FFE040|orange=FFDD88|violet=C9AEF1|saumon=FBDFBE|sable=F1E2AE|vertmoyen=99CC66|bleufoncé=003399|rouge=FFDAB9|écarlate=FF3333|#default=E0E0E0}};font-size:1px"></div>
<div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي الكتب:سفارة|Welcome!]] [[ويكي الكتب:سفارة|Bienvenue!]] [[ويكي الكتب:سفارة|Willkommen!]] [[ويكي الكتب:سفارة|Benvenuti]] [[ويكي الكتب:سفارة|¡Bienvenido!]] [[ويكي الكتب:سفارة|ようこそ]] [[ويكي الكتب:سفارة|Dobrodosli]] [[ويكي الكتب:سفارة|환영합니다]] [[ويكي الكتب:سفارة|Добро пожаловать]] [[ويكي الكتب:سفارة|Bem-vindo!]] [[ويكي الكتب:سفارة|欢迎]] [[ويكي الكتب:سفارة|Bonvenon]] [[ويكي الكتب:سفارة|Welkom]]</small></center></div>
<center><big>'''[[ويكي الكتب:ترحيب بالقادمين الجدد|مرحباً بك]] في [[ويكي الكتب:حول|ويكي الكتب]]، ~2026-54563-27 !'''</big></center>
{|
|[[ملف:Wikibooks-logo.svg|40px]]
| ويكي الكتب هو مشروع شقيق [[w:|لويكيبيديا]] يضم كتبا تعليمية [[w:رخصة جنو للوثائق الحرة|برخصة جنو للوثائق الحرة]] يتشارك الجميع في تحريرها وتعديلها. إذا كانت هذه مساهمتك الأولى في أنظمة [[w:ويكي|ويكي]] فيمكنك تجربة تحرير النصوص في [[ويكي الكتب:ملعب|ساحة التجربة]]، كما أن هناك [[كتاب نموذجي|قالب نموذجي]] يمكنه مساعدتك في تنسيق كتابك. لا تنقل أي محتوى ذي [[w:حقوق التأليف والنشر|حقوق تأليف ونشر]] هنا.
|--
|[[ملف:Nuvola apps bookcase.png|30px]]
| هنالك مشروع شقيق يدعى '''[[s:|ويكي مصدر]]''' لوضع '''[[s:ويكي_مصدر:على_ماذا_تحتوي_ويكي_مصدر|الكتب التراثية]] أو تلك الموضوعة من قبل مؤلفيها الأصليين تحت رخصة الوثائق الحرة'''. لكتابة '''المقالات الموسوعية''' القصيرة يرجى التوجه '''[[w:|لويكيبيديا]]'''.
|--
|[[ملف:Presa de decissions.png|يمين|40بك]]
|
يمكنك التعريف بنفسك في [[مستخدم:~2026-54563-27|'''صفحتك الشخصية''']]، بكتابة معلومات عنك: [[w:ويكيبيديا:بابل|اللغات التي تتكلمها]]، [[w:ويكيبيديا:صناديق المستخدم|من أي بلد أنت، ما هي محاور اهتمامك]]...
|---
|[[ملف:Crystal Clear app ktip.png|يمين|40بك]]
|
لا تنس [[w:ويكيبيديا:توقيع|'''التوقيع''']] في [[w:ويكيبيديا:صفحة النقاش|'''صفحات النقاش''']] بكتابة أربع مدّات، هكذا (<nowiki>~~~~</nowiki>). ولكن يجب <u>'''عدم التوقيع في صفحات الكتاب'''</u>، لأنها تصبح ملكا للجميع لحظة إنشائها.
|--
|[[ملف:Crystal Clear app lphoto.png|يمين|40بك]]
|
نرحب بمساهمتك في [[w:ويكيبيديا:رفع الصور|رفع الصور]] لإثراء المقالات، مع الأخذ بعين الاعتبار احترام القوانين الصارمة المتعلقة [[w:ويكيبيديا:سياسة استعمال الصور|باستعمال الصور]] واحترام [[w:ويكيبيديا:حقوق التأليف والنشر|'''حقوق التأليف والنشر''']]. يوجد أيضا ويكيبيديون متطوعون في [[w:ويكيبيديا:ورشة الصور|ورشة الصور]] لتحسين صورك وترجمة الصور المطلوبة.
|--
|[[ملف:Crystal Clear app amor.png|يمين|40بك]]
|
أخيرا، وهو أهم شيء، نرجو منك أن [[w:ويكيبيديا:كن جريئا|'''تتمتع''']] بالمساهمة [[ويكي الكتب:بوابة المجتمع|'''معنا''']] في هذا المشروع!
إذا كانت لديك أي استفسارات أو أسئلة أخرى، يمكنك [[w:مساعدة:محتويات/أين أطرح سؤالي؟|طرحها]] في هذه الصفحة أو في صفحة نقاشي.
|}</div></div> --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 22:32، 12 أكتوبر 2026 (ت ع م)
enqr5iw0lb5uohvveuhss0dci8z9lp3
نقاش المستخدم:Ibrahim Confusion
3
57841
270773
2026-10-12T22:33:01Z
MenoBot
3009
مرحبا!
270773
wikitext
text/x-wiki
<div style="width:auto" style="margin-bottom:1.25em;border:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}}; background:white;padding:0">
<div style="height:8px;margin:0;border:0;border-bottom:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}};background: #{{#switch:bleu|bleu=C8D8FF|vert=D7FFC7|jaune=FFFFB9|or=FFE040|orange=FFDD88|violet=C9AEF1|saumon=FBDFBE|sable=F1E2AE|vertmoyen=99CC66|bleufoncé=003399|rouge=FFDAB9|écarlate=FF3333|#default=E0E0E0}};font-size:1px"></div>
<div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي الكتب:سفارة|Welcome!]] [[ويكي الكتب:سفارة|Bienvenue!]] [[ويكي الكتب:سفارة|Willkommen!]] [[ويكي الكتب:سفارة|Benvenuti]] [[ويكي الكتب:سفارة|¡Bienvenido!]] [[ويكي الكتب:سفارة|ようこそ]] [[ويكي الكتب:سفارة|Dobrodosli]] [[ويكي الكتب:سفارة|환영합니다]] [[ويكي الكتب:سفارة|Добро пожаловать]] [[ويكي الكتب:سفارة|Bem-vindo!]] [[ويكي الكتب:سفارة|欢迎]] [[ويكي الكتب:سفارة|Bonvenon]] [[ويكي الكتب:سفارة|Welkom]]</small></center></div>
<center><big>'''[[ويكي الكتب:ترحيب بالقادمين الجدد|مرحباً بك]] في [[ويكي الكتب:حول|ويكي الكتب]]، Ibrahim Confusion !'''</big></center>
{|
|[[ملف:Wikibooks-logo.svg|40px]]
| ويكي الكتب هو مشروع شقيق [[w:|لويكيبيديا]] يضم كتبا تعليمية [[w:رخصة جنو للوثائق الحرة|برخصة جنو للوثائق الحرة]] يتشارك الجميع في تحريرها وتعديلها. إذا كانت هذه مساهمتك الأولى في أنظمة [[w:ويكي|ويكي]] فيمكنك تجربة تحرير النصوص في [[ويكي الكتب:ملعب|ساحة التجربة]]، كما أن هناك [[كتاب نموذجي|قالب نموذجي]] يمكنه مساعدتك في تنسيق كتابك. لا تنقل أي محتوى ذي [[w:حقوق التأليف والنشر|حقوق تأليف ونشر]] هنا.
|--
|[[ملف:Nuvola apps bookcase.png|30px]]
| هنالك مشروع شقيق يدعى '''[[s:|ويكي مصدر]]''' لوضع '''[[s:ويكي_مصدر:على_ماذا_تحتوي_ويكي_مصدر|الكتب التراثية]] أو تلك الموضوعة من قبل مؤلفيها الأصليين تحت رخصة الوثائق الحرة'''. لكتابة '''المقالات الموسوعية''' القصيرة يرجى التوجه '''[[w:|لويكيبيديا]]'''.
|--
|[[ملف:Presa de decissions.png|يمين|40بك]]
|
يمكنك التعريف بنفسك في [[مستخدم:Ibrahim Confusion|'''صفحتك الشخصية''']]، بكتابة معلومات عنك: [[w:ويكيبيديا:بابل|اللغات التي تتكلمها]]، [[w:ويكيبيديا:صناديق المستخدم|من أي بلد أنت، ما هي محاور اهتمامك]]...
|---
|[[ملف:Crystal Clear app ktip.png|يمين|40بك]]
|
لا تنس [[w:ويكيبيديا:توقيع|'''التوقيع''']] في [[w:ويكيبيديا:صفحة النقاش|'''صفحات النقاش''']] بكتابة أربع مدّات، هكذا (<nowiki>~~~~</nowiki>). ولكن يجب <u>'''عدم التوقيع في صفحات الكتاب'''</u>، لأنها تصبح ملكا للجميع لحظة إنشائها.
|--
|[[ملف:Crystal Clear app lphoto.png|يمين|40بك]]
|
نرحب بمساهمتك في [[w:ويكيبيديا:رفع الصور|رفع الصور]] لإثراء المقالات، مع الأخذ بعين الاعتبار احترام القوانين الصارمة المتعلقة [[w:ويكيبيديا:سياسة استعمال الصور|باستعمال الصور]] واحترام [[w:ويكيبيديا:حقوق التأليف والنشر|'''حقوق التأليف والنشر''']]. يوجد أيضا ويكيبيديون متطوعون في [[w:ويكيبيديا:ورشة الصور|ورشة الصور]] لتحسين صورك وترجمة الصور المطلوبة.
|--
|[[ملف:Crystal Clear app amor.png|يمين|40بك]]
|
أخيرا، وهو أهم شيء، نرجو منك أن [[w:ويكيبيديا:كن جريئا|'''تتمتع''']] بالمساهمة [[ويكي الكتب:بوابة المجتمع|'''معنا''']] في هذا المشروع!
إذا كانت لديك أي استفسارات أو أسئلة أخرى، يمكنك [[w:مساعدة:محتويات/أين أطرح سؤالي؟|طرحها]] في هذه الصفحة أو في صفحة نقاشي.
|}</div></div> --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 22:33، 12 أكتوبر 2026 (ت ع م)
rpsflzs3xcyq756xnh4uj9za2xxk9bi
نقاش المستخدم:Khawla.raghib
3
57842
270774
2026-10-12T22:33:04Z
MenoBot
3009
مرحبا!
270774
wikitext
text/x-wiki
<div style="width:auto" style="margin-bottom:1.25em;border:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}}; background:white;padding:0">
<div style="height:8px;margin:0;border:0;border-bottom:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}};background: #{{#switch:bleu|bleu=C8D8FF|vert=D7FFC7|jaune=FFFFB9|or=FFE040|orange=FFDD88|violet=C9AEF1|saumon=FBDFBE|sable=F1E2AE|vertmoyen=99CC66|bleufoncé=003399|rouge=FFDAB9|écarlate=FF3333|#default=E0E0E0}};font-size:1px"></div>
<div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي الكتب:سفارة|Welcome!]] [[ويكي الكتب:سفارة|Bienvenue!]] [[ويكي الكتب:سفارة|Willkommen!]] [[ويكي الكتب:سفارة|Benvenuti]] [[ويكي الكتب:سفارة|¡Bienvenido!]] [[ويكي الكتب:سفارة|ようこそ]] [[ويكي الكتب:سفارة|Dobrodosli]] [[ويكي الكتب:سفارة|환영합니다]] [[ويكي الكتب:سفارة|Добро пожаловать]] [[ويكي الكتب:سفارة|Bem-vindo!]] [[ويكي الكتب:سفارة|欢迎]] [[ويكي الكتب:سفارة|Bonvenon]] [[ويكي الكتب:سفارة|Welkom]]</small></center></div>
<center><big>'''[[ويكي الكتب:ترحيب بالقادمين الجدد|مرحباً بك]] في [[ويكي الكتب:حول|ويكي الكتب]]، Khawla.raghib !'''</big></center>
{|
|[[ملف:Wikibooks-logo.svg|40px]]
| ويكي الكتب هو مشروع شقيق [[w:|لويكيبيديا]] يضم كتبا تعليمية [[w:رخصة جنو للوثائق الحرة|برخصة جنو للوثائق الحرة]] يتشارك الجميع في تحريرها وتعديلها. إذا كانت هذه مساهمتك الأولى في أنظمة [[w:ويكي|ويكي]] فيمكنك تجربة تحرير النصوص في [[ويكي الكتب:ملعب|ساحة التجربة]]، كما أن هناك [[كتاب نموذجي|قالب نموذجي]] يمكنه مساعدتك في تنسيق كتابك. لا تنقل أي محتوى ذي [[w:حقوق التأليف والنشر|حقوق تأليف ونشر]] هنا.
|--
|[[ملف:Nuvola apps bookcase.png|30px]]
| هنالك مشروع شقيق يدعى '''[[s:|ويكي مصدر]]''' لوضع '''[[s:ويكي_مصدر:على_ماذا_تحتوي_ويكي_مصدر|الكتب التراثية]] أو تلك الموضوعة من قبل مؤلفيها الأصليين تحت رخصة الوثائق الحرة'''. لكتابة '''المقالات الموسوعية''' القصيرة يرجى التوجه '''[[w:|لويكيبيديا]]'''.
|--
|[[ملف:Presa de decissions.png|يمين|40بك]]
|
يمكنك التعريف بنفسك في [[مستخدم:Khawla.raghib|'''صفحتك الشخصية''']]، بكتابة معلومات عنك: [[w:ويكيبيديا:بابل|اللغات التي تتكلمها]]، [[w:ويكيبيديا:صناديق المستخدم|من أي بلد أنت، ما هي محاور اهتمامك]]...
|---
|[[ملف:Crystal Clear app ktip.png|يمين|40بك]]
|
لا تنس [[w:ويكيبيديا:توقيع|'''التوقيع''']] في [[w:ويكيبيديا:صفحة النقاش|'''صفحات النقاش''']] بكتابة أربع مدّات، هكذا (<nowiki>~~~~</nowiki>). ولكن يجب <u>'''عدم التوقيع في صفحات الكتاب'''</u>، لأنها تصبح ملكا للجميع لحظة إنشائها.
|--
|[[ملف:Crystal Clear app lphoto.png|يمين|40بك]]
|
نرحب بمساهمتك في [[w:ويكيبيديا:رفع الصور|رفع الصور]] لإثراء المقالات، مع الأخذ بعين الاعتبار احترام القوانين الصارمة المتعلقة [[w:ويكيبيديا:سياسة استعمال الصور|باستعمال الصور]] واحترام [[w:ويكيبيديا:حقوق التأليف والنشر|'''حقوق التأليف والنشر''']]. يوجد أيضا ويكيبيديون متطوعون في [[w:ويكيبيديا:ورشة الصور|ورشة الصور]] لتحسين صورك وترجمة الصور المطلوبة.
|--
|[[ملف:Crystal Clear app amor.png|يمين|40بك]]
|
أخيرا، وهو أهم شيء، نرجو منك أن [[w:ويكيبيديا:كن جريئا|'''تتمتع''']] بالمساهمة [[ويكي الكتب:بوابة المجتمع|'''معنا''']] في هذا المشروع!
إذا كانت لديك أي استفسارات أو أسئلة أخرى، يمكنك [[w:مساعدة:محتويات/أين أطرح سؤالي؟|طرحها]] في هذه الصفحة أو في صفحة نقاشي.
|}</div></div> --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 22:33، 12 أكتوبر 2026 (ت ع م)
9x598hyg6gpp54xluprml7e54z7q4wi
نقاش المستخدم:Abdullh1407
3
57843
270775
2026-10-12T22:33:06Z
MenoBot
3009
مرحبا!
270775
wikitext
text/x-wiki
<div style="width:auto" style="margin-bottom:1.25em;border:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}}; background:white;padding:0">
<div style="height:8px;margin:0;border:0;border-bottom:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}};background: #{{#switch:bleu|bleu=C8D8FF|vert=D7FFC7|jaune=FFFFB9|or=FFE040|orange=FFDD88|violet=C9AEF1|saumon=FBDFBE|sable=F1E2AE|vertmoyen=99CC66|bleufoncé=003399|rouge=FFDAB9|écarlate=FF3333|#default=E0E0E0}};font-size:1px"></div>
<div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي الكتب:سفارة|Welcome!]] [[ويكي الكتب:سفارة|Bienvenue!]] [[ويكي الكتب:سفارة|Willkommen!]] [[ويكي الكتب:سفارة|Benvenuti]] [[ويكي الكتب:سفارة|¡Bienvenido!]] [[ويكي الكتب:سفارة|ようこそ]] [[ويكي الكتب:سفارة|Dobrodosli]] [[ويكي الكتب:سفارة|환영합니다]] [[ويكي الكتب:سفارة|Добро пожаловать]] [[ويكي الكتب:سفارة|Bem-vindo!]] [[ويكي الكتب:سفارة|欢迎]] [[ويكي الكتب:سفارة|Bonvenon]] [[ويكي الكتب:سفارة|Welkom]]</small></center></div>
<center><big>'''[[ويكي الكتب:ترحيب بالقادمين الجدد|مرحباً بك]] في [[ويكي الكتب:حول|ويكي الكتب]]، Abdullh1407 !'''</big></center>
{|
|[[ملف:Wikibooks-logo.svg|40px]]
| ويكي الكتب هو مشروع شقيق [[w:|لويكيبيديا]] يضم كتبا تعليمية [[w:رخصة جنو للوثائق الحرة|برخصة جنو للوثائق الحرة]] يتشارك الجميع في تحريرها وتعديلها. إذا كانت هذه مساهمتك الأولى في أنظمة [[w:ويكي|ويكي]] فيمكنك تجربة تحرير النصوص في [[ويكي الكتب:ملعب|ساحة التجربة]]، كما أن هناك [[كتاب نموذجي|قالب نموذجي]] يمكنه مساعدتك في تنسيق كتابك. لا تنقل أي محتوى ذي [[w:حقوق التأليف والنشر|حقوق تأليف ونشر]] هنا.
|--
|[[ملف:Nuvola apps bookcase.png|30px]]
| هنالك مشروع شقيق يدعى '''[[s:|ويكي مصدر]]''' لوضع '''[[s:ويكي_مصدر:على_ماذا_تحتوي_ويكي_مصدر|الكتب التراثية]] أو تلك الموضوعة من قبل مؤلفيها الأصليين تحت رخصة الوثائق الحرة'''. لكتابة '''المقالات الموسوعية''' القصيرة يرجى التوجه '''[[w:|لويكيبيديا]]'''.
|--
|[[ملف:Presa de decissions.png|يمين|40بك]]
|
يمكنك التعريف بنفسك في [[مستخدم:Abdullh1407|'''صفحتك الشخصية''']]، بكتابة معلومات عنك: [[w:ويكيبيديا:بابل|اللغات التي تتكلمها]]، [[w:ويكيبيديا:صناديق المستخدم|من أي بلد أنت، ما هي محاور اهتمامك]]...
|---
|[[ملف:Crystal Clear app ktip.png|يمين|40بك]]
|
لا تنس [[w:ويكيبيديا:توقيع|'''التوقيع''']] في [[w:ويكيبيديا:صفحة النقاش|'''صفحات النقاش''']] بكتابة أربع مدّات، هكذا (<nowiki>~~~~</nowiki>). ولكن يجب <u>'''عدم التوقيع في صفحات الكتاب'''</u>، لأنها تصبح ملكا للجميع لحظة إنشائها.
|--
|[[ملف:Crystal Clear app lphoto.png|يمين|40بك]]
|
نرحب بمساهمتك في [[w:ويكيبيديا:رفع الصور|رفع الصور]] لإثراء المقالات، مع الأخذ بعين الاعتبار احترام القوانين الصارمة المتعلقة [[w:ويكيبيديا:سياسة استعمال الصور|باستعمال الصور]] واحترام [[w:ويكيبيديا:حقوق التأليف والنشر|'''حقوق التأليف والنشر''']]. يوجد أيضا ويكيبيديون متطوعون في [[w:ويكيبيديا:ورشة الصور|ورشة الصور]] لتحسين صورك وترجمة الصور المطلوبة.
|--
|[[ملف:Crystal Clear app amor.png|يمين|40بك]]
|
أخيرا، وهو أهم شيء، نرجو منك أن [[w:ويكيبيديا:كن جريئا|'''تتمتع''']] بالمساهمة [[ويكي الكتب:بوابة المجتمع|'''معنا''']] في هذا المشروع!
إذا كانت لديك أي استفسارات أو أسئلة أخرى، يمكنك [[w:مساعدة:محتويات/أين أطرح سؤالي؟|طرحها]] في هذه الصفحة أو في صفحة نقاشي.
|}</div></div> --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 22:33، 12 أكتوبر 2026 (ت ع م)
81tdhpa963fq466aqducj59vtgguoxs
نقاش المستخدم:Hamid Hassani
3
57844
270776
2026-10-12T22:33:08Z
MenoBot
3009
مرحبا!
270776
wikitext
text/x-wiki
<div style="width:auto" style="margin-bottom:1.25em;border:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}}; background:white;padding:0">
<div style="height:8px;margin:0;border:0;border-bottom:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}};background: #{{#switch:bleu|bleu=C8D8FF|vert=D7FFC7|jaune=FFFFB9|or=FFE040|orange=FFDD88|violet=C9AEF1|saumon=FBDFBE|sable=F1E2AE|vertmoyen=99CC66|bleufoncé=003399|rouge=FFDAB9|écarlate=FF3333|#default=E0E0E0}};font-size:1px"></div>
<div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي الكتب:سفارة|Welcome!]] [[ويكي الكتب:سفارة|Bienvenue!]] [[ويكي الكتب:سفارة|Willkommen!]] [[ويكي الكتب:سفارة|Benvenuti]] [[ويكي الكتب:سفارة|¡Bienvenido!]] [[ويكي الكتب:سفارة|ようこそ]] [[ويكي الكتب:سفارة|Dobrodosli]] [[ويكي الكتب:سفارة|환영합니다]] [[ويكي الكتب:سفارة|Добро пожаловать]] [[ويكي الكتب:سفارة|Bem-vindo!]] [[ويكي الكتب:سفارة|欢迎]] [[ويكي الكتب:سفارة|Bonvenon]] [[ويكي الكتب:سفارة|Welkom]]</small></center></div>
<center><big>'''[[ويكي الكتب:ترحيب بالقادمين الجدد|مرحباً بك]] في [[ويكي الكتب:حول|ويكي الكتب]]، Hamid Hassani !'''</big></center>
{|
|[[ملف:Wikibooks-logo.svg|40px]]
| ويكي الكتب هو مشروع شقيق [[w:|لويكيبيديا]] يضم كتبا تعليمية [[w:رخصة جنو للوثائق الحرة|برخصة جنو للوثائق الحرة]] يتشارك الجميع في تحريرها وتعديلها. إذا كانت هذه مساهمتك الأولى في أنظمة [[w:ويكي|ويكي]] فيمكنك تجربة تحرير النصوص في [[ويكي الكتب:ملعب|ساحة التجربة]]، كما أن هناك [[كتاب نموذجي|قالب نموذجي]] يمكنه مساعدتك في تنسيق كتابك. لا تنقل أي محتوى ذي [[w:حقوق التأليف والنشر|حقوق تأليف ونشر]] هنا.
|--
|[[ملف:Nuvola apps bookcase.png|30px]]
| هنالك مشروع شقيق يدعى '''[[s:|ويكي مصدر]]''' لوضع '''[[s:ويكي_مصدر:على_ماذا_تحتوي_ويكي_مصدر|الكتب التراثية]] أو تلك الموضوعة من قبل مؤلفيها الأصليين تحت رخصة الوثائق الحرة'''. لكتابة '''المقالات الموسوعية''' القصيرة يرجى التوجه '''[[w:|لويكيبيديا]]'''.
|--
|[[ملف:Presa de decissions.png|يمين|40بك]]
|
يمكنك التعريف بنفسك في [[مستخدم:Hamid Hassani|'''صفحتك الشخصية''']]، بكتابة معلومات عنك: [[w:ويكيبيديا:بابل|اللغات التي تتكلمها]]، [[w:ويكيبيديا:صناديق المستخدم|من أي بلد أنت، ما هي محاور اهتمامك]]...
|---
|[[ملف:Crystal Clear app ktip.png|يمين|40بك]]
|
لا تنس [[w:ويكيبيديا:توقيع|'''التوقيع''']] في [[w:ويكيبيديا:صفحة النقاش|'''صفحات النقاش''']] بكتابة أربع مدّات، هكذا (<nowiki>~~~~</nowiki>). ولكن يجب <u>'''عدم التوقيع في صفحات الكتاب'''</u>، لأنها تصبح ملكا للجميع لحظة إنشائها.
|--
|[[ملف:Crystal Clear app lphoto.png|يمين|40بك]]
|
نرحب بمساهمتك في [[w:ويكيبيديا:رفع الصور|رفع الصور]] لإثراء المقالات، مع الأخذ بعين الاعتبار احترام القوانين الصارمة المتعلقة [[w:ويكيبيديا:سياسة استعمال الصور|باستعمال الصور]] واحترام [[w:ويكيبيديا:حقوق التأليف والنشر|'''حقوق التأليف والنشر''']]. يوجد أيضا ويكيبيديون متطوعون في [[w:ويكيبيديا:ورشة الصور|ورشة الصور]] لتحسين صورك وترجمة الصور المطلوبة.
|--
|[[ملف:Crystal Clear app amor.png|يمين|40بك]]
|
أخيرا، وهو أهم شيء، نرجو منك أن [[w:ويكيبيديا:كن جريئا|'''تتمتع''']] بالمساهمة [[ويكي الكتب:بوابة المجتمع|'''معنا''']] في هذا المشروع!
إذا كانت لديك أي استفسارات أو أسئلة أخرى، يمكنك [[w:مساعدة:محتويات/أين أطرح سؤالي؟|طرحها]] في هذه الصفحة أو في صفحة نقاشي.
|}</div></div> --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 22:33، 12 أكتوبر 2026 (ت ع م)
2u3s9ar16yayelj6z0mg9sh5ki8v8g0
نقاش المستخدم:المنصوري ابو جنات
3
57845
270777
2026-10-12T22:33:10Z
MenoBot
3009
مرحبا!
270777
wikitext
text/x-wiki
<div style="width:auto" style="margin-bottom:1.25em;border:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}}; background:white;padding:0">
<div style="height:8px;margin:0;border:0;border-bottom:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}};background: #{{#switch:bleu|bleu=C8D8FF|vert=D7FFC7|jaune=FFFFB9|or=FFE040|orange=FFDD88|violet=C9AEF1|saumon=FBDFBE|sable=F1E2AE|vertmoyen=99CC66|bleufoncé=003399|rouge=FFDAB9|écarlate=FF3333|#default=E0E0E0}};font-size:1px"></div>
<div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي الكتب:سفارة|Welcome!]] [[ويكي الكتب:سفارة|Bienvenue!]] [[ويكي الكتب:سفارة|Willkommen!]] [[ويكي الكتب:سفارة|Benvenuti]] [[ويكي الكتب:سفارة|¡Bienvenido!]] [[ويكي الكتب:سفارة|ようこそ]] [[ويكي الكتب:سفارة|Dobrodosli]] [[ويكي الكتب:سفارة|환영합니다]] [[ويكي الكتب:سفارة|Добро пожаловать]] [[ويكي الكتب:سفارة|Bem-vindo!]] [[ويكي الكتب:سفارة|欢迎]] [[ويكي الكتب:سفارة|Bonvenon]] [[ويكي الكتب:سفارة|Welkom]]</small></center></div>
<center><big>'''[[ويكي الكتب:ترحيب بالقادمين الجدد|مرحباً بك]] في [[ويكي الكتب:حول|ويكي الكتب]]، المنصوري ابو جنات !'''</big></center>
{|
|[[ملف:Wikibooks-logo.svg|40px]]
| ويكي الكتب هو مشروع شقيق [[w:|لويكيبيديا]] يضم كتبا تعليمية [[w:رخصة جنو للوثائق الحرة|برخصة جنو للوثائق الحرة]] يتشارك الجميع في تحريرها وتعديلها. إذا كانت هذه مساهمتك الأولى في أنظمة [[w:ويكي|ويكي]] فيمكنك تجربة تحرير النصوص في [[ويكي الكتب:ملعب|ساحة التجربة]]، كما أن هناك [[كتاب نموذجي|قالب نموذجي]] يمكنه مساعدتك في تنسيق كتابك. لا تنقل أي محتوى ذي [[w:حقوق التأليف والنشر|حقوق تأليف ونشر]] هنا.
|--
|[[ملف:Nuvola apps bookcase.png|30px]]
| هنالك مشروع شقيق يدعى '''[[s:|ويكي مصدر]]''' لوضع '''[[s:ويكي_مصدر:على_ماذا_تحتوي_ويكي_مصدر|الكتب التراثية]] أو تلك الموضوعة من قبل مؤلفيها الأصليين تحت رخصة الوثائق الحرة'''. لكتابة '''المقالات الموسوعية''' القصيرة يرجى التوجه '''[[w:|لويكيبيديا]]'''.
|--
|[[ملف:Presa de decissions.png|يمين|40بك]]
|
يمكنك التعريف بنفسك في [[مستخدم:المنصوري ابو جنات|'''صفحتك الشخصية''']]، بكتابة معلومات عنك: [[w:ويكيبيديا:بابل|اللغات التي تتكلمها]]، [[w:ويكيبيديا:صناديق المستخدم|من أي بلد أنت، ما هي محاور اهتمامك]]...
|---
|[[ملف:Crystal Clear app ktip.png|يمين|40بك]]
|
لا تنس [[w:ويكيبيديا:توقيع|'''التوقيع''']] في [[w:ويكيبيديا:صفحة النقاش|'''صفحات النقاش''']] بكتابة أربع مدّات، هكذا (<nowiki>~~~~</nowiki>). ولكن يجب <u>'''عدم التوقيع في صفحات الكتاب'''</u>، لأنها تصبح ملكا للجميع لحظة إنشائها.
|--
|[[ملف:Crystal Clear app lphoto.png|يمين|40بك]]
|
نرحب بمساهمتك في [[w:ويكيبيديا:رفع الصور|رفع الصور]] لإثراء المقالات، مع الأخذ بعين الاعتبار احترام القوانين الصارمة المتعلقة [[w:ويكيبيديا:سياسة استعمال الصور|باستعمال الصور]] واحترام [[w:ويكيبيديا:حقوق التأليف والنشر|'''حقوق التأليف والنشر''']]. يوجد أيضا ويكيبيديون متطوعون في [[w:ويكيبيديا:ورشة الصور|ورشة الصور]] لتحسين صورك وترجمة الصور المطلوبة.
|--
|[[ملف:Crystal Clear app amor.png|يمين|40بك]]
|
أخيرا، وهو أهم شيء، نرجو منك أن [[w:ويكيبيديا:كن جريئا|'''تتمتع''']] بالمساهمة [[ويكي الكتب:بوابة المجتمع|'''معنا''']] في هذا المشروع!
إذا كانت لديك أي استفسارات أو أسئلة أخرى، يمكنك [[w:مساعدة:محتويات/أين أطرح سؤالي؟|طرحها]] في هذه الصفحة أو في صفحة نقاشي.
|}</div></div> --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 22:33، 12 أكتوبر 2026 (ت ع م)
jr51eqoheg3kj2yqpm602lupr9jfg50
نقاش المستخدم:QalamMystery
3
57846
270778
2026-10-12T22:33:12Z
MenoBot
3009
مرحبا!
270778
wikitext
text/x-wiki
<div style="width:auto" style="margin-bottom:1.25em;border:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}}; background:white;padding:0">
<div style="height:8px;margin:0;border:0;border-bottom:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}};background: #{{#switch:bleu|bleu=C8D8FF|vert=D7FFC7|jaune=FFFFB9|or=FFE040|orange=FFDD88|violet=C9AEF1|saumon=FBDFBE|sable=F1E2AE|vertmoyen=99CC66|bleufoncé=003399|rouge=FFDAB9|écarlate=FF3333|#default=E0E0E0}};font-size:1px"></div>
<div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي الكتب:سفارة|Welcome!]] [[ويكي الكتب:سفارة|Bienvenue!]] [[ويكي الكتب:سفارة|Willkommen!]] [[ويكي الكتب:سفارة|Benvenuti]] [[ويكي الكتب:سفارة|¡Bienvenido!]] [[ويكي الكتب:سفارة|ようこそ]] [[ويكي الكتب:سفارة|Dobrodosli]] [[ويكي الكتب:سفارة|환영합니다]] [[ويكي الكتب:سفارة|Добро пожаловать]] [[ويكي الكتب:سفارة|Bem-vindo!]] [[ويكي الكتب:سفارة|欢迎]] [[ويكي الكتب:سفارة|Bonvenon]] [[ويكي الكتب:سفارة|Welkom]]</small></center></div>
<center><big>'''[[ويكي الكتب:ترحيب بالقادمين الجدد|مرحباً بك]] في [[ويكي الكتب:حول|ويكي الكتب]]، QalamMystery !'''</big></center>
{|
|[[ملف:Wikibooks-logo.svg|40px]]
| ويكي الكتب هو مشروع شقيق [[w:|لويكيبيديا]] يضم كتبا تعليمية [[w:رخصة جنو للوثائق الحرة|برخصة جنو للوثائق الحرة]] يتشارك الجميع في تحريرها وتعديلها. إذا كانت هذه مساهمتك الأولى في أنظمة [[w:ويكي|ويكي]] فيمكنك تجربة تحرير النصوص في [[ويكي الكتب:ملعب|ساحة التجربة]]، كما أن هناك [[كتاب نموذجي|قالب نموذجي]] يمكنه مساعدتك في تنسيق كتابك. لا تنقل أي محتوى ذي [[w:حقوق التأليف والنشر|حقوق تأليف ونشر]] هنا.
|--
|[[ملف:Nuvola apps bookcase.png|30px]]
| هنالك مشروع شقيق يدعى '''[[s:|ويكي مصدر]]''' لوضع '''[[s:ويكي_مصدر:على_ماذا_تحتوي_ويكي_مصدر|الكتب التراثية]] أو تلك الموضوعة من قبل مؤلفيها الأصليين تحت رخصة الوثائق الحرة'''. لكتابة '''المقالات الموسوعية''' القصيرة يرجى التوجه '''[[w:|لويكيبيديا]]'''.
|--
|[[ملف:Presa de decissions.png|يمين|40بك]]
|
يمكنك التعريف بنفسك في [[مستخدم:QalamMystery|'''صفحتك الشخصية''']]، بكتابة معلومات عنك: [[w:ويكيبيديا:بابل|اللغات التي تتكلمها]]، [[w:ويكيبيديا:صناديق المستخدم|من أي بلد أنت، ما هي محاور اهتمامك]]...
|---
|[[ملف:Crystal Clear app ktip.png|يمين|40بك]]
|
لا تنس [[w:ويكيبيديا:توقيع|'''التوقيع''']] في [[w:ويكيبيديا:صفحة النقاش|'''صفحات النقاش''']] بكتابة أربع مدّات، هكذا (<nowiki>~~~~</nowiki>). ولكن يجب <u>'''عدم التوقيع في صفحات الكتاب'''</u>، لأنها تصبح ملكا للجميع لحظة إنشائها.
|--
|[[ملف:Crystal Clear app lphoto.png|يمين|40بك]]
|
نرحب بمساهمتك في [[w:ويكيبيديا:رفع الصور|رفع الصور]] لإثراء المقالات، مع الأخذ بعين الاعتبار احترام القوانين الصارمة المتعلقة [[w:ويكيبيديا:سياسة استعمال الصور|باستعمال الصور]] واحترام [[w:ويكيبيديا:حقوق التأليف والنشر|'''حقوق التأليف والنشر''']]. يوجد أيضا ويكيبيديون متطوعون في [[w:ويكيبيديا:ورشة الصور|ورشة الصور]] لتحسين صورك وترجمة الصور المطلوبة.
|--
|[[ملف:Crystal Clear app amor.png|يمين|40بك]]
|
أخيرا، وهو أهم شيء، نرجو منك أن [[w:ويكيبيديا:كن جريئا|'''تتمتع''']] بالمساهمة [[ويكي الكتب:بوابة المجتمع|'''معنا''']] في هذا المشروع!
إذا كانت لديك أي استفسارات أو أسئلة أخرى، يمكنك [[w:مساعدة:محتويات/أين أطرح سؤالي؟|طرحها]] في هذه الصفحة أو في صفحة نقاشي.
|}</div></div> --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 22:33، 12 أكتوبر 2026 (ت ع م)
qs68l5voqacv69mvyjuk0qlov7b2cy8
نقاش المستخدم:عبدالكريم711
3
57847
270779
2026-10-12T22:33:15Z
MenoBot
3009
مرحبا!
270779
wikitext
text/x-wiki
<div style="width:auto" style="margin-bottom:1.25em;border:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}}; background:white;padding:0">
<div style="height:8px;margin:0;border:0;border-bottom:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}};background: #{{#switch:bleu|bleu=C8D8FF|vert=D7FFC7|jaune=FFFFB9|or=FFE040|orange=FFDD88|violet=C9AEF1|saumon=FBDFBE|sable=F1E2AE|vertmoyen=99CC66|bleufoncé=003399|rouge=FFDAB9|écarlate=FF3333|#default=E0E0E0}};font-size:1px"></div>
<div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي الكتب:سفارة|Welcome!]] [[ويكي الكتب:سفارة|Bienvenue!]] [[ويكي الكتب:سفارة|Willkommen!]] [[ويكي الكتب:سفارة|Benvenuti]] [[ويكي الكتب:سفارة|¡Bienvenido!]] [[ويكي الكتب:سفارة|ようこそ]] [[ويكي الكتب:سفارة|Dobrodosli]] [[ويكي الكتب:سفارة|환영합니다]] [[ويكي الكتب:سفارة|Добро пожаловать]] [[ويكي الكتب:سفارة|Bem-vindo!]] [[ويكي الكتب:سفارة|欢迎]] [[ويكي الكتب:سفارة|Bonvenon]] [[ويكي الكتب:سفارة|Welkom]]</small></center></div>
<center><big>'''[[ويكي الكتب:ترحيب بالقادمين الجدد|مرحباً بك]] في [[ويكي الكتب:حول|ويكي الكتب]]، عبدالكريم711 !'''</big></center>
{|
|[[ملف:Wikibooks-logo.svg|40px]]
| ويكي الكتب هو مشروع شقيق [[w:|لويكيبيديا]] يضم كتبا تعليمية [[w:رخصة جنو للوثائق الحرة|برخصة جنو للوثائق الحرة]] يتشارك الجميع في تحريرها وتعديلها. إذا كانت هذه مساهمتك الأولى في أنظمة [[w:ويكي|ويكي]] فيمكنك تجربة تحرير النصوص في [[ويكي الكتب:ملعب|ساحة التجربة]]، كما أن هناك [[كتاب نموذجي|قالب نموذجي]] يمكنه مساعدتك في تنسيق كتابك. لا تنقل أي محتوى ذي [[w:حقوق التأليف والنشر|حقوق تأليف ونشر]] هنا.
|--
|[[ملف:Nuvola apps bookcase.png|30px]]
| هنالك مشروع شقيق يدعى '''[[s:|ويكي مصدر]]''' لوضع '''[[s:ويكي_مصدر:على_ماذا_تحتوي_ويكي_مصدر|الكتب التراثية]] أو تلك الموضوعة من قبل مؤلفيها الأصليين تحت رخصة الوثائق الحرة'''. لكتابة '''المقالات الموسوعية''' القصيرة يرجى التوجه '''[[w:|لويكيبيديا]]'''.
|--
|[[ملف:Presa de decissions.png|يمين|40بك]]
|
يمكنك التعريف بنفسك في [[مستخدم:عبدالكريم711|'''صفحتك الشخصية''']]، بكتابة معلومات عنك: [[w:ويكيبيديا:بابل|اللغات التي تتكلمها]]، [[w:ويكيبيديا:صناديق المستخدم|من أي بلد أنت، ما هي محاور اهتمامك]]...
|---
|[[ملف:Crystal Clear app ktip.png|يمين|40بك]]
|
لا تنس [[w:ويكيبيديا:توقيع|'''التوقيع''']] في [[w:ويكيبيديا:صفحة النقاش|'''صفحات النقاش''']] بكتابة أربع مدّات، هكذا (<nowiki>~~~~</nowiki>). ولكن يجب <u>'''عدم التوقيع في صفحات الكتاب'''</u>، لأنها تصبح ملكا للجميع لحظة إنشائها.
|--
|[[ملف:Crystal Clear app lphoto.png|يمين|40بك]]
|
نرحب بمساهمتك في [[w:ويكيبيديا:رفع الصور|رفع الصور]] لإثراء المقالات، مع الأخذ بعين الاعتبار احترام القوانين الصارمة المتعلقة [[w:ويكيبيديا:سياسة استعمال الصور|باستعمال الصور]] واحترام [[w:ويكيبيديا:حقوق التأليف والنشر|'''حقوق التأليف والنشر''']]. يوجد أيضا ويكيبيديون متطوعون في [[w:ويكيبيديا:ورشة الصور|ورشة الصور]] لتحسين صورك وترجمة الصور المطلوبة.
|--
|[[ملف:Crystal Clear app amor.png|يمين|40بك]]
|
أخيرا، وهو أهم شيء، نرجو منك أن [[w:ويكيبيديا:كن جريئا|'''تتمتع''']] بالمساهمة [[ويكي الكتب:بوابة المجتمع|'''معنا''']] في هذا المشروع!
إذا كانت لديك أي استفسارات أو أسئلة أخرى، يمكنك [[w:مساعدة:محتويات/أين أطرح سؤالي؟|طرحها]] في هذه الصفحة أو في صفحة نقاشي.
|}</div></div> --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 22:33، 12 أكتوبر 2026 (ت ع م)
tjamyc58g27fcnkc22jx3aeeujmyuws
نقاش المستخدم:এম আতিক হাসান
3
57848
270780
2026-10-12T22:33:17Z
MenoBot
3009
مرحبا!
270780
wikitext
text/x-wiki
<div style="width:auto" style="margin-bottom:1.25em;border:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}}; background:white;padding:0">
<div style="height:8px;margin:0;border:0;border-bottom:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}};background: #{{#switch:bleu|bleu=C8D8FF|vert=D7FFC7|jaune=FFFFB9|or=FFE040|orange=FFDD88|violet=C9AEF1|saumon=FBDFBE|sable=F1E2AE|vertmoyen=99CC66|bleufoncé=003399|rouge=FFDAB9|écarlate=FF3333|#default=E0E0E0}};font-size:1px"></div>
<div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي الكتب:سفارة|Welcome!]] [[ويكي الكتب:سفارة|Bienvenue!]] [[ويكي الكتب:سفارة|Willkommen!]] [[ويكي الكتب:سفارة|Benvenuti]] [[ويكي الكتب:سفارة|¡Bienvenido!]] [[ويكي الكتب:سفارة|ようこそ]] [[ويكي الكتب:سفارة|Dobrodosli]] [[ويكي الكتب:سفارة|환영합니다]] [[ويكي الكتب:سفارة|Добро пожаловать]] [[ويكي الكتب:سفارة|Bem-vindo!]] [[ويكي الكتب:سفارة|欢迎]] [[ويكي الكتب:سفارة|Bonvenon]] [[ويكي الكتب:سفارة|Welkom]]</small></center></div>
<center><big>'''[[ويكي الكتب:ترحيب بالقادمين الجدد|مرحباً بك]] في [[ويكي الكتب:حول|ويكي الكتب]]، এম আতিক হাসান !'''</big></center>
{|
|[[ملف:Wikibooks-logo.svg|40px]]
| ويكي الكتب هو مشروع شقيق [[w:|لويكيبيديا]] يضم كتبا تعليمية [[w:رخصة جنو للوثائق الحرة|برخصة جنو للوثائق الحرة]] يتشارك الجميع في تحريرها وتعديلها. إذا كانت هذه مساهمتك الأولى في أنظمة [[w:ويكي|ويكي]] فيمكنك تجربة تحرير النصوص في [[ويكي الكتب:ملعب|ساحة التجربة]]، كما أن هناك [[كتاب نموذجي|قالب نموذجي]] يمكنه مساعدتك في تنسيق كتابك. لا تنقل أي محتوى ذي [[w:حقوق التأليف والنشر|حقوق تأليف ونشر]] هنا.
|--
|[[ملف:Nuvola apps bookcase.png|30px]]
| هنالك مشروع شقيق يدعى '''[[s:|ويكي مصدر]]''' لوضع '''[[s:ويكي_مصدر:على_ماذا_تحتوي_ويكي_مصدر|الكتب التراثية]] أو تلك الموضوعة من قبل مؤلفيها الأصليين تحت رخصة الوثائق الحرة'''. لكتابة '''المقالات الموسوعية''' القصيرة يرجى التوجه '''[[w:|لويكيبيديا]]'''.
|--
|[[ملف:Presa de decissions.png|يمين|40بك]]
|
يمكنك التعريف بنفسك في [[مستخدم:এম আতিক হাসান|'''صفحتك الشخصية''']]، بكتابة معلومات عنك: [[w:ويكيبيديا:بابل|اللغات التي تتكلمها]]، [[w:ويكيبيديا:صناديق المستخدم|من أي بلد أنت، ما هي محاور اهتمامك]]...
|---
|[[ملف:Crystal Clear app ktip.png|يمين|40بك]]
|
لا تنس [[w:ويكيبيديا:توقيع|'''التوقيع''']] في [[w:ويكيبيديا:صفحة النقاش|'''صفحات النقاش''']] بكتابة أربع مدّات، هكذا (<nowiki>~~~~</nowiki>). ولكن يجب <u>'''عدم التوقيع في صفحات الكتاب'''</u>، لأنها تصبح ملكا للجميع لحظة إنشائها.
|--
|[[ملف:Crystal Clear app lphoto.png|يمين|40بك]]
|
نرحب بمساهمتك في [[w:ويكيبيديا:رفع الصور|رفع الصور]] لإثراء المقالات، مع الأخذ بعين الاعتبار احترام القوانين الصارمة المتعلقة [[w:ويكيبيديا:سياسة استعمال الصور|باستعمال الصور]] واحترام [[w:ويكيبيديا:حقوق التأليف والنشر|'''حقوق التأليف والنشر''']]. يوجد أيضا ويكيبيديون متطوعون في [[w:ويكيبيديا:ورشة الصور|ورشة الصور]] لتحسين صورك وترجمة الصور المطلوبة.
|--
|[[ملف:Crystal Clear app amor.png|يمين|40بك]]
|
أخيرا، وهو أهم شيء، نرجو منك أن [[w:ويكيبيديا:كن جريئا|'''تتمتع''']] بالمساهمة [[ويكي الكتب:بوابة المجتمع|'''معنا''']] في هذا المشروع!
إذا كانت لديك أي استفسارات أو أسئلة أخرى، يمكنك [[w:مساعدة:محتويات/أين أطرح سؤالي؟|طرحها]] في هذه الصفحة أو في صفحة نقاشي.
|}</div></div> --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 22:33، 12 أكتوبر 2026 (ت ع م)
mvofyqvcmcz06fi0go8crprlmp2g4mx
نقاش المستخدم:Kent Wang
3
57849
270781
2026-10-12T22:33:19Z
MenoBot
3009
مرحبا!
270781
wikitext
text/x-wiki
<div style="width:auto" style="margin-bottom:1.25em;border:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}}; background:white;padding:0">
<div style="height:8px;margin:0;border:0;border-bottom:1px solid #{{#switch:bleu|bleu=8898BF|vert=97BF87|jaune=AAAA66|or=777777|orange=AA8833|violet=7755AA|saumon=AA8866|sable=AA9955|vertmoyen=88BB55|bleufoncé=1144AA|rouge=AA8866|écarlate=AAAAAA|#default=AAAAAA}};background: #{{#switch:bleu|bleu=C8D8FF|vert=D7FFC7|jaune=FFFFB9|or=FFE040|orange=FFDD88|violet=C9AEF1|saumon=FBDFBE|sable=F1E2AE|vertmoyen=99CC66|bleufoncé=003399|rouge=FFDAB9|écarlate=FF3333|#default=E0E0E0}};font-size:1px"></div>
<div style="padding:5px;font-size:small"><center style="word-spacing:1ex"><small>[[ويكي الكتب:سفارة|Welcome!]] [[ويكي الكتب:سفارة|Bienvenue!]] [[ويكي الكتب:سفارة|Willkommen!]] [[ويكي الكتب:سفارة|Benvenuti]] [[ويكي الكتب:سفارة|¡Bienvenido!]] [[ويكي الكتب:سفارة|ようこそ]] [[ويكي الكتب:سفارة|Dobrodosli]] [[ويكي الكتب:سفارة|환영합니다]] [[ويكي الكتب:سفارة|Добро пожаловать]] [[ويكي الكتب:سفارة|Bem-vindo!]] [[ويكي الكتب:سفارة|欢迎]] [[ويكي الكتب:سفارة|Bonvenon]] [[ويكي الكتب:سفارة|Welkom]]</small></center></div>
<center><big>'''[[ويكي الكتب:ترحيب بالقادمين الجدد|مرحباً بك]] في [[ويكي الكتب:حول|ويكي الكتب]]، Kent Wang !'''</big></center>
{|
|[[ملف:Wikibooks-logo.svg|40px]]
| ويكي الكتب هو مشروع شقيق [[w:|لويكيبيديا]] يضم كتبا تعليمية [[w:رخصة جنو للوثائق الحرة|برخصة جنو للوثائق الحرة]] يتشارك الجميع في تحريرها وتعديلها. إذا كانت هذه مساهمتك الأولى في أنظمة [[w:ويكي|ويكي]] فيمكنك تجربة تحرير النصوص في [[ويكي الكتب:ملعب|ساحة التجربة]]، كما أن هناك [[كتاب نموذجي|قالب نموذجي]] يمكنه مساعدتك في تنسيق كتابك. لا تنقل أي محتوى ذي [[w:حقوق التأليف والنشر|حقوق تأليف ونشر]] هنا.
|--
|[[ملف:Nuvola apps bookcase.png|30px]]
| هنالك مشروع شقيق يدعى '''[[s:|ويكي مصدر]]''' لوضع '''[[s:ويكي_مصدر:على_ماذا_تحتوي_ويكي_مصدر|الكتب التراثية]] أو تلك الموضوعة من قبل مؤلفيها الأصليين تحت رخصة الوثائق الحرة'''. لكتابة '''المقالات الموسوعية''' القصيرة يرجى التوجه '''[[w:|لويكيبيديا]]'''.
|--
|[[ملف:Presa de decissions.png|يمين|40بك]]
|
يمكنك التعريف بنفسك في [[مستخدم:Kent Wang|'''صفحتك الشخصية''']]، بكتابة معلومات عنك: [[w:ويكيبيديا:بابل|اللغات التي تتكلمها]]، [[w:ويكيبيديا:صناديق المستخدم|من أي بلد أنت، ما هي محاور اهتمامك]]...
|---
|[[ملف:Crystal Clear app ktip.png|يمين|40بك]]
|
لا تنس [[w:ويكيبيديا:توقيع|'''التوقيع''']] في [[w:ويكيبيديا:صفحة النقاش|'''صفحات النقاش''']] بكتابة أربع مدّات، هكذا (<nowiki>~~~~</nowiki>). ولكن يجب <u>'''عدم التوقيع في صفحات الكتاب'''</u>، لأنها تصبح ملكا للجميع لحظة إنشائها.
|--
|[[ملف:Crystal Clear app lphoto.png|يمين|40بك]]
|
نرحب بمساهمتك في [[w:ويكيبيديا:رفع الصور|رفع الصور]] لإثراء المقالات، مع الأخذ بعين الاعتبار احترام القوانين الصارمة المتعلقة [[w:ويكيبيديا:سياسة استعمال الصور|باستعمال الصور]] واحترام [[w:ويكيبيديا:حقوق التأليف والنشر|'''حقوق التأليف والنشر''']]. يوجد أيضا ويكيبيديون متطوعون في [[w:ويكيبيديا:ورشة الصور|ورشة الصور]] لتحسين صورك وترجمة الصور المطلوبة.
|--
|[[ملف:Crystal Clear app amor.png|يمين|40بك]]
|
أخيرا، وهو أهم شيء، نرجو منك أن [[w:ويكيبيديا:كن جريئا|'''تتمتع''']] بالمساهمة [[ويكي الكتب:بوابة المجتمع|'''معنا''']] في هذا المشروع!
إذا كانت لديك أي استفسارات أو أسئلة أخرى، يمكنك [[w:مساعدة:محتويات/أين أطرح سؤالي؟|طرحها]] في هذه الصفحة أو في صفحة نقاشي.
|}</div></div> --[[مستخدم:Meno25|Meno25]] ([[نقاش المستخدم:Meno25|نقاش]] • [[خاص:مساهمات/Meno25|مساهمات]]) 22:33، 12 أكتوبر 2026 (ت ع م)
5zbyo04978isvsmag95oz3iozmspibp