The King Salman Global Academy for the Arabic Language



إن من أجلِّ النعم على أمة الإسلام نعمة القرآن الكريم
.الذي نزل بلسان عربي مبين.
قال تعالى: {إنا أنزلناه قرآنًا عربيًّا لعلكم تعقلون}
إقرأ المزيد
Arabic, which is an official language in numerous international organizations, is not adequately represented considering its cultural, historical, and geographical importance.
إقرأ المزيد
1 /| | 2

KSGAAL Slider

background King Salman



إن من أجلِّ النعم على أمة الإسلام نعمة القرآن الكريم
.الذي نزل بلسان عربي مبين
قال تعالى: {إنا أنزلناه قرآنًا عربيًّا لعلكم تعقلون}

Read more
background background

Arabic, which is an official language in numerous international organizations, is not adequately represented considering its cultural, historical, and geographical importance.

Read more

 

 

1 /| | 3

اللغة العربية جزء من اسم بلادنا وهويتنا وصوت من أعماقنا ومكون أساسي في مستقبلنا وحاضرنا وماضينا. 

Read more

صاحب السمو الأمير بدر بن عبدالله بن فرحان   آل سعود

التعريف بالمجمع

التعريف بالمجمع
Vision
Message
Startegic pillars

The Academy is established by the Council of Ministers decree number (34) and date 01/13/1442 H corresponding to 1 September 2020

Leadership and globalauthority in the service of the Arabic language

It aims to contribute to strengthening the role Of the Arabic language
regionally and globally, and to highlight its value ih expressing the
linguistic depth of Arabic and Islamic culture. Its initiatives were
launched within the Human Capability Development Program; one of the proerams that aims to achieve the Kinzdom's Vision 2030.

Leadership and global authority in the service of the Arabic language

It aims to contribute to strengthening the role Of the Arabic language
regionally and globally, and to highlight its value ih expressing the
linguistic depth of Arabic and Islamic culture. Its initiatives were
launched within the Human Capability Development Program; one of the proerams that aims to achieve the Kinzdom's Vision 2030.

Strengthening National Identity


Increasing the level of use, mastery and original content in the Arabic
language to enhance the sense of belonging and national identity.

Cultural Exchange


It aims to contribute to strengthening the role Of the Arabic language
regionally and globally, and to highlight its value ih expressing the
linguistic depth of Arabic and Islamic culture. Its initiatives were
launched within the Human Capability Development Program; one of the proerams that aims to achieve the Kinzdom's Vision 2030.

Most important projects

Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> imageURL  [in template "20097#20123#76731" at line 57, column 78]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${imageURL}  [in template "20097#20123#76731" in macro "getListItem" at line 57, column 76]
	- Reached through: @getListItem curEntry, active  [in template "20097#20123#76731" at line 10, column 21]
----
1<#if serviceLocator??> 
2    <#assign journalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
3		<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 
4 
5    <div class="${randomNamespace}card-wrapper card-wrapper main container unseen"> 
6        <div class="row card-track"> 
7            <#if entries? has_content> 
8                <#list entries as curEntry> 
9                    <#assign active = (curEntry?index = 0)?then('active', '') /> 
10                    <@getListItem curEntry active /> 
11                </#list> 
12            </#if> 
13        </div> 
14        <div class="card-wrapper-nav d-flex align-items-center justify-content-center mt-3 d-lg-none"> 
15            <a href="javascript:;" class="slide-left blocked"> 
16                <span class="ksgaal-icon-arrow-left"></span> 
17            </a> 
18            <a href="javascript:;" class="slide-right"> 
19                <span class="ksgaal-icon-arrow-right"></span> 
20            </a> 
21        </div> 
22    </div> 
23 
24    <#macro getListItem entry first> 
25        <#assign articleId=entry.getClassPK() /> 
26        <#assign journalArticle=journalArticleService.getLatestArticle(articleId) /> 
27        <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale.toString())) /> 
28        <#assign rootElement=document.getRootElement() /> 
29        <#assign titleXPathSelector=saxReaderUtil.createXPath("dynamic-element 
30            [@field-reference='title' ]") /> 
31        <#assign descXPathSelector=saxReaderUtil.createXPath("dynamic-element 
32            [@field-reference='desc' ]") /> 
33        <#assign buttonUrlXPathSelector=saxReaderUtil.createXPath("dynamic-element 
34            [@field-reference='buttonUrl' ]") /> 
35        <#assign buttonTextXPathSelector=saxReaderUtil.createXPath("dynamic-element 
36            [@field-reference='buttonText' ]") /> 
37        <#assign imagesXPathSelector=saxReaderUtil.createXPath("dynamic-element 
38            [@field-reference='background' ]") /> 
39        <#assign backgroundImage=imagesXPathSelector.selectSingleNode(rootElement) /> 
40        <#assign title=titleXPathSelector.selectSingleNode(rootElement).getStringValue() /> 
41        <#assign desc=descXPathSelector.selectSingleNode(rootElement).getStringValue() /> 
42        <#assign buttonText=buttonTextXPathSelector.selectSingleNode(rootElement).getStringValue() /> 
43 
44        <#attempt> 
45            <#local imgJson=jsonFactoryUtil.createJSONObject(backgroundImage.getStringValue()) /> 
46            <#local imageURL=imgJson.url /> 
47            <#local imageAlt=imgJson.alt /> 
48            <#recover> 
49                <#local imgJson =''/> 
50        </#attempt> 
51					 
52				<#assign group = groupLocalService.getGroup(themeDisplay.getScopeGroupId()) > 
53    		<#assign url = group.getDisplayURL(themeDisplay) + '/-/' + journalArticle.getUrlTitle() > 
54 
55        <div class="flip-card col-lg-3 ${first}"> 
56            <div class="flip-card-inner"> 
57                <div class="flip-card-front" style="background-image: url('${imageURL}')"> 
58                    <div class="card-content"> 
59                        <span class="title"> ${title}</span> 
60                        <a class="ksgaal-btn-secondary" href="${url}">${buttonText}</a> 
61                    </div> 
62                </div> 
63                <div class="flip-card-back"> 
64                    <div class="card-content"> 
65                        <span class="title">${title}</span> 
66                        <hr> 
67                        <p class="desc">${desc}</p> 
68                        <a class="ksgaal-btn-secondary" href="${url}">${buttonText}</a> 
69 
70                    </div> 
71                </div> 
72            </div> 
73        </div> 
74    </#macro> 
75</#if> 
76 
77<script> 
78  (function _subMobileMenuFunction() { 
79    let mobile = false; 
80    let activeIndex = 0; 
81    let nextIndex = 0; 
82 
83    const chekcMobile = () => { 
84      window.matchMedia("(max-width: 991.98px)").matches ? (mobile = true) : (mobile = false); 
85    }; 
86 
87    window.addEventListener("resize", () => chekcMobile()); 
88    chekcMobile(); 
89 
90    const cardWrapper = document.querySelector(".${randomNamespace}card-wrapper"); 
91 
92    if(!cardWrapper) return; 
93 
94    const next = cardWrapper.querySelector(".slide-right"); 
95    const prev = cardWrapper.querySelector(".slide-left"); 
96    const track = cardWrapper.querySelector(".card-track"); 
97    const cards = cardWrapper.querySelectorAll(".flip-card"); 
98 
99    if(!next || !prev || !track || cards.length == 0) return; 
100 
101 
102    const removeBlocked = () => { 
103        next.classList.remove("blocked"); 
104        prev.classList.remove("blocked"); 
105
106 
107    const nextCard = () => { 
108        if(!mobile) return; 
109         
110        if(nextIndex < cards.length - 1) { 
111            activeIndex = activeIndex + 1; 
112            track.style.transform = "translateX(-" + (activeIndex * 100) + "%)"; 
113            removeBlocked(); 
114 
115        }  
116        nextIndex = activeIndex; 
117        (nextIndex == cards.length - 1) ? next.classList.add("blocked") : ""; 
118
119 
120    const prevCard = () => { 
121        if(!mobile) return; 
122 
123        if(nextIndex > 0) { 
124            activeIndex = activeIndex - 1; 
125            track.style.transform = "translateX(-" + (activeIndex * 100) + "%)"; 
126            removeBlocked(); 
127 
128
129        nextIndex = activeIndex; 
130        (nextIndex == 0) ? prev.classList.add("blocked") : ""; 
131
132 
133    next.addEventListener("click", () => nextCard()); 
134    prev.addEventListener("click", () => prevCard()); 
135 
136    if (typeof ScrollUtils != 'undefined') { 
137        window.addEventListener('scroll', () => { 
138            if (ScrollUtils.isScrolledIntoView(cardWrapper)) { 
139                cardWrapper.classList.remove('unseen'); 
140
141        }); 
142
143 
144  })(); 
145</script> 
Page 1 of 7
— 4 Items per Page
Showing 1 - 4 of 27 results.

Latest News

Asset Publisher

info@ksaa.gov.sa