summaryrefslogtreecommitdiffstats
path: root/thunderbird-l10n/ms/chrome/ms/locale/ms/global
diff options
context:
space:
mode:
Diffstat (limited to 'thunderbird-l10n/ms/chrome/ms/locale/ms/global')
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/aboutStudies.properties33
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/appstrings.properties38
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/autocomplete.properties9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/browser.properties7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/commonDialogs.properties47
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/contentAreaCommands.properties28
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/css.properties53
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/dialog.properties12
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/dom/dom.properties442
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/extensions.properties27
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/fallbackMenubar.properties8
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/filepicker.properties20
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/global-strres.properties5
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.css11
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.properties43
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/keys.properties79
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/HtmlForm.properties35
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/MediaDocument.properties23
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/htmlparser.properties146
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/xmlparser.properties48
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout_errors.properties50
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/mathml/mathml.properties15
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/narrate.properties26
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/nsWebBrowserPersist.properties17
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/printdialog.properties52
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/printing.properties56
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/resetProfile.properties14
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/caps.properties9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/csp.properties124
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/security.properties154
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/svg/svg.properties5
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/viewSource.properties16
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/wizard.properties8
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/xslt/xslt.properties39
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/xul.properties5
35 files changed, 1704 insertions, 0 deletions
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/aboutStudies.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/aboutStudies.properties
new file mode 100644
index 0000000000..7ab3653100
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/aboutStudies.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# LOCALIZATION NOTE (title): keep "Shield" in English. See
+# https://wiki.mozilla.org/Firefox/Shield/Shield_Studies for more information
+title = Kajian Shield
+removeButton = Buang
+
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies
+activeStudiesList = Kajian aktif
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies
+completedStudiesList = Kajian sudah dilengkapkan
+# LOCALIZATION NOTE (activeStatus): Displayed for an active study
+activeStatus = Aktif
+
+# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete
+completeStatus = Selesai
+
+updateButtonWin = Kemas kini Pilihan
+updateButtonUnix = Kemas kini Keutamaan
+learnMore = Ketahui selanjutnya
+noStudies = Anda tidak menyertai apa-apa kajian.
+disabledList = Ini ialah senarai kajian yang telah anda sertai. Tiada kajian baru dijalankan.
+# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox)
+enabledList = Apakah ini? %S mungkin memasang dan melaksanakan kajian dari semasa ke semasa.
+
+# LOCALIZATION NOTE (preferenceStudyDescription) $1%S will be replaced with the
+# name of a preference (such as "stream.improvesearch.topSiteSearchShortcuts")
+# and $2%S will be replaced with the value of that preference. Both values will
+# be formatted differently than the surrounding text.
+preferenceStudyDescription = Kajian ini menetapkan %1$S ke %2$S.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/appstrings.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/appstrings.properties
new file mode 100644
index 0000000000..0084421f31
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/appstrings.properties
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+malformedURI2=Sila semak bahawa URL adalah betul dan cuba lagi.
+fileNotFound=Fail %S tidak ditemui. Sila semak lokasi dan cuba lagi.
+fileAccessDenied=Fail %S tidak boleh dibaca.
+dnsNotFound2=%S tidak dapat ditemui. Sila semak nama dan cuba lagi.
+unknownProtocolFound=Satu daripada (%S) berikut bukanlah protokol yang didaftarkan atau tidak dibenarkan di dalam konteks ini.\u0020
+connectionFailure=Sambungan telah dinafikan ketika cubaan untuk menghubungi %S.
+netInterrupt=Sambungan kepada %S telah dihentikan tanpa dijangka. Terdapat data yang telah dipindahkan.
+netTimeout=Operasi telah tamat tempoh ketika cuba menghubungi %S.
+redirectLoop=Had pelencongan untuk URL telah melebihi had. Tidak dapat memuat halaman diminta. Ini mungkin disebabkan oleh kuki yang telah disekat.
+confirmRepostPrompt=Untuk memaparkan halaman ini, aplikasi perlu menghantar maklumat yang memungkinkan berulangnya sebarang aktivi (seperti carian atau pengesahan pesanan) yang telah dibuat sebelum ini.
+resendButton.label=Hantar Semula
+unknownSocketType=Dokumen ini tidak dapat dipaparkan melainkan anda memasang Pengurus Sekuriti Peribadi (PSM). Muaturun dan pasang PSM dan cuba lagi, atau hubungi pentadbir sistem anda.
+netReset=Dokumen tidak mengandungi data.
+notCached=Dokumen ini sudah tiada.
+netOffline=Dokumen ini tidak dapat dipaparkan ketika di luar talian. Untuk pergi atas talian, nyahtanda Kerja Luar talian daripada menu Fail.
+isprinting=Dokumen tidak boleh diubah ketika Mencetak atau dalam Previu Cetak.
+deniedPortAccess=Capaian ke nombor port yang diberi telah dinyahdayakan atas alasan keselamatan.
+proxyResolveFailure=Pelayan proksi yang anda konfigur tidak dapat ditemui. Sila periksa tetapan proksi anda dan cuba lagi.
+proxyConnectFailure=Sambungan telah dinafikan ketika cubaan untuk menghubungi pelayan proksi yang telah anda konfigur. Sila periksa tetapan proksi anda dan cuba lagi.
+contentEncodingError=Halaman yang anda cuba lihat tidak boleh dipaparkan kerana cara pemampatan yang digunakan tidak sah atau tidak disokong.
+unsafeContentType=Halaman yang anda cuba lihat tidak dapat dipaparkan kerana mengandungi fail yang berkemungkinan tidak selamat untuk dibuka. Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+malwareBlocked=Laman %S telah dilaporkan sebagai laman penyerang dan telah disekat berdasarkan keutamaan keselamatan anda.
+unwantedBlocked=Laman %S telah dilaporkan menyediakan perisian yang tidak diingini dan telah disekat berdasarkan kepada keutamaan anda.
+deceptiveBlocked=Halaman web %S telah dilaporkan sebagai laman mengelirukan dan telah disekat berdasarkan keutamaan keselamatan anda.
+cspBlocked=Halaman ini mengandungi polisi keselamatan kandungan yang mencegah laman dimuatkan sebegini.
+corruptedContentErrorv2=Laman ini %S telah mengalami pencabulan protokol rangkaian yang tidak boleh dibaiki.
+sslv3Used=Keselamatan data anda pada %S tidak dapat dijamin kerana menggunakan SSLv3, protokol keselamatan yang rosak.
+weakCryptoUsed=Pemilik %S telah mengkonfigurasi laman web mereka dengan tidak betul. Untuk meliindungi maklumat anda daripada dicuri, sambungan ke laman web ini tidak dilaksanakan.
+inadequateSecurityError=Laman web cuba menggunakan tahap keselamatan yang tidak sesuai.
+blockedByPolicy=Organisasi anda telah menyekat akses ke halaman atau laman web ini.
+networkProtocolError=Firefox mengalami pelanggaran protokol rangkaian yang tidak dapat diperbaiki.
+
+harmfulBlocked=The site at %S has been reported as a potentially harmful site and has been blocked based on your security preferences.
+xfoBlocked=This page has an X-Frame-Options policy that prevents it from being loaded in this context.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/autocomplete.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/autocomplete.properties
new file mode 100644
index 0000000000..105e0ff25c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/autocomplete.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (bookmarkKeywordSearch): This is the title of autocomplete
+# entries that are bookmark keyword searches. %1$S will be replaced with the
+# domain name of the bookmark, and %2$S will be replaced with the keyword
+# search text that the user is typing. %2$S will not be empty.
+bookmarkKeywordSearch = %1$S: %2$S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/browser.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/browser.properties
new file mode 100644
index 0000000000..7b3efb7960
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/browser.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+formPostSecureToInsecureWarning.title = Amaran Keselamatan
+formPostSecureToInsecureWarning.message = Maklumat yang telah anda masukkan di halaman ini akan dihantar melalui sambungan yang tidak selamat dan boleh dibaca oleh pihak ketiga.\n\nAnda pasti mahu menghantar maklumat ini?
+formPostSecureToInsecureWarning.continue = Teruskan
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/commonDialogs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/commonDialogs.properties
new file mode 100644
index 0000000000..f531d9cc24
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/commonDialogs.properties
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Alert=Amaran
+Confirm=Sahkan
+ConfirmCheck=Sahkan
+Prompt=Gesa
+Select=Pilih
+OK=OK
+Cancel=Batal
+Yes=&Ya
+No=&Tidak
+Save=&Simpan
+Revert=&Kembalikan
+DontSave=&Jangan Simpan
+ScriptDlgGenericHeading=[Aplikasi JavaScript]
+ScriptDlgHeading=Laman pada %S katakan:
+ScriptDialogLabel=Elakkan laman ini dari membuat dialog tambahan
+ScriptDialogPreventTitle=Sahkan Keutamaan Dialog
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=%2$S meminta nama pengguna dan kata laluan anda. Laman ini menyatakan: “%1$S”
+EnterLoginForProxy3=Proksi %2$S meminta nama pengguna dan kata laluan anda. Laman ini menyatakan: “%1$S”
+EnterUserPasswordFor2=%1$S meminta nama pengguna dan kata laluan anda.
+EnterUserPasswordForCrossOrigin2=%1$S meminta nama pengguna dan kata laluan anda. WARNING: Kata laluan anda tidak akan dihantar ke laman web yang anda sedang layari!
+EnterPasswordFor=Masukkan kata laluan untuk %1$S pada %2$S
+
+# LOCALIZATION NOTE - %S is brandFullName
+PromptUsernameAndPassword3=Authentication Required - %S
+# LOCALIZATION NOTE - %S is brandFullName
+PromptPassword3=Password Required - %S
+ScriptDlgNullPrincipalHeading=This page says:
+ScriptDialogLabelNullPrincipal=Don’t allow this site to prompt you again
+# LOCALIZATION NOTE (ScriptDialogLabelContentPrincipal):
+# %S is either the domain and port of the site prompting, or the name of
+# an add-on prompting.
+ScriptDialogLabelContentPrincipal=Don’t allow %S to prompt you again
+EnterCredentials=This site is asking you to sign in.
+# %S is the username for which a password is requested.
+EnterPasswordOnlyFor=This site is asking you to sign in as %S.
+# %S is the domain of the site being accessed.
+EnterCredentialsCrossOrigin=This site is asking you to sign in. Warning: Your login information will be shared with %S, not the website you are currently visiting.
+SignIn=Sign in
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/contentAreaCommands.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/contentAreaCommands.properties
new file mode 100644
index 0000000000..3c9b1b87ed
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/contentAreaCommands.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# context menu strings
+
+SaveImageTitle=Simpan Imej
+SaveMediaTitle=Simpan Media
+SaveVideoTitle=Simpan Video
+SaveAudioTitle=Simpan Audio
+SaveLinkTitle=Simpan Sebagai
+WebPageCompleteFilter=Halaman Laman Web, lengkap
+WebPageHTMLOnlyFilter=Halaman Laman Web, HTML sahaja
+WebPageXHTMLOnlyFilter=Halaman Laman Web, XHTML sahaja
+WebPageSVGOnlyFilter=Halaman Laman Web, SVG sahaja
+WebPageXMLOnlyFilter=Halaman Web, XML sahaja
+
+# LOCALIZATION NOTE (filesFolder):
+# This is the name of the folder that is created parallel to a HTML file
+# when it is saved "With Images". The %S section is replaced with the
+# leaf name of the file being saved (minus extension).
+filesFolder=%S_fail
+
+# LOCALIZATION NOTE (UntitledSaveFileName):
+# This is the default filename used when saving a file if a filename could
+# not be determined or if a filename was invalid. A period and file
+# extension may be appended to this string.
+UntitledSaveFileName=Untitled
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/css.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/css.properties
new file mode 100644
index 0000000000..5fa2f7815e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/css.properties
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MimeNotCss=Stylesheet %1$S tidak dimuatkan kerana jenis MIME, "%2$S", bukan "text/css".
+MimeNotCssWarn=Gaya-helaian %1$S telah dimuatkan sebagai CSS walaupun ia berjenis MIME, "%2$S", bukan "text/css".
+
+PEDeclDropped=Deklarasi dijatuhkan.
+PEDeclSkipped=Dilangkau kepada deklarasi berikutnya.
+PEUnknownProperty=Ciri tidak diketahui '%1$S'.
+PEValueParsingError=Ralat penghuraian nilai untuk '%1$S'.
+PEUnknownAtRule=at-ruletidak dikenali atau ralat menghurai at-rule '%1$S'.
+PEMQUnexpectedOperator=Pengendali tidak dijangka dalam senarai media.
+PEMQUnexpectedToken=Token ‘%1$S’ tidak dijangka dalam senarai media.
+PEAtNSUnexpected=Token tidak dijangka di antara @namespace: '%1$S' .
+PEKeyframeBadName=Menjangka pengenal untuk nama daripada peraturan @keyframes.
+PEBadSelectorRSIgnored=Set aturan diabaikan kerana pemilih rosak.
+PEBadSelectorKeyframeRuleIgnored=Peraturan keyframe dibiarkan disebabkan oleh pemilih yang buruk.
+PESelectorGroupNoSelector=Pemilih dijangka.
+PESelectorGroupExtraCombinator=Penggabung Berjuntai.
+PEClassSelNotIdent=Menjangka pengenal untuk pemilih kelas tetapi menemui '%1$S'.
+PETypeSelNotType=Menjangka nama elemen atau '*' tetapi menemui '%1$S'.
+PEUnknownNamespacePrefix=Awalan ruang-nama tidak diketahui '%1$S'.
+PEAttributeNameExpected=Menjangka pengenal untuk nama atribut tetapi menemui '%1$S'.
+PEAttributeNameOrNamespaceExpected=MEnjangka nama atribut atau ruang nama tetapi menemui '%1$S'.
+PEAttSelNoBar=Menjangka '|' tetapi menemui '%1$S'.
+PEAttSelUnexpected=Token tidak dijangka dalam pemilih atribut: '%1$S'.
+PEAttSelBadValue=Menjangka pengenal atau rentetan untuk nilai dalam pemilih atribut tetapi menemui '%1$S'.
+PEPseudoSelBadName=Menjangka pengenal untuk pseudo-class atau pseudo-element tetapi menemui '%1$S'.
+PEPseudoSelEndOrUserActionPC=Menjangkakan berakhirnya pemilih atau tindakan pengguna pseudo-class selepas pseudo-element tetapi menemui '%1$S'.
+PEPseudoSelUnknown=Pseudo-class atau pseudo-element tidak diketahui '%1$S'.
+PEPseudoClassArgNotIdent=Dijangkai pengecam untuk parameter kelas-pseudo tetapi mendapati '%1$S'.
+PEColorNotColor=Menjangka warna tetapi menemui '%1$S'.
+PEParseDeclarationDeclExpected=Menjangka deklarasi tetapi menemui '%1$S'.
+PEUnknownFontDesc=Pemerihal ‘%1$S’ tidak diketahui dalam peraturan @font-face.
+PEMQExpectedFeatureName=Dijangka nama ciri media tetapi mendapati '%1$S'.
+PEMQNoMinMaxWithoutValue=Fungsi media yang min- atau max- mesti mempunyai satu nilai.
+PEMQExpectedFeatureValue=Jumpa nilai yang tidak sah untuk ciri media.
+PEExpectedNoneOrURL=Menjangka 'none' atau URL tetapi menemui '%1$S'.
+PEExpectedNoneOrURLOrFilterFunction=Dijangka 'tiada', URL, atau fungsi penapis tetapi mendapati '%1$S'.
+
+TooLargeDashedRadius=Radius sempadan terlalu besar untuk gaya ‘sempang’ (had ialah 100000 px). Hurai sebagai Padat.
+TooLargeDottedRadius=Radius sempadan terlalu besar untuk gaya ‘titik’ (had ialah 100000 px). Hurai sebagai padat.
+
+PEPRSyntaxFieldEmptyInput=@property syntax descriptor is empty.
+PEPRSyntaxFieldExpectedPipe=@property syntax descriptor ‘%S’ contains components without a pipe between them.
+PEPRSyntaxFieldInvalidNameStart=@property syntax descriptor ‘%S’ contains a component name that starts with an invalid character.
+PEPRSyntaxFieldInvalidName=@property syntax descriptor ‘%S’ contains a component name with an invalid character.
+PEPRSyntaxFieldUnclosedDataTypeName=@property syntax descriptor ‘%S’ contains an unclosed data type name.
+PEPRSyntaxFieldUnexpectedEOF=@property syntax descriptor ‘%S’ is incomplete.
+PEPRSyntaxFieldUnknownDataTypeName=@property syntax descriptor ‘%S’ contains an unknown data type name.
+PEDisallowedImportRule=@import rules are not yet valid in constructed stylesheets.
+PENeverMatchingHostSelector=:host selector in ‘%S’ is not featureless and will never match. Maybe you intended to use :host()?
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dialog.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dialog.properties
new file mode 100644
index 0000000000..521159473a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dialog.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+button-accept=OK
+button-cancel=Batal
+button-help=Bantuan
+button-disclosure=Info Lanjut
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=H
+accesskey-disclosure=I
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dom/dom.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dom/dom.properties
new file mode 100644
index 0000000000..d549bf6cd4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dom/dom.properties
@@ -0,0 +1,442 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=Amaran: Skrip tidak responsif
+KillScriptMessage=Skrip dalam halaman ini mungkin sibuk, atau telah berhenti bertindak balas. Anda boleh menghentikan skrip sekarang, atau biarkan skrip menilai samada skrip akan siap.
+KillScriptWithDebugMessage=Skrip pada halaman ini mungkin sibuk, atau telah berhenti bertindak balas. Anda boleh menghentikan skrip sekarang, buka skrip dalam penyahpepijat, atau biarkan skrip meneruskannya.
+KillScriptLocation=Skrip: %S
+
+KillAddonScriptTitle=Amaran: Skrip add-on tidak responsif
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=Skrip ekstensi “%1$S” sedang dilaksanakan dalam halaman ini, dan membuatkan %2$S tidak responsif.\n\nMungkin sedang sibuk atau berhenti memberikan respons secara kekal. Anda boleh hentikan skrip sekarang, atau teruskan untuk memastikan samada boleh disiapkan atau tidak.
+KillAddonScriptGlobalMessage=Halang skrip ekstensi daripada dilaksanakan dalam halaman ini sehingga dimuatkan semula
+
+StopScriptButton=Henti skrip
+DebugScriptButton=Skrip nyahpijat
+WaitForScriptButton=Teruskan
+DontAskAgain=&Jangan tanya saya lagi
+WindowCloseBlockedWarning=Skrip tidak dapat menutup tetingkap yang bukan dibuka oleh skrip.
+OnBeforeUnloadTitle=Adakah anda pasti?
+OnBeforeUnloadStayButton=Kekal pada Halaman
+OnBeforeUnloadLeaveButton=Tinggalkan Halaman
+EmptyGetElementByIdParam=Rentetan kosong dihantar ke getElementById().
+DocumentWriteIgnored=Panggilan untuk document.write() daripada satu muatan tidak selari skrip luaran telah diabaikan.
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=Gagal meletakkan fail ke dalam elemen contenteditable: %S.
+FormValidationTextTooLong=Sila pendekkan teks ini kepada kurang atau sama dengan %S aksara (anda sedang menggunakan %S aksara).
+FormValidationTextTooShort=Sila gunakan sekurang-kurangnya %S aksara (anda sekarang menggunakan %S aksara).
+FormValidationValueMissing=Sila isikan ruang ini.
+FormValidationCheckboxMissing=Sila tandakan kotak ini jika anda ingin teruskan.
+FormValidationRadioMissing=Sila pilih salah satu dari pilihan ini.
+FormValidationFileMissing=Sila pilih satu fail.
+FormValidationSelectMissing=Sila pilih salah satu dari senarai.
+FormValidationInvalidEmail=Sila masukkan alamat e-mel.
+FormValidationInvalidURL=Sila masukkan URL.
+FormValidationInvalidDate =Sila masukkan tarikh yang sah.
+FormValidationPatternMismatch=sila padankan format yang diminta.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Sila padankan format yang diminta: %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Sila pilih nilai yang tidak melebihi %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Sila pilih nilai yang tidak lewat daripada %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Sila pilih nilai yang tidak kurang daripada %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Sila pilih nilai yang tidak awal daripada %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Silih pilih nilai yang sah. Pilihan sah yang terdekat adalah %S dan %S.
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=Sila pilih nilai yang sah. Nilai yang terhampir adalah %S.
+FormValidationBadInputNumber=Sila masukkan nombor.
+FullscreenDeniedDisabled=Permintaan untuk skrin penuh ditolak kerana API Skrin penuh dinyahdayakan dalam keutamaan pengguna.
+FullscreenDeniedFocusedPlugin=Permintaan untuk skrin penuh ditolak kerana plugin tetingkap ditumpukan.
+FullscreenDeniedHidden=Permintaan untuk skrin penuh ditolak kerana dokumen tidak lagi dipapar.
+FullscreenDeniedContainerNotAllowed=Meminta kepada skrin penuh telah dihentikan kerana sekurangnya satu daripada satu dokumen mengandungi iframes yang tidak mempunyai satu atribut "allowfullscreen".
+FullscreenDeniedNotInputDriven=Permintaan untuk format ditolak kerana Element.requestFullscreen() tidak dipanggil dari dalam pengendali peristiwa jangka pendek user-generated.
+FullscreenDeniedNotHTMLSVGOrMathML=Permintaan skrin penuh ditolak kerana elemen yang meminta bukan <svg>, <math>, atau HTML.
+FullscreenDeniedNotInDocument=Permintaan untuk skrin penuh ditolak kerana elemen yang meminta tiada lagi dalam dokumen.
+FullscreenDeniedMovedDocument=Permintaan untuk skrin penuh ditolak kerana elemen yang meminta telah memindahkan dokumen.
+FullscreenDeniedLostWindow=Permintaan skrin penuh ditolak kerana kami tidak lagi ada tetingkap.
+FullscreenDeniedSubDocFullscreen=Permintaan skrin penuh ditolak kerana subdokumen kepada dokumen yang meminta skrin penuh sudah pun skrin penuh.
+FullscreenDeniedNotFocusedTab=Permintaan skrin penuh ditolak kerana elemen yang meminta bukanlah tab yang sedang ditumpukan sekarang.
+FullscreenDeniedFeaturePolicy=Permintaan skrin penuh ditolak kerana direktif FeaturePolicy.
+RemovedFullscreenElement=Terkeluar skrin penuh kerana elemen skrin penuh telah dibuang dari dokumen.
+FocusedWindowedPluginWhileFullscreen=Terkeluar skrin penuh kerana plugin tetingkap ditumpukan.
+PointerLockDeniedDisabled=Permintaan untuk kunci penunjuk ditolak kerana API Kunci Penunjuk dinyahdayakan oleh keutamaan pengguna.
+PointerLockDeniedInUse=Permintaan untuk kunci penunjuk ditolak kerana penuding pada masa ini dikawal oleh dokumen yang berlainan.
+PointerLockDeniedNotInDocument=Permintaan untuk kunci penunjuk ditolak kerana unsur meminta tidak dalam dokumen.
+PointerLockDeniedSandboxed=Permintaan untuk kunci penunjuk ditolak kerana API Kunci Penunjuk dihadkan via sandbox.
+PointerLockDeniedHidden=Permintaan untuk skrin penuh ditolak kerana dokumen tidak lagi dipapar.
+PointerLockDeniedNotFocused=Permintaan untuk kunci penunjuk ditolak kerana dokumen tidak difokus.
+PointerLockDeniedMovedDocument=Permintaan untuk kunci penunjuk ditolak kerana elemen yang meminta telah memindahkan dokumen.
+PointerLockDeniedNotInputDriven=Permintaan untuk kunci penunjuk ditolak kerana Element.requestPointerLock() tidak dipanggil dari dalam pengendali acara jangka pendek yang dijana-pengguna, dan dokumen tidak skrin penuh.
+PointerLockDeniedFailedToLock=Permintaan untuk kunci penunjuk ditolak kerana pelayar gagal mengunci penunjuk.
+HTMLSyncXHRWarning=Permintaan menghuraikan HTML dalam XMLHttp tidak disokong dalam mod segerak.
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=Percubaan untuk menetapkan forbidden header telah ditolak: %S
+ResponseTypeSyncXHRWarning=Penggunaan atribut XMLHttpRequest's responseType tidak lagi disokong pada mod segerak dalam konteks tetingkap.
+TimeoutSyncXHRWarning=Penggunaan daripada XMLHttpRequest's atribut masa tamat adalah tidak disokong dalam mod sinkronis dalam konteks tetingkap.
+JSONCharsetWarning=Satu percubaan telah dibuat untuk mengisytiharkan pengekodan bukan UTF-8 untuk JSON yang diambil menggunakan XMLHttpRequest. Hanya pengekodan UTF-8 yang disokong JSON.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=HTMLMediaElement yang dihantar ke createMediaElementSource ada sumber silang-asalan, output nod akan senyap.
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=MediaStream yang dihantar ke createMediaStreamSource ada sumber silang-asalan, output nod akan senyap.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=Tangkapan HTMLMediaElement sedang memainkan MediaStream. Status suara atau senyap tidak disokong pada masa ini.
+MediaLoadExhaustedCandidates=Semua sumber-sumber calon gagal dilaksanakan. Pelaksanaan media diberhentikan sementara.
+MediaLoadSourceMissingSrc=<source> elemen tidak mempunyai "src" atribut. Beban sumber media gagal.
+MediaStreamAudioSourceNodeDifferentRate=Menyambung AudioNodes dari AudioContexts dengan kadar sampel yang berbeza pada masa ini tidak disokong.
+# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadHttpError=Muatkan HTTP gagal dengan status %1$S. Gagal muatkan sumber media %2$S.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=URI tidak sah. Memuatkan sumber media %S gagal.
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=Dinyatakan "jenis" sifat "%1$S" tidak disokong. Muatan sumber media %2$S gagal.
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=HTTP "Content-Type" tidak disokong oleh "%1$S". Proses muat turun sumber %2$S gagal.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=Media sumber %S tidak dapat dinyahkod.
+MediaWidevineNoWMF=Cuba memainkan Widevine tanpa Windows Media Foundation. Lihat https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=Untuk memainkan video format %S, anda perlu memasang perisian tambahan Microsoft, rujuk https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=Video pada halaman ini tidak boleh dimainkan. Sistem anda mungkin tidak ada kodeks video yang diperlukan untuk: %S
+MediaUnsupportedLibavcodec=Video dalam halaman ini tidak dapat dimainkan. Sistem anda tidak menyokong versi lobavcodec
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=Sumber media %1$S tidak dapat dinyahkod, ralat: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=Sumber media %1$S mungkin boleh dinyahkod, tetapi dengan ralat: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=Tidak boleh memainkan media. Tiada dekoder untuk format yang diminta: %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=Tiada dekorder untuk sebahagian format yang diminta: %S
+MediaCannotInitializePulseAudio=Tidak dapat menggunakan PulseAudio
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+MediaEMEInsecureContextDeprecatedWarning=Menggunakan Sambungan Media Enkripsi pada %S yang tidak selamat (iaitu bebas-HTTPS) konteks adalah tidak digalakkan dan tidak lama lagi akan dihapuskan. Anda harus mempertimbangkan beralih kepada sumber asal yang selamat seperti HTTPS.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCapabilitiesDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) without passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities is deprecated and will soon become unsupported.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCodecsDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities without a contentType with a “codecs” string is deprecated and will soon become unsupported.
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=Penggunaan Mutation Events telah tamat. Sebaliknya, gunakan MutationObserver.
+BlockAutoplayError=Automain hanya diizinkan jika disahkan oleh pengguna, laman diaktifkan oleh pengguna atau media disenyapkan.
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=Objek Komponen dikecam. Ia akan dikeluarkan tidak lama lagi.
+PluginHangUITitle=Amaran: Skrip tidak responsif
+PluginHangUIMessage=%S mungkin sibuk, atau telah berhenti bertindak balas. Anda boleh menghentikan plugin sekarang, atau biarkan skrip meneruskan untuk melihat jika skrip akan selesai.
+PluginHangUIWaitButton=Teruskan
+PluginHangUIStopButton=Hentikan plugin
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=Memanggil detach() pada NodeIterator tidak lagi ada kesan.
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=Mengabaikan dapatkan atau tetapkan ciri yang mempunyai [LenientThis] kerana objek "this" tidak betul.
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=Penggunaan captureEvents() dihapuskan. Untuk menaiktaraf kod anda, gunakan cara DOM 2 addEventListener(). Untuk bantuan lanjut http://developer.mozilla.org/en/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=Penggunaan releaseEvents() dihapuskan. Untuk menaiktaraf kod anda, gunakan cara DOM 2 removeEventListener(). Untuk bantuan lanjut http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=XMLHttp segerak pada tajuk utama dikecam kerana kesan buruknya kepada pengalaman pengguna akhir. Untuk bantuan yang lebih http://xhr.spec.whatwg.org/
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=window.controllers/Controllers telah diabaikan. Jangan gunakannya untuk mengesan UA.
+ImportXULIntoContentWarning=Mengimport nod XUL kepada kandungan dokumen telah dikecam. Fungsian ini mungkin akan disingkirkan tidak lama lagi.
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=Transaksi IndexedDB yang masih belum selesai telah dibatalkan kerana navigasi halaman.
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=Penggunaan memori Will-change terlalu tinggi. Had bajet pada kawasan permukaan dokumen didarab dengan %1$S (%2$S px). Ulangan will-change ke atas bajet akan diabaikan.
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=Worker tidak dapat dimulakan dengan serta-merta kerana dokumen lain dalam origin yang sama telah menggunakan bilangan maksimum worker. Worker sekarang dibaris gilir dan akan dimulakan selepas beberapa worker lain sudah siap.
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=Cache Aplikasi API (AppCache) tidak sesuai dan akan dialih keluar pada masa akan datang.  Sila pertimbangkan menggunakan ServiceWorker untuk sokongan luar talian.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Mencuba mencipta Worker daripada sumber kosong. Ini mungkin tidak disengajakan.
+NavigatorGetUserMediaWarning=pengemudi. mozGetUserMedia telah diganti oleh pengemudi. mediaDevicesmediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams tidak sesuai. Sebaliknya, gunakan RTCPeerConnection.getSenders/getReceivers.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=Gagal memuatkan ‘%S’. ServiceWorker telah memintas permintaan dan menemui ralat yang tidak dijangka.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=Gagal memuatkan ‘%1$S’ dengan respon ‘%2$S’. ServiceWorker tidak dibenarkan untuk mensintesis Respon cors bagi Permintaan asal-sama.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=Gagal memuatkan ‘%1$S’. ServiceWorker memberikan opaque Response kepada FetchEvent. respondWith() semasa mengendali ‘%2$S’FetchEvent. Objek Opaque Response hanya sah apabila RequestMode ialah ‘no-cors'.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan Error Response kepada FetchEvent.respondWith(). Ini biasanya bermakna ServiceWorker melaksanakan panggilan fetch() yang tidak sah.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan Response terpakai kepada FetchEvent.respondWith(). Response hanya boleh dibaca sekali sahaja. Gunakan Response.clone() untuk mengaksesnya beberapa kali.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %s is a URL.
+BadOpaqueRedirectInterceptionWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan opaqueredirect Response kepada FetchEvent.respondWith() semasa mengendalikan non-navigasi FetchEvent.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan redirected Response kepada FetchEvent.respondWith() manakala RedirectMode pula tidak ‘follow’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=Gagal memuatkan ‘%S’. ServiceWorker membatalkan memuat dengan memanggil FetchEvent.preventDefault().
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=Gagal memuatkan ‘%1$S’. ServiceWorker memberikan promise kepada FetchEvent.respondWith() yang ditolak dengan ‘%2$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=Gagal memuatkan ‘%1$S’. ServiceWorker memberikan promise kepada FetchEvent.respondWith() yang dselesaikan dengan nilai non-Response ‘%2$S’.
+
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=Gagal mendaftar ServiceWorker: laluan skop yang disediakan ‘%1$S’ tidak di bawah skop maksimum yang dibenarkan ‘%2$S’. Ubah skop, pindahkan skrip Service Worker, atau gunakan pengepala HTTP Service-Worker-Allowed untuk mengizinkan skop.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a stringified numeric HTTP status code like "404" and %3$S is a URL.
+ServiceWorkerRegisterNetworkError=Gagal mendaftar /update ServiceWorker bagi skop ‘%1$S’: Memuat gagal dengan status %2$S untuk skrip ‘%3$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a MIME Media Type like "text/plain" and %3$S is a URL.
+ServiceWorkerRegisterMimeTypeError2=Gagal mendaftar/mengemaskini ServiceWorker untuk skop ‘%1$S’: Content-Type rosak ‘%2$S’ diterima untuk skrip ‘%3$S’. Mesti jenis MIME JavaScript.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=Gagal mendaftar/kemaskini ServiceWorker untuk skop ‘%S’: Akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+ServiceWorkerGetRegistrationStorageError=Gagal mendapatkan pendaftaran service worker: Akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+ServiceWorkerGetClientStorageError=Gagal mendapatkan klien service worker: Akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=ServiceWorker bagi skop ‘%S’ gagal melaksanakan 'postMessage' kerana akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=Menamatkan ServiceWorker bagi skop ‘%1$S’ dengan promises tertangguh waitUntil/respondWith kerana ihsan tamat tempoh.
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ServiceWorkerNoFetchHandler=Fetch event handlers must be added during the worker script’s initial evaluation.
+ExecCommandCutCopyDeniedNotInputDriven=document.execCommand(‘cut’/‘copy’) telah ditolak kerana tidak dipanggil dari dalam pengendali acara jangka pendek yang dijana-pengguna.
+ManifestShouldBeObject=Manifes mestilah sebuah objek.
+ManifestScopeURLInvalid=Skop URL tidak sah.
+ManifestScopeNotSameOrigin=Skop URL mesti sama origin dengan dokumen.
+ManifestStartURLOutsideScope=URL permulaan di luar skop, jadi skop in tidak sah.
+ManifestStartURLInvalid=URL permulaan tidak sah.
+ManifestStartURLShouldBeSameOrigin=Permulaan URL mesti sama origin dengan dokumen.
+# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
+ManifestInvalidType=Dijangka %1$S’ %2$S ahli kepada %3$S.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
+ManifestInvalidCSSColor=%1$S: %2$S bukan warna CSS yang sah.
+PatternAttributeCompileFailure=Tidak dapat menyemak <input pattern='%S'> kerana bukan corak regexp yang sah: %S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=Gagal melaksanakan ‘postMessage’ pada ‘DOMWindow’: Origin sasaran yang disediakan (‘%S’) tidak sepadan dengan origin tetingkap penerima (‘%S’).
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=Menulis semula YouTube Flash gaya lama yang diterap (%S) ke iframe yang diterap (%S). Sila kemaskini halaman untuk menggunakan iframe bukannya diterap /object jika boleh.
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=Menulis semula gaya-lama YouTube Flash yang diterap (%S) ke iframe yang diterap (%S). Params tidak disokong oleh iframe yang diterap dan ditukar. Sila kemas kini halaman untuk menggunakan iframe bukannya diterap /object jika boleh.
+# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Encryption", and "salt". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala ‘Encryption’ perlu menyertakan parameter unik ‘salt‘ bagi setiap mesej. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoKeyHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala ‘Crypto-Key’ perlu menyertakan parameter ‘dh‘ yang mengandungi kunci awam pelayan app. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated
+# "Encryption-Key" header for an incoming push message is missing or invalid.
+# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and
+# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionKeyHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala 'Encryption-Key' perlu menyertakan parameter 'dh'. Pengepala ini tidak sesuai dan akan dialih keluar tidak lama lagi. Sila gunakan 'Crypto-Key' dengan 'Content-Encoding: aesgcm'. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "Content-Encoding" header is missing or contains an
+# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding",
+# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncodingHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala 'Content-Encoding' mesti 'aesgcm'. ‘aescgm128‘ dibolehkan, tetapi tidak sesuai dan akan dialih keluar tidak lama lagi. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "dh" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSenderKey=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Parameter 'dh' dalam pengepala 'Crypto-Key' mesti kunci awam pelayan app Diffie-Hellman, base64url-encoded (https://tools.ietf.org/html/rfc7515#appendix-C) dan dalam "uncompressed" atau bentuk "raw" (65 bait sebelum pengekodan). Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "salt" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSalt=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Parameter 'salt' dalam pengepala 'Encryption' mesti base64url-encoded (https://tools.ietf.org/html/rfc7515#appendix-C), dan sekurang-kurangnya 16 bait sebelum pengekodan. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "rs" parameter is not a number, or is less than the pad size.
+# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the
+# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for
+# aesgcm).
+PushMessageBadRecordSize=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Parameter 'rs' pengepala 'Encryption' mesti di antara %2$S and 2^36-31, atau dibuang. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because an encrypted record is shorter than the pad size, the pad is larger
+# than the record, or any of the padding bytes are non-zero. Do not translate
+# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size
+# (1 for aesgcm128, 2 for aesgcm).
+PushMessageBadPaddingError=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Rekod dalam mesej yang dienkripsi tidak disertakan dengan betul. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when push message decryption fails
+# and no specific error info is available. Do not translate "ServiceWorker".
+# %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoError=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Untuk bantuan perihal enkripsi, sila rujuk https://developer.mozilla.org/docs/Web/API/Push_API/Using_the_Push_API#Encryption
+# LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec.
+PreventDefaultFromPassiveListenerWarning=Mengabaikan panggilan ‘preventDefault()’ pada acara jenis ‘%1$S’ daripada pendengar yang didaftarkan sebagai 'passive'.
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+ImageBitmapRenderingContext_TransferImageBitmapWarning=ImageBitmapRenderingContext.transferImageBitmap tidak sesuai dan akan dialih keluar. Guna ImageBitmapRenderingContext.transferFromImageBitmap.
+IIRFilterChannelCountChangeWarning=IIRFilterNode perubahan kiraan saluran boleh menghasilkan glic audio.
+BiquadFilterChannelCountChangeWarning=BiquadFilterNode perubahan kiraan saluran boleh menghasilkan glic audio.
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=image.png
+GenericFileName=fail
+GeolocationInsecureRequestIsForbidden=A Geolocation request can only be fulfilled in a secure context.
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=Atribut ‘content’ objek Window tidak sesuai. Sebaliknya, sila gunakan ‘window.top’.
+# LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID.
+SVGRefLoopWarning=SVG <%S> dengan ID “%S” ada gelung rujukan.
+# LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID.
+SVGRefChainLengthExceededWarning=Rantai rujukan SVG <%S> yang terlalu panjang telah diabaikan pada elemen dengan ID “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=‘%S’ atribut elemen <script> kosong.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=‘%S’ atribut elemen <script> tidak sah URI: “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=Gagal memuatkan <script> dengan sumber “%S”.
+ModuleSourceLoadFailed=Gagal memuatkan modul dengan sumber “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=<script> sumber URI rosak: “%S”.
+ModuleSourceMalformed=Sumber modul URI telah rosak: “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=<script> sumber URI tidak diizinkan dalam dokumen ini: “%S”.
+ModuleSourceNotAllowed=Modul sumber URI tidak dibenarkan dalam dokumen ini: “%S”.
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+InvalidKeyframePropertyValue=Nilai keyframe %1$S tidak sah mengikut sintaks “%2$S”.
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=Gagal membaca data dari ReadableStream: “%S”.
+MotionEventWarning=Penggunaan pengesan pergerakan tidak digalakkan.
+OrientationEventWarning=Penggunaan pengesan orientasi tidak digalakkan.
+ProximityEventWarning=Penggunaan pengesan kehampiran tidak digalakkan.
+AmbientLightEventWarning=Penggunaan pengesan cahaya ambien tidak digalakkan.
+UnsupportedEntryTypesIgnored=Mengabaikan entryTypes: %S yang tidak disokong.
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface adalah antara muka ujian sahaja dan ini adalah mesej pembatalan pengujian.
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() ialah satu kaedah ujian-sahaja dan ini adalah mesej pembatalan pengujiannya.
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute ialah antara muka ujian sahaja dan ini adalah mesej pembatalan pengujian.
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+CreateImageBitmapCanvasRenderingContext2DWarning=Penggunaan CanvasRenderingContext2D dalam createImageBitmap tidak lagi sesuai.
+
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+MozRequestFullScreenDeprecatedPrefixWarning=mozRequestFullScreen() tidak dapat digunakan.
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+MozfullscreenchangeDeprecatedPrefixWarning=onmozfullscreenchange tidak dapat digunakan.
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+MozfullscreenerrorDeprecatedPrefixWarning=onmozfullscreenerror tidak dapat digunakan.
+
+
+OnBeforeUnloadMessage2=This page is asking you to confirm that you want to leave — information you’ve entered may not be saved.
+SpeculationFailed2=An unbalanced tree was written using document.write() causing data from the network to be reparsed. More information: https://developer.mozilla.org/en-US/docs/Glossary/speculative_parsing
+FormValidationInvalidTime=Please enter a valid time.
+FormValidationInvalidDateTime=Please enter valid date and time.
+FormValidationInvalidDateMonth=Please enter a valid month.
+FormValidationInvalidDateWeek=Please enter a valid week.
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=Please select a value between %1$S and %2$S.
+FullscreenDeniedHTMLDialog=Request for fullscreen was denied because requesting element is a <dialog> element.
+FullscreenDeniedMouseEventOnlyLeftBtn=Request for fullscreen was denied because Element.requestFullscreen() was called from inside a mouse event handler not triggered by left mouse button.
+FullscreenDeniedPopoverOpen=Request for fullscreen was denied because the element is already open as a popover.
+FullscreenExitWindowFocus=Exited fullscreen because a window was focused.
+# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest.
+UseSendBeaconDuringUnloadAndPagehideWarning=Use of navigator.sendBeacon instead of synchronous XMLHttpRequest during unload and pagehide improves user experience.
+# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource.
+MediaStreamTrackAudioSourceNodeCrossOrigin=The MediaStreamTrack passed to createMediaStreamTrackSource is a cross-origin resource, the node will output silence.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementStreamCaptureCycle=The MediaStream assigned to srcObject comes from a capture of this HTMLMediaElement, forming a cycle, assignment ignored.
+MediaLoadUnsupportedTypeAttributeLoadingNextChild=Specified “type” attribute of “%1$S” is not supported. Load of media resource %2$S failed. Trying to load from next <source> element.
+BlockAutoplayWebAudioStartError=An AudioContext was prevented from starting automatically. It must be created or resumed after a user gesture on the page.
+ManifestIdIsInvalid=The id member did not resolve to a valid URL.
+ManifestIdNotSameOrigin=The id member must have the same origin as the start_url member.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "lang: 42 is not a valid language code."
+ManifestLangIsInvalid=%1$S: %2$S is not a valid language code.
+# LOCALIZATION NOTE: %1$S is the name of the parent property whose value is invalid (e.g., "icons"). %2$S is the index of the image object that is invalid (from 0). %3$S is the name of actual member that is invalid. %4$S is the invalid value. E.g. "icons item at index 2 is invalid. The src member is an invalid URL http://:Invalid"
+ManifestImageURLIsInvalid=%1$S item at index %2$S is invalid. The %3$S member is an invalid URL %4$S
+# LOCALIZATION NOTE: %1$S is the name of the parent property that that contains the unusable image object (e.g., "icons"). %2$S is the index of the image object that is unusable (from 0). E.g. "icons item at index 2 lacks a usable purpose. It will be ignored."
+ManifestImageUnusable=%1$S item at index %2$S lacks a usable purpose. It will be ignored.
+# LOCALIZATION NOTE: %1$S is the name of the parent property that contains the unsupported value (e.g., "icons"). %2$S is the index of the image object that has the unsupported value (from 0). %3$S are the unknown purposes. E.g. "icons item at index 2 includes unsupported purpose(s): a b."
+ManifestImageUnsupportedPurposes=%1$S item at index %2$S includes unsupported purpose(s): %3$S.
+# LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
+ManifestImageRepeatedPurposes=%1$S item at index %2$S includes repeated purpose(s): %3$S.
+NotificationsInsecureRequestIsForbidden=The Notification permission may only be requested in a secure context.
+NotificationsCrossOriginIframeRequestIsForbidden=The Notification permission may only be requested in a top-level document or same-origin iframe.
+NotificationsRequireUserGesture=The Notification permission may only be requested from inside a short running user-generated event handler.
+NotificationsRequireUserGestureDeprecationWarning=Requesting Notification permission outside a short running user-generated event handler is deprecated and will not be supported in the future.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.nearestViewportElement or SVGElement.viewportElement.
+SVGNearestViewportElement=SVGGraphicsElement.nearestViewportElement is deprecated and will be removed at a future date. Use SVGElement.viewportElement instead.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.farthestViewportElement.
+SVGFarthestViewportElement=SVGGraphicsElement.farthestViewportElement is deprecated and will be removed at a future date.
+WebExtContentScriptModuleSourceNotAllowed=WebExtension content scripts may only load modules with moz-extension URLs and not: “%S”.
+ModuleResolveFailureNoWarn=Error resolving module specifier “%S”.
+ModuleResolveFailureWarnRelative=Error resolving module specifier “%S”. Relative module specifiers must start with “./”, “../” or “/”.
+ImportMapInvalidTopLevelKey=An invalid top-level key “%S” was present in the import map.
+ImportMapEmptySpecifierKeys=Specifier keys cannot be empty strings.
+ImportMapAddressesNotStrings=Addresses need to be strings.
+ImportMapInvalidAddress=Address “%S” was invalid.
+# %1$S is the specifier key, %2$S is the URL.
+ImportMapAddressNotEndsWithSlash=An invalid address was given for the specifier key “%1$S”; since “%1$S” ended in a slash, the address “%2$S” needs to as well.
+ImportMapScopePrefixNotParseable=The scope prefix URL “%S” was not parseable.
+ImportMapResolutionBlockedByNullEntry=Resolution of specifier “%S” was blocked by a null entry.
+ImportMapResolutionBlockedByAfterPrefix=Resolution of specifier “%S” was blocked since the substring after prefix could not be parsed as a URL relative to the address in the import map.
+ImportMapResolutionBlockedByBacktrackingPrefix=Resolution of specifier “%S” was blocked since the parsed URL does not start with the address in the import map.
+ImportMapResolveInvalidBareSpecifierWarnRelative=The specifier “%S” was a bare specifier, but was not remapped to anything. Relative module specifiers must start with “./”, “../” or “/”.
+# LOCALIZATION NOTE: Do not translate "<script type='importmap'>", "src".
+ImportMapExternalNotSupported=External import maps are not supported: <script type='importmap'> with a src attribute is currently not supported.
+ImportMapNotAllowedMultiple=Multiple import maps are not allowed.
+ImportMapNotAllowedAfterModuleLoad=Import maps are not allowed after a module load or preload has started.
+# LOCALIZATION NOTE: Do not translate "registerProtocolHandler"
+RegisterProtocolHandlerPrivateBrowsingWarning=Can’t use registerProtocolHandler inside private browsing mode.
+AllEntryTypesIgnored=No valid entryTypes; aborting registration.
+# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S”
+GTK2Conflict2=Key event not available on GTK2: key=“%S” modifiers=“%S” id=“%S”
+WinConflict2=Key event not available on some keyboard layouts: key=“%S” modifiers=“%S” id=“%S”
+# LOCALIZATION NOTE: do not trnaslated "document.domain"
+DocumentSetDomainNotAllowedWarning=Setting document.domain in a cross-origin isolated environment is not allowed.
+# LOCALIZATION NOTE (DrawWindowCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D, drawWindow and tabs.captureTab.
+DrawWindowCanvasRenderingContext2DWarning=Use of drawWindow method from CanvasRenderingContext2D is deprecated. Use tabs.captureTab extensions API instead https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab
+# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider.
+External_AddSearchProviderWarning=AddSearchProvider is deprecated.
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure".
+MouseEvent_MozPressureWarning=MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead.
+# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize.
+MathML_DeprecatedMathSizeValueWarning=“small”, “normal” and “big” are deprecated values for the mathsize attribute and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace,
+# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML.
+MathML_DeprecatedMathSpaceValueWarning=“veryverythinmathspace”, “verythinmathspace”, “thinmathspace”, “mediummathspace”, “thickmathspace”, “verythickmathspace” and “veryverythickmathspace” are deprecated values for MathML lengths and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight.
+MathML_DeprecatedStyleAttributeWarning=MathML attributes “background”, “color”, “fontfamily”, “fontsize”, “fontstyle” and “fontweight” are deprecated and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL.
+MathML_DeprecatedStixgeneralOperatorStretchingWarning=Support for rendering stretched MathML operators with STIXGeneral fonts is deprecated and may be removed at a future date. For details about newer fonts that will continue to be supported, see %S
+# LOCALIZATION NOTE: Do not translate MathML and scriptminsize.
+MathML_DeprecatedScriptminsizeAttributeWarning=MathML attribute “scriptminsize” is deprecated and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier.
+MathML_DeprecatedScriptsizemultiplierAttributeWarning=MathML attribute “scriptsizemultiplier” is deprecated and will be removed at a future date.
+FormSubmissionUntrustedEventWarning=Form submission via untrusted submit event is deprecated and will be removed at a future date.
+WebShareAPI_Failed=The share operation has failed.
+WebShareAPI_Aborted=The share operation was aborted.
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=Prevented navigation to “%1$S” due to an unknown protocol.
+PostMessageSharedMemoryObjectToCrossOriginWarning=Cannot post message containing a shared memory object to a cross-origin window.
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+UnusedLinkPreloadPending=The resource at “%S” preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+RequestStorageAccessNullPrincipal=document.requestStorageAccess() may not be called on a document with an opaque origin, such as a sandboxed iframe without allow-same-origin in its sandbox attribute.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed").
+RequestStorageAccessSandboxed=document.requestStorageAccess() may not be called in a sandboxed iframe without allow-storage-access-by-user-activation in its sandbox attribute.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+RequestStorageAccessNested=document.requestStorageAccess() may not be called in a nested iframe.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+RequestStorageAccessUserGesture=document.requestStorageAccess() may only be requested from inside a short running user-generated event handler.
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+LocChangeFloodingPrevented=Too many calls to Location or History APIs within a short timeframe.
+FolderUploadPrompt.title = Confirm Upload
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = Are you sure you want to upload all files from “%S”? Only do this if you trust the site.
+FolderUploadPrompt.acceptButtonLabel = Upload
+InputPickerBlockedNoUserActivation=<input> picker was blocked due to lack of user activation.
+ExternalProtocolFrameBlockedNoUserActivation=Iframe with external protocol was blocked due to lack of user activation, or because not enough time has passed since the last such iframe was loaded.
+MultiplePopupsBlockedNoUserActivation=Opening multiple popups was blocked due to lack of user activation.
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+PreloadIgnoredInvalidAttr=Preload of %S was ignored due to unknown “as” or “type” values, or non-matching “media” attribute.
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "agent cluster".
+BlobDifferentClusterError=Cannot access blob URL “%S” from a different agent cluster.
+# LOCALIZATION NOTE: Do not translate "Element.setCapture()" and "Element.setPointerCapture()"".
+ElementSetCaptureWarning=Element.setCapture() is deprecated. Use Element.setPointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture
+# LOCALIZATION NOTE: Do not translate "Element.releaseCapture()" and "Element.releasePointerCapture()".
+ElementReleaseCaptureWarning=Element.releaseCapture() is deprecated. Use Element.releasePointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+# LOCALIZATION NOTE: Do not translate "Document.releaseCapture()" and "Element.releasePointerCapture()".
+DocumentReleaseCaptureWarning=Document.releaseCapture() is deprecated. Use Element.releasePointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+# LOCALIZATION NOTE: Don't translate browser.runtime.lastError, %S is the error message from the unchecked value set on browser.runtime.lastError.
+WebExtensionUncheckedLastError=browser.runtime.lastError value was not checked: %S
+# LOCALIZATION NOTE: Do not translate "OffscreenCanvas.toBlob()" and "OffscreenCanvas.convertToBlob()".
+OffscreenCanvasToBlobWarning=OffscreenCanvas.toBlob() is deprecated. Use OffscreenCanvas.convertToBlob() instead.
+# LOCALIZATION NOTE: Do not translate "InstallTrigger"
+InstallTriggerDeprecatedWarning=InstallTrigger is deprecated and will be removed in the future.
+# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()"
+InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() is deprecated and will be removed in the future. For more help https://extensionworkshop.com/documentation/publish/self-distribution/
+# LOCALIZATION NOTE: Do not translate "HTMLOptionsCollection.length". %1$S is the invalid value, %2$S is the current limit.
+SelectOptionsLengthAssignmentWarning=Refused to expand <select> option list via assignment to HTMLOptionsCollection.length (value %1$S). The maximum supported size is %2$S.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/extensions.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/extensions.properties
new file mode 100644
index 0000000000..7386c79fa9
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/extensions.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (uninstall.confirmation.title) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.title = Nyahpasang %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = Ekstensi “%S” meminta untuk dinyahpasang. Apa yang mahu anda lakukan?
+
+uninstall.confirmation.button-0.label = Nyahpasang
+uninstall.confirmation.button-1.label = Teruskan Dipasang
+
+saveaspdf.saveasdialog.title = Simpan Sebagai
+
+#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page.
+newTabControlled.message2 = Ekstensi, %S, menukar halaman yang anda lihat apabila anda buka tab baru.
+newTabControlled.learnMore = Ketahui selanjutnya
+
+#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage.
+homepageControlled.message = Ekstensi, %S, menukar apa yang dilihat apabila anda buka laman dan tetingkap baru.
+homepageControlled.learnMore = Ketahui selanjutnya
+
+#LOCALIZATION NOTE (tabHideControlled.message) %1$S is the icon and name of the extension which hid tabs, %2$S is the icon of the all tabs button.
+tabHideControlled.message = Ekstensi %1$S sedang menyorokkan beberapa tab. Anda masih boleh akses semua tab dari %2$S.
+tabHideControlled.learnMore = Ketahui selanjutnya
+
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/fallbackMenubar.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/fallbackMenubar.properties
new file mode 100644
index 0000000000..392d4ca0e0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/fallbackMenubar.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# OSX only. Default menu label when there is no xul menubar.
+
+quitMenuitem.label=Keluar
+quitMenuitem.key=q
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/filepicker.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/filepicker.properties
new file mode 100644
index 0000000000..3a44fbe1fc
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/filepicker.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=Semua Fail
+htmlTitle=Fail HTML
+textTitle=Fail Teks
+imageTitle=Fail Imej
+xmlTitle=Fail XML
+xulTitle=Fail XUL
+appsTitle=Aplikasi
+audioTitle=Fail Audio
+videoTitle=Fail Video
+
+formatLabel=Format:
+
+
+selectedFileNotReadableError=Selected file does not have read permission
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/global-strres.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/global-strres.properties
new file mode 100644
index 0000000000..01f3eb0fbb
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/global-strres.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+16389=Ralat tidak diketahui telah berlaku (%1$S)
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.css b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.css
new file mode 100644
index 0000000000..2f54eb367d
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.css
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This file contains all localizable skin settings such as
+ * font, layout, and geometry
+ */
+window {
+ font: 3mm tahoma,arial,helvetica,sans-serif;
+}
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.properties
new file mode 100644
index 0000000000..ce692d2b91
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.accept_languages):
+# This is a comma-separated list of valid BCP 47 language tags.
+#
+# Begin with the value of 'general.useragent.locale'. Next, include language
+# tags for other languages that you expect most users of your locale to be
+# able to speak, so that their browsing experience degrades gracefully if
+# content is not available in their primary language.
+#
+# It is recommended that you include "en-US, en" at the end of the list as a
+# last resort. However, if you know that users of your locale would prefer a
+# different variety of English, or if they are not likely to understand
+# English at all, you may opt to include a different English language tag, or
+# to exclude English altogether.
+#
+# For example, the Breton [br] locale might consider including French and
+# British English in their list, since those languages are commonly spoken in
+# the same area as Breton:
+# intl.accept_languages=br, fr-FR, fr, en-GB, en
+intl.accept_languages=ms,en-us, en
+
+# LOCALIZATION NOTE (font.language.group):
+# This preference controls the initial setting of the language drop-down menu
+# in the Content > Fonts & Colors > Advanced preference panel.
+#
+# Set it to the value of one of the menuitems in the "selectLangs" menulist in
+# http://mxr.mozilla.org/mozilla/source/browser/components/preferences/fonts.xul
+font.language.group=x-western
+
+# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your
+# language. This will determine how many plural forms of a word you will need
+# to provide and in what order.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+pluralRule=0
+
+# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys):
+# Valid values are: true, false, <empty string>
+# Missing preference or empty value equals false.
+intl.menuitems.alwaysappendaccesskeys=
+intl.menuitems.insertseparatorbeforeaccesskeys=true
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/keys.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/keys.properties
new file mode 100644
index 0000000000..adb597c4cf
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/keys.properties
@@ -0,0 +1,79 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevelant kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevalent kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# F1..F10 should probably not be translated unless there are keyboards that actually have other labels
+# F11..F20 might be something else, but are really keyboard specific and not region/language specific
+# there are actually two different F11/F12 keys, I don't know which one these labels represent.
+# eg, F13..F20 on a sparc keyboard are labeled Props, Again .. Find, Cut
+# sparc also has Stop, Again and F11/F12. VK_F11/VK_F12 probably map to Stop/Again
+# LOCALIZATION NOTE : BLOCK Do not translate the next block
+VK_F1=F1
+VK_F2=F2
+VK_F3=F3
+VK_F4=F4
+VK_F5=F5
+VK_F6=F6
+VK_F7=F7
+VK_F8=F8
+VK_F9=F9
+VK_F10=F10
+
+VK_F11=F11
+VK_F12=F12
+VK_F13=F13
+VK_F14=F14
+VK_F15=F15
+VK_F16=F16
+VK_F17=F17
+VK_F18=F18
+VK_F19=F19
+VK_F20=F20
+# LOCALIZATION NOTE : BLOCK end do not translate block
+
+# LOCALIZATION NOTE : BLOCK GLYPHS, DO translate this block
+VK_UP=Anak Panah Atas
+VK_DOWN=Anak Panah Bawah
+VK_LEFT=Anak Panah Kiri
+VK_RIGHT=Anak Panah Kanan
+VK_PAGE_UP=Halaman Atas
+VK_PAGE_DOWN=Halaman Bawah
+# LOCALIZATION NOTE : BLOCK end GLYPHS
+
+# Enter, backspace, and Tab might have both glyphs and text
+# if the keyboards usually have a glyph,
+# if there is a meaningful translation,
+# or if keyboards are localized
+# then translate them or insert the appropriate glyph
+# otherwise you should probably just translate the glyph regions
+
+# LOCALIZATION NOTE : BLOCK maybe GLYPHS
+VK_TAB=Tab
+VK_BACK=Undur ruang
+VK_DELETE=Del
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Laman
+VK_END=Tamat
+
+VK_ESCAPE=Esc
+VK_INSERT=Ins
+# LOCALIZATION NOTE : BLOCK end
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/HtmlForm.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/HtmlForm.properties
new file mode 100644
index 0000000000..802ff225ff
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/HtmlForm.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Reset=Set semula
+Submit=Kemukakan Pertanyaan
+Browse=Cari…
+FileUpload=Muat Naik Fail
+DirectoryUpload=Pilih Folder untuk Dimuat Naik
+DirectoryPickerOkButtonLabel=Muat naik
+ForgotPostWarning=Borang mengandungi enctype=%S, tetapi tidak mengandungi method=post. Penghantaran biasanya dengan method=GET dan sebaliknya tiada enctype.
+ForgotFileEnctypeWarning=Borang mengandungi input fail, tetapi hilang method=POST dan enctype=multipart/form-data pada borang. Fail tidak akan dihantar.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=Pos Borang daripada %S
+CannotEncodeAllUnicode=Borang telah dihantar dalam pengekodan %S yang tidak dapat mengekod semua aksara Unicode, jadi input pengguna boleh rosak. Untuk mengelakkan masalah ini, halaman ini telah ditukar dan borang yang dihantar dalam pengekodan UTF-8 samada dengan mengubah pengekodan halaman itu sendiri kepada UTF-8 atau dengan menyatakan accept-charset=utf-8 dalam elemen borang.
+AllSupportedTypes=Semua jenis disokong
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Tiada fail dipilih.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Tiada fail dipilih.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Tiada direktori dipilih.
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=%S fail dipilih.
+ColorPicker=Pilih warna
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=Butiran
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/MediaDocument.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/MediaDocument.properties
new file mode 100644
index 0000000000..a1d467b95b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/MediaDocument.properties
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (ImageTitleWithDimensions2AndFile): first %S is filename, second %S is type, third %S is width and fourth %S is height
+#LOCALIZATION NOTE (ImageTitleWithoutDimensions): first %S is filename, second %S is type
+#LOCALIZATION NOTE (ImageTitleWithDimensions2): first %S is type, second %S is width and third %S is height
+#LOCALIZATION NOTE (ImageTitleWithNeitherDimensionsNorFile): first %S is type
+#LOCALIZATION NOTE (MediaTitleWithFile): first %S is filename, second %S is type
+#LOCALIZATION NOTE (MediaTitleWithNoInfo): first %S is type
+ImageTitleWithDimensions2AndFile=%S (%S Image, %S × %S pixels)
+ImageTitleWithoutDimensions=%S (%S Imej)
+ImageTitleWithDimensions2=(%S Image, %Sx%S pixels)
+ImageTitleWithNeitherDimensionsNorFile=(%S Imej)
+MediaTitleWithFile=%S (%S Objek)
+MediaTitleWithNoInfo=(%S Objek)
+
+InvalidImage=Imej “%S” tidak dapat dipaparkan kerana mengandungi ralat.
+ScaledImage=Diskalakan (%S%%)
+
+TitleWithStatus=%S - %S
+
+UnsupportedImage=The image “%S” cannot be displayed because it requires unsupported features.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/htmlparser.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/htmlparser.properties
new file mode 100644
index 0000000000..fb4f0f3a8d
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/htmlparser.properties
@@ -0,0 +1,146 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Encoding warnings and errors
+EncNoDeclarationFrame=Pengekodan karakter dokumen berbingkai tidak ditetapkan. Dokumen akan kelihatan berlainan jika dipapar tanpa bingkai dokumen.
+EncMetaUnsupported=Satu pengekodan karakter tidak disokong telah diisytiharkan untuk HTML dokumen menggunakan tag meta. Perisytiharan itu telah diabaikan.
+EncProtocolUnsupported=Sebuah pengekodan karakter tidak disokong telah diisytiharkan pada tahap pemindahan protokol. Perisytiharan itu telah diabaikan.
+EncMetaUtf16=Tag meta telah digunakan untuk mengisytiharkan pengekodan karakter sebagai UTF-16. Ini telah ditafsirkan sebagai UTF-8 perisytiharan sebagai ganti.
+EncMetaUserDefined=Tag meta telah digunakan untuk mengisytiharkan aksara pengkodan sebagai x-user-defined. Sebaliknya ini telah ditafsirkan sebagai pengisytiharan windows-1252 untuk keserasian dengan fon legasi yang disalah kod secara sengaja. Laman ini perlu berhijrah kepada Unicode.
+
+# The bulk of the messages below are derived from
+# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
+# which is available under the MIT license.
+
+# Tokenizer errors
+errGarbageAfterLtSlash=Sampah selepas “</”.
+errLtSlashGt=Terjumpa “</>”. Berkemungkinan punca: Unescaped “<” (escape as “&lt;”) atau tersalah taip end tag.
+errCharRefLacksSemicolon=Rujukan aksara tidak ditamatkan oleh koma bernoktah.
+errNoDigitsInNCR=Tiada digit di dalam rujukan aksara bernombor.
+errGtInSystemId=“>” dalam pengenal sistem.
+errGtInPublicId=“>” di dalam pengenal pasti umum.
+errNamelessDoctype=DOCTYPE yang tidak bernama.
+errConsecutiveHyphens=Sengkang berturut tidak menamatkan komen. “--” tidak dibenarkan dalam satu komen, tetapi cth. “- -” dibenarkan.
+errPrematureEndOfComment=Komen berakhir secara terburu-buru. Gunakan “-->” untuk mengakiri komen dengan sempurna.
+errBogusComment=Komen palsu.
+errUnquotedAttributeLt=“<” pada atribut yang tidak diketahui nilainya. Kemungkinan penyebab: Hilangnya “>” secara tiba-tiba sebelum itu.
+errUnquotedAttributeGrave=“`” dalam nilai atribut yang tidak tertakrif. Penyebab yang mungkin: Menggunakan ciri-ciri karakter yang salah sebagai takrif.
+errUnquotedAttributeQuote=Kutipan dalam nilai atribut yang tidak diketahui. Kemungkinan penyebab: sifat-sifat berlari bersam atau rentetan URL di dalam nilai atribut tidak diketahui.
+errUnquotedAttributeEquals=“=” kutipan dalam nilai atribut yang tidak diketahui. Kemungkinan penyebab: sifat-sifat berlari bersam atau rentetan URL di dalam nilai atribut tidak diketahui.
+errSlashNotFollowedByGt=A slash was not immediately followed by “>”.
+errNoSpaceBetweenAttributes=Tiada ruang di antara atribut.
+errUnquotedAttributeStartLt=“<” at the start of an unquoted attribute value. Probable cause: Missing “>” immediately before
+errUnquotedAttributeStartGrave=“`” pada permulaan nilai atribut yang tidak diketahui nilainya. Kemungkinan penyebab: Menggunakan ciri-ciri yang salah sebagai pembida.
+errUnquotedAttributeStartEquals=“=” pada permulaan nilai atribut tanpa petikan. Kemungkinan: duplikasi lilau tanda sama dengan.
+errAttributeValueMissing=Nilai atribut tidak ditemui.
+errBadCharBeforeAttributeNameLt=Menjangkakan nama atribut tetapi “<” ditemui. Berkemungkinan: “>” hilang sebelumnya.
+errEqualsSignBeforeAttributeName=Menjangkakan nama atribut tetapi “=” ditemui. Berkemungkinan: Nama atribut hilang.
+errBadCharAfterLt=Karekter buruk selepas “<”. Berkemungkinan punca Unescaped “<”. Cuba keluarkan ia sebagai “&lt;”.
+errLtGt=Terjumpa “<>”. Berkemungkinan punca: Unescaped “<” (keluar sebagai “&lt;”) atau tersalah taip bermula tag.
+errProcessingInstruction=“<?” ditemui. Berkemungkinan: menggunakan arahan XML dalam arahan HTML. (XML tidak disokong dalam HTML)
+errUnescapedAmpersandInterpretedAsCharacterReference=String ini berikutan “&” telah diinterprasi sebagai lampiran karekter. (“&” berkemungkinan harus dikeluarkan sebagai “&amp;”.)
+errNotSemicolonTerminated=Lampiran karekter yang dinamakan telah tidak diberhentikan oleh satu semicolon. (Or “&” harus dikeluarkan sebagai as “&amp;”.)
+errNoNamedCharacterMatch=“&” tidak dapat mula satu lampiran karekter. (“&” berkemungkinan harus dikeluarkan sebagai “&amp;”.)
+errQuoteBeforeAttributeName=Wujudnya satu pembida apabila menjangkakan nama atribut. Kemungkinan punca: “=” hilang secara tiba-tiba sebelumya.
+errLtInAttributeName=“<“ pada nama atribut. Kemungkinan punca: “>“ hilang secara tiba-tiba sebelumya.
+errQuoteInAttributeName=Petikan dalam atribut nama. Mungkin berpunca: Petikan yang bersamaan hilang dimana awalannya.
+errExpectedPublicId=Dijangka pengecam sistem tetapi doctype telah berakhir.
+errBogusDoctype=Doctype palsu.
+maybeErrAttributesOnEndTag=tag penutup mempunyai atribut-atribut.
+maybeErrSlashInEndTag=Lilau “/” pada penghujung tag akhir.
+errNcrNonCharacter=Rujukan aksara berkembang kepada bukan-aksara.
+errNcrSurrogate=Rujukan karakter mengembang kepada sifar.
+errNcrControlChar=Rujukan aksara berkembang menjadi aksara kawalan.
+errNcrCr=rujukan aksara bernombor telah berkembang ke destinasi pengembalian
+errNcrInC1Range=Rujukan aksara bernombor telah berkembang ke julat pengawalan C1.
+errEofInPublicId=Penghujung fail di dalam pengenal pasti umum..
+errEofInComment=Akhir fail di dalam comment.
+errEofInDoctype=Penghujung fail di dalam doctype.
+errEofInAttributeValue=Penghujung fail dicapai ketika di dalam nilai atribut. Abaikan tag.
+errEofInAttributeName=Penghujung fail berlaku pada satu nama atribut. Abaikan tag.
+errEofWithoutGt=Lihat dokumen yang terakhir tanpa ulangan tag pengakhiran “>”. Mengabaikan tag.
+errEofInTagName=Penghujung fail ketika mencari nama tag. Mengabaikan tag.
+errEofInEndTag=Penghujung fail di dalam tag akhir. Abaikan tag.
+errEofAfterLt=Akhir fail selepas “<”.
+errNcrOutOfRange=Character diluar julat Unicode dibenarkan merujuk.
+errNcrUnassigned=Rujukan aksara mengembang ke satu titik kod yang kekal tidak ditugaskan.
+errDuplicateAttribute=Buat salinan atribut.
+errEofInSystemId=Penghujung fail di dalam pengenal pasti sistem.
+errExpectedSystemId=Dijangka pengecam sistem tetapi doctype telah berakhir.
+errMissingSpaceBeforeDoctypeName=Ruang yang hilang sebelum doctype nama.
+errNcrZero=Rujukan karakter mengembang kepada sifar.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=Tiada ruang di antara kata kunci doctype “SYSTEM” dan petikan.
+errNoSpaceBetweenPublicAndSystemIds=Tiada ruang di antara orang ramai doctype dan pengenalan sistem.
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=Tiada ruang di antara kata kunci doctype “PUBLIC” dan petikan.
+
+# Tree builder errors
+errStrayStartTag2=Tag permulaan lilau “%1$S”.
+errStrayEndTag=Tag pengakhiran lilau “%1$S”.
+errUnclosedElements=Tag akhir “%1$S” dilihat, tetapi terdapat elemen yang terbuka.
+errUnclosedElementsImplied=Tag akhir “%1$S” tersirat, tetapi terdapat elemen yang terbuka.
+errUnclosedElementsCell=Rekod jadual telah ditutup sepenuhnya, tetapi mempunyai elemen terbuka.
+errStrayDoctype=Doctype lilau.
+errAlmostStandardsDoctype=Mod doctype hampir piawai. Menjangkakan “<!DOCTYPE html>”.
+errQuirkyDoctype=Kepelikan doctype. Dijangka “<!DOCTYPE html>”.
+errNonSpaceInTrailer=Bukan ruang aksara dalam halaman treler.
+errNonSpaceAfterFrameset=Non-space selepas “frameset”.
+errNonSpaceInFrameset=Non-space dalam “frameset”.
+errNonSpaceAfterBody=Tiada aksara beruang selepas isi.
+errNonSpaceInColgroupInFragment=Tak beruang dalam “colgroup” ketika menghuraikan fragmen.
+errNonSpaceInNoscriptInHead=Aksara tidak beruang dalam “noscript” inside “head”.
+errFooBetweenHeadAndBody=“%1$S” unsur antara “head” and “body”.
+errStartTagWithoutDoctype=Memulakan tag yang dilihat tanpa melihat doctype terlebih dahulu. Dijangka “<!DOCTYPE html>”.
+errNoSelectInTableScope=Tiada “select” dalam skop meja.
+errStartSelectWhereEndSelectExpected=“select” dimana tag mula akhir tag dijangka.
+errStartTagWithSelectOpen=“%1$S” memulakan tag dengan “select” terbuka.
+errImage=Melihat tanda mula “image”.
+errHeadingWhenHeadingOpen=Tajuk tidak boleh merujuk tajuk lain.
+errFramesetStart=Tag permulaan “frameset” dilihat.
+errNoCellToClose=Tiada sel untuk ditutup.
+errStartTagInTable=Tag mula “%1$S” dilihat dalam “table”.
+errFormWhenFormOpen=Terlihat tag mula “form”, tetapi telah terdapat elemen “form” yang aktif. Borang bersarang adalah tidak dibenarkan. Mengabaikan tag.
+errTableSeenWhileTableOpen=Tag mula bagi “table” dilihat tetapi “table” sebelum masih terbuka.
+errStartTagInTableBody=“%1$S” tag mula dalam kotak body.
+errEndTagSeenWithoutDoctype=Mengakhiri tag yang nampak tanpa melihat doctype terlebih dahulu. Dijangka “<!DOCTYPE html>”.
+errEndTagAfterBody=Melihat tag akhir selepas “body” ditutup.
+errEndTagSeenWithSelectOpen=“%1$S” tag akhir dengan “select” terbuka.
+errGarbageInColgroup=Sampah dalam fragmen “colgroup”.
+errEndTagBr=Tag akhir “br”.
+errNoElementToCloseButEndTagSeen=Tiada elemen “%1$S” dalam skop tetapi tag akhir “%1$S” dilihat.
+errHtmlStartTagInForeignContext=Tag mula HTML “%1$S” di dalam konteks ruangan nama asing.
+errNoTableRowToClose=Tiada baris jadual untuk ditutup.
+errNonSpaceInTable=Kesilapan karakter tiada ruang di dalam jadual
+errUnclosedChildrenInRuby=Elemen children tidak bertutup dalam “ruby”.
+errStartTagSeenWithoutRuby=Tag mula “%1$S” dilihat tanpa elemen “ruby” terbuka.
+errSelfClosing=Sintaks penutupan sendiri (“/>”) digunakan pada elemen HTML yang sah. Abaikan tanda / dan menganggap sebagai tag mula.
+errNoCheckUnclosedElementsOnStack=Elemen tak tertutup pada tindanan.
+errEndTagDidNotMatchCurrentOpenElement=Tag akhir “%1$S” tidak sama dengan nama elemen terbuka (“%2$S”) semasa.
+errEndTagViolatesNestingRules=Tag akhir “%1$S” mengingkari panduan penetasan.
+errEndWithUnclosedElements=Tag akhir “%1$S” dilihat, tetapi terdapat elemen yang terbuka.
+
+EncXmlDecl=The character encoding of an HTML document was declared using the XML declaration syntax. This is non-conforming, and declaring the encoding using a meta tag at the start of the head part is more efficient.
+EncMetaTooLate=A meta tag attempting to declare the character encoding declaration was found too late, and the encoding was guessed from content instead. The meta tag needs to be moved to the start of the head part of the document.
+EncMetaTooLateFrame=A meta tag attempting to declare the character encoding declaration was found too late, and the encoding of the parent document was used instead. The meta tag needs to be moved to the start of the head part of the document.
+EncMetaAfterHeadInKilobyte=The meta tag declaring the character encoding of the document should be moved to start of the head part of the document.
+EncNoDecl=The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
+EncNoDeclPlain=The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
+EncMetaReplacement=A meta tag was used to declare an encoding that is a cross-site scripting hazard. The replacement encoding was used instead.
+EncProtocolReplacement=An encoding that is a cross-site scripting hazard was declared on the transfer protocol level. The replacement encoding was used instead.
+EncDetectorReload=The character encoding of the document was not declared, and the encoding was guessable from content only late. This caused the document to be reloaded. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
+EncDetectorReloadPlain=The character encoding of the document was not declared, and the encoding was guessable from content only late. This caused the document to be reloaded. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
+EncError=The byte stream was erroneous according to the character encoding that was declared. The character encoding declaration may be incorrect.
+EncErrorFrame=The byte stream was erroneous according to the character encoding that was inherited from the parent document. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
+EncErrorFramePlain=The byte stream was erroneous according to the character encoding that was inherited from the parent document. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
+EncSpeculationFailMeta=The start of the document was reparsed, because there were non-ASCII characters before the meta tag that declared the encoding. The meta should be the first child of head without non-ASCII comments before.
+EncSpeculationFailXml=The start of the document was reparsed, because there were non-ASCII characters in the part of the document that was unsuccessfully searched for a meta tag before falling back to the XML declaration syntax. A meta tag at the start of the head part should be used instead of the XML declaration syntax.
+# The audience of the following message isn't the author of the document but other people debugging browser behavior.
+EncSpeculationFail2022=The start of the document was reparsed, because ISO-2022-JP is an ASCII-incompatible encoding.
+errNestedComment=Saw “<!--” within a comment. Probable cause: Nested comment (not allowed).
+# Tree builder errors
+errDeepTree=The document tree is too deep. The tree will be flattened to be 513 elements deep.
+errAlmostStandardsDoctypeVerbose=This page is in Almost Standards Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
+errQuirkyDoctypeVerbose=This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
+errBadStartTagInNoscriptInHead=Bad start tag “%1$S” in “noscript” in “head”.
+errFooSeenWhenFooOpen2=Start tag “%1$S” seen but an element of the same type was already open.
+errListUnclosedStartTags=Unclosed element or elements.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/xmlparser.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/xmlparser.properties
new file mode 100644
index 0000000000..5aca128025
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/xmlparser.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Map Expat error codes to error strings
+1 = kehabisan memori
+2 = ralat sintaks
+3 = tiada elemen ditemui
+4 = tidak berbaik-bentuk
+5 = token tidak ditutup
+6 = sebahagian aksara
+7 = tag tidak sepadan
+8 = atribut pendua
+9 = sampah selepas elemen dokumen
+10 = rujukan entiti parameter tidak sah
+11 = entiti tidak ditentukan
+12 = rujukan entiti rekursif
+13 = asynchronous entity
+14 = rujukan dakan nombor aksara tidak sah
+15 = rujukan kepada entiti binari
+16 = rujukan kepada entiti luaran dalam atribut
+17 = deklarasi XML atau teks tidak pada permulaan entiti
+18 = pengkodan tidak diketahui
+19 = pengkodan ditentukan dalam deklarasi XML tidak betul
+20 = seksyen CDATA tidak ditutup
+21 = ralat dalam memproses rujukan entiti luaran
+22 = dokumen bukanlah tersendiri
+23 = keadaan penghurai tidak dijangka
+24 = entiti diisytihar dalam entiti parameter
+27 = awalan tidak dijilid kepada ruang nama
+28 = hendaklah tidak mengisytihar prefix
+29 = markup tidak lengkap dalam entiti parameter
+30 = Pengishtiharan XML tidak dibentuk dengan baik
+31 = awalan mestilah tidak dijilid kepada salah satu dari ruang nama rizab URI
+32 = aksara(-aksara) tak sah dalam id awam
+38 = awalan terpelihara (xml) tidak perlu tidak diisytiharkan atau terikat kepada nama ruang nama yang lain
+39 = awalan yang dipinjam (xmlns) tidak perlu diisytiharkan atau tidak diisytiharkan
+40 = awalan tidak perlu terikat kepada salah satu daripada nama-nama ruang nama yang dipinjam
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = Ralat Penghurai XML: %1$S\nLokasi: %2$S\nNombor Baris %3$u, Kolum %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Dijangka: </%S>
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout_errors.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout_errors.properties
new file mode 100644
index 0000000000..5d8bf77878
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout_errors.properties
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ImageMapRectBoundsError=atribut "coords" tag <area shape="rect"> tidak dalam format "kiri,atas,kanan,bawah".
+ImageMapCircleWrongNumberOfCoords=atribut "coords" tag <area shape="circle"> tidak dalam format "center-x,center-y,radius".
+ImageMapCircleNegativeRadius=atribut "coords" tag <area shape="circle"> memiliki radius negatif.
+ImageMapPolyWrongNumberOfCoords=atribut "coords" tag <area shape="poly"> tidak dalam format "x1,y1,x2,y2 ...".
+ImageMapPolyOddNumberOfCoords=atribut "coords" tag <area shape="poly"> telah kehilangan kordinat "y" terakhir (ormat yang betul adalah "x1,y1,x2,y2 ...").
+
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea):
+## %1$S is an integer value of the area of the frame
+## %2$S is an integer value of the area of a limit based on the viewport size
+CompositorAnimationWarningContentTooLargeArea=Animasi tidak dapat dijalankan pada compositor ini kerana kawasan bingkai (%1$S) terlalu besar berbanding dengan viewport (lebih besar daripada %2$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2):
+## (%1$S, %2$S) is a pair of integer values of the frame size
+## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size
+## (%5$S, %6$S) is a pair of integer values of an absolute limit
+CompositorAnimationWarningContentTooLarge2=Animasi tidak dapat dijalankan pada kompositor ini kerana saiz bingkai (%1$S, %2$S) terlalu besar berbanding dengan viewport (lebih besar daripada (%3$S, %4$S)) atau lebih besar daripada nilai maksimum yang dibenarkan (%5$S,%6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=Transformasi animasi ‘backface-visibility: hidden’ tidak dapat dijalankan pada pengatur huruf
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=Transformasi animasi ‘transform’ dengan elemen SVG tidak dapat dijalan pada pengatur huruf
+CompositorAnimationWarningTransformWithGeometricProperties=Animasi ‘transform’ tidak boleh dijalankan pada pengatur huruf apabila sifat geometri dianimasi dengan elemen yang sama pada masa yang sama
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=Animasi ‘mengubah’ tidak dapat dijalankan pada kompositor ini kerana perlu diselaraskan dengan animasi sifat geometri yang bermula pada masa yang sama
+CompositorAnimationWarningTransformFrameInactive=Animasi tidak boleh dijalankan pada pengatur huruf kerana bingkai ditanda tidak aktif untuk animasi 'transform'
+CompositorAnimationWarningOpacityFrameInactive=Animasi tidak boleh dijalankan pada pengatur huruf kerana bingkai ditanda tidak aktif untuk animasi 'opacity'
+CompositorAnimationWarningHasRenderingObserver=Animasi tidak boleh dijalankan pada pengatur huruf kerana elemen ada rendering pemerhati (-moz-element atau SVG clipping/masking)
+
+
+ScrollLinkedEffectFound3=This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html for further details and to join the discussion on related tools and features!
+CompositorAnimationWarningTransformIsBlockedByImportantRules=Transform animation cannot be run on the compositor because transform-related properties are overridden by !important rules
+CompositorAnimationWarningHasCurrentColor=Animations of ‘background-color’ cannot be run on the compositor with ‘current-color’ keyframe.
+## LOCALIZATION NOTE: Do not translate zoom, calc(), "transform", "transform-origin: 0 0"
+ZoomPropertyWarning=This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”.
+## LOCALIZATION NOTE(PrincipalWritingModePropagationWarning):
+## Do not translate <html>, <body>, CSS, "writing-mode", "direction", "text-orientation", :root, and "The Principal Writing Mode" because they are technical terms.
+PrincipalWritingModePropagationWarning=When rendering the <html> element, the used values of CSS properties “writing-mode”, “direction”, and “text-orientation” on the <html> element are taken from the computed values of the <body> element, not from the <html> element’s own values. Consider setting these properties on the :root CSS pseudo-class. For more information see “The Principal Writing Mode” in https://www.w3.org/TR/css-writing-modes-3/#principal-flow
+## LOCALIZATION NOTE(ScrollAnchoringDisabledInContainer):
+## %1$S is an integer value with the total number of adjustments
+## %2$S is a floating point value with the average distance adjusted
+## %3$S is a floating point value with the total adjusted distance
+ScrollAnchoringDisabledInContainer=Scroll anchoring was disabled in a scroll container because of too many consecutive adjustments (%1$S) with too little total distance (%2$S px average, %3$S px total).
+ForcedLayoutStart=Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/mathml/mathml.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/mathml/mathml.properties
new file mode 100644
index 0000000000..4a11092544
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/mathml/mathml.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+InvalidChild=Markup tidak sah: <%1$S> tidak dibenarkan sebagai anak untuk <%2$S>.
+ChildCountIncorrect=Markup tidak sah: Kesalahan nombor bagi children untuk <%1$S/> ditanda.
+DuplicateMprescripts=Markup tidak sah: Lebih daripada satu <mprescripts/> dalam <mmultiscripts/>.
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=Markup tidak sah: Mengharapkan hanya saru lement Base dalam <mmultiscripts/>. Tidak menemui apa-apa.
+SubSupMismatch=Markup tidak sah: Padanan subscript/superscript tidak sempurna dalam <mmultiscripts/>.
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=Ralat dalam nilai penghuraian '%1$S' untuk '%2$S' attribute kepada <%3$S/>. Attribute diabaikan.
+AttributeParsingErrorNoTag=Ralat dalam penghuraian nilai '%1$S' untuk attribute '%2$S'. Attribute diabaikan.
+LengthParsingError=Ralat dalam penguraian nilai attribute MathML '%1$S' sebagai panjang. Attribute diabaikan.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/narrate.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/narrate.properties
new file mode 100644
index 0000000000..395f7971f8
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/narrate.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+back = Undur
+forward = Seterusnya
+speed = Kelajuan
+selectvoicelabel = Suara:
+# Default voice is determined by the language of the document.
+defaultvoice = Piawai
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S)
+
+# "Listen, which allows users to listen to Firefox reading the text,
+# instead of having to read it themselves." This is the name
+# of the feature and it is the label for the popup button.
+# %S is the keyboard shortcut for the listen command
+listen-label = Listen (%S)
+# %S is the keyboard shortcut for the start command
+start-label = Start (%S)
+# %S is the keyboard shortcut for the stop command
+stop-label = Stop (%S)
+# Keyboard shortcut to toggle the narrate feature
+narrate-key-shortcut = N
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/nsWebBrowserPersist.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..d5ef05a8bd
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=%S tidak dapat disimpan kerana fail sumber tidak dapat dibaca.\n\n Cuba lagi kemudian atau hubungi pentadbir pelayan.
+writeError=%S tidak dapat disimpan, kerana rakat tidak diketahui berlaku.\n\nCuba menyimpan kepada loaksi berbeza.
+launchError=%S tidak dapat dibuka, kerana ralat tidak diketahui berlaku.\n\nuba menyimpan kepada cakera dahulu kemudian buka ffail.
+diskFull=Tidak terdapat ruang mencukupi pada akera untuk menyimpan %S.\n\nSingkir fail tidak berkaitan daripada cakera dan uba lagi, atau cuba simpan dalam lokasi berlainan.
+readOnly=%S tidak dapata disimpan, kerana cakera, folder, atau fail terlindung-tulis.\n\nBoleh-tuliskan cakera dan cuba lagi, atau uba menyimpan pada lokasi berbeza.
+accessError=%S tidak dapat disimpan, kerana anda tidak boleh menukar kandungan folder berkenaan.\n\nTukar iri folder dan cuba lagi, atau cuba menyimpan di lokasi berbeza.
+SDAccessErrorCardReadOnly=Tidak boleh muat turun fail kerana kad SD sedang digunakan.
+SDAccessErrorCardMissing=Tidak boleh muat turun fail kerana kad SD tidak ditemui.
+helperAppNotFound=%S tidak dapat dibuka, kerana aplikasi pembantu yang dikaitkan tidak wujud. Tukar perkaitan dalam keutamaan anda.
+noMemory=Tidak terdapat memori menukup untuk menyelesaikan tindakan yang anda pohon.\n\nKeluar sebahagian aplikasi dan cuba lagi.
+title=Memuaturun %S
+fileAlreadyExistsError=%S tidak dapat disimpan, kerana fail sedia wujud dengan nama sama seperti direktori '_files'.\n\nCuba menyimpan kepada lokasi berbeza.
+fileNameTooLongError=%S tidak dapat disimpan, kerana nama fail terlalu panjang.\n\nCuba menyimpan dengan nama fail lebih pendek.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printdialog.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printdialog.properties
new file mode 100644
index 0000000000..296d8f1a44
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printdialog.properties
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# These strings are used in the native GTK, Mac and Windows print dialogs.
+
+# GTK titles:
+printTitleGTK=Cetak
+optionsTabLabelGTK=Pilihan
+
+# Mac titles:
+optionsTitleMac=Pilihan:
+appearanceTitleMac=Penampilan:
+pageHeadersTitleMac=Pengepala Halaman:
+pageFootersTitleMac=Pengaki Halaman:
+
+# Windows titles:
+optionsTitleWindows=Pilihan
+
+# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _
+# before a character will turn that character into an accesskey in the GTK dialog.
+# e.g. "_As laid out" will make A the accesskey.
+# In the Windows labels, use an ampersand (&).
+# On Mac, underscores will be stripped.
+
+shrinkToFit=Abaikan Perubahan Skala dan Mengecut Untuk Menyesuaikan Lebar Halaman
+selectionOnly=Cetak Pilihan _Sahaja
+printBGOptions=Cetak latar belakang
+printBGColors=Cetak Warna Latar Belakang
+printBGImages=Cetak I_mej Laman Belakang
+headerFooter=Pengepala dan Pengaki
+left=Kiri
+center=Tengah
+right=Kanan
+headerFooterBlank=--kosong--
+headerFooterTitle=Tajuk
+headerFooterURL=URL
+headerFooterDate=Tarikh/Masa
+headerFooterPage=Halaman #
+headerFooterPageTotal=Halaman # daripada #
+headerFooterCustom=Penyesuaian…
+customHeaderFooterPrompt=Sila masukkan teks tajuk/nota kaki khas anda
+
+summarySelectionOnlyTitle=Cetak Pilihan
+summaryShrinkToFitTitle=Mengecil Untuk Muat
+summaryPrintBGColorsTitle=Cetak warna BG
+summaryPrintBGImagesTitle=Cetak gambar BG
+summaryHeaderTitle=Pengepala Halaman
+summaryFooterTitle=Kaki Laman
+summaryNAValue=N/A
+summaryOnValue=Aktif
+summaryOffValue=Nyahaktif
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printing.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printing.properties
new file mode 100644
index 0000000000..71698849d7
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printing.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page number formatting
+## @page_number The current page number
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formatting
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d daripada %2$d
+
+PrintToFile=Cetak Ke Fail
+print_error_dialog_title=Ralat Pencetak
+printpreview_error_dialog_title=Ralat Previu Cetak
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=Ada ralat ketika mencetak.
+
+PERR_ABORT=Kerja mencetak diabaikan, atau dibatalkan.
+PERR_NOT_AVAILABLE=Sesetengah fungsi mencetak yang tidak tersedia.
+PERR_NOT_IMPLEMENTED=Terdapat fungsian mencetak tidak lagi diimplemen.
+PERR_OUT_OF_MEMORY=Memori bebas tidak mencukupi untuk mencetak.
+PERR_UNEXPECTED=Terdapat masalah tidak dijangka ketika mencetak.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Tiada pencetak tersedia.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Tiada pencetak tersedia, tidak dapat memaparkan previu cetakan.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=Pencetak yang dipilih tidak dapat ditemui.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Gagal membuka fail output untuk cetak ke fail.
+PERR_GFX_PRINTER_STARTDOC=Mencetak gagal ketika memulakan tugas mencetak.
+PERR_GFX_PRINTER_ENDDOC=Mencetak gagal ketika menyelesaikan tugas mencetak.
+PERR_GFX_PRINTER_STARTPAGE=Mencetak gagal ketika memulakan laman baru.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Belum dapat mencetak dokumen ini, masih lagi dimuatkan.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Tidak boleh previu cetakan dokumen ini lagi kerana sedang dimuatkan.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/resetProfile.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/resetProfile.properties
new file mode 100644
index 0000000000..b5f4c4530a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/resetProfile.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for profile reset.
+
+# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
+resetUnusedProfile.message=Anda masih belum memulakan %S. Adakah anda mahu memulakannya semula seperti pengalaman baru? Walau bagaimanapun, selamat kembali!
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=Anda baru saja memasang semula %S. Anda mahu kami membersihkannya menjadi seperti baru?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=Muat semula %S…
+refreshProfile.resetButton.accesskey=e
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/caps.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/caps.properties
new file mode 100644
index 0000000000..5797f65bbb
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/caps.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CheckLoadURIError = Ralat Sekuriti: Kandungan pada %S tidak dapat memuat atau memaut pada %S.
+CheckSameOriginError = Ralat Selamat: kandungan pada %S tidak dapat memuat data daripada %S.
+ExternalDataError = Ralat Keselamatan: Kandungan %S yang cuba dimuatkan %S, mungkin tidak boleh memuatkan data luaran apabila digunakan sebagai imej. 
+
+CreateWrapperDenied = Keizinan ditolak untuk mencipta pembalut objek kelas %S
+CreateWrapperDeniedForOrigin = Keizinan ditolak bagi <%2$S> untuk mencipta pembalut objek kelas %1$S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/csp.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/csp.properties
new file mode 100644
index 0000000000..9c4ecc38fa
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/csp.properties
@@ -0,0 +1,124 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# CSP Warnings:
+# LOCALIZATION NOTE (CSPViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPViolation = Tetapan halaman ini menyekat pemuatan sumber: %1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = Tetapan halaman ini disekat pemuatan sumber di %2$S ("%1$S").
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = Pencabulan berlaku untuk polisi hanya-laporan CSP ("%1$S"). Perilaku ini dibenarkan, dan laporan CSP telah dihantar.
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = Tetapan laman memerhatikan pemuatan sumber pada %2$S ("%1$S"). Laporan CSP sedang dihantar.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Telah cuba hantar laporan ke URI tidak sah: "%1$S"
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = Tidak boleh menghurai laporan URI: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = Tidak boleh proses arahan tidak diketahui '%1$S'
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = Mengabaikan pilihan tidak diketahui %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = Mengabaikan duplikasi sumber %1$S
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = Mengabaikan sumber ‘%1$S’ (Tidak disokong apabila dihantar via unsur meta).
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = Mengabaikan sumber “%1$S” (Hanya disokong dalam script-src).
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Kata kunci ‘strict-dynamic’ dalam “%1$S” dengan nonce atau hash yang tidak sah boleh menyekat semua skrip daripada dimuatkan
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = URL laporan (%1$S) perlulah URI HTTP atau HTTPS.\u0020
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = Laman ini (%1$S) ada polisi Lapor-Sahaja tanpa laporan URI. CSP tidak akan menyekat dan tidak boleh melaporkan pelanggaran polisi ini.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Gagal untuk menghuraikan sumber tak dikenali %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = Menaik taraf permintaan tidak selamat ‘%1$S untuk menggunakan‘‘%2$S’
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Mengabaikan srcs bagi direktif ‘%1$S’
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = Mentafsir %1$S sebagai nama hos, bukannya kata kunci. Jika anda berhasrat menjadikannya kata kunci, gunakan '%2$S' (dibungkus dengan tanda petikan tunggal).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = Arahan ‘%1$S’ tidak disokong. Arahan dan nilai akan diabaikan.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = Menyekat permintaan tidak selamat ‘%1$S’.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values (e.g., 'require-sri-for')
+ignoringDirectiveWithNoValues = Mengabaikan ‘%1$S’ kerana ia tidak mengandungi sebarang parameter.
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = Mengabaikan direktif sandbox apabila dihantar dalam polisi laporan-sahaja ‘%1$S’
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=Mengabaikan ‘%1$S’ kerana arahan ‘%2$S’.
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Gagal menghuraikan sumber yang tidak sah %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Tidak boleh hurai hos tidak sah %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Tidak boleh hurai port dalam %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Duplikasi %1$S arahan telah dikesan. Kesemua tetapi contoh pertama telah diabaikan.
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = Tidak dapat menghuraikan sandbox flag yang tidak sah ‘%1$S’
+
+
+# LOCALIZATION NOTE (ignoringNonAsciiToken):
+# %1$S defines the name of the directive
+# %2$S is the token string containing non-ASCII characters.
+ignoringNonAsciiToken = Ignoring directive ‘%1$S’ with the non-ASCII token ‘%2$S’
+# LOCALIZATION NOTE (ignoringSrcWithinNonceOrHashDirective):
+# %1$S is the ignored src (e.g. "unsafe-inline")
+# %2$S is the directive (e.g. "script-src-elem")
+ignoringSrcWithinNonceOrHashDirective = Ignoring “%1$S” within %2$S: nonce-source or hash-source specified
+# LOCALIZATION NOTE (ignoringScriptSrcForStrictDynamic):
+# %1$S is the ignored src
+# %1$S is the directive src (e.g. "script-src-elem")
+# 'strict-dynamic' should not be localized
+ignoringScriptSrcForStrictDynamic = Ignoring “%1$S” within %2$S: ‘strict-dynamic’ specified
+# LOCALIZATION NOTE (ignoringUnsafeEval):
+# %1$S is the csp directive (e.g. script-src-elem)
+# 'unsafe-eval' and 'wasm-unsafe-eval' should not be localized
+ignoringUnsafeEval = Ignoring ‘unsafe-eval’ or ‘wasm-unsafe-eval’ inside “%1$S”.
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = Ignoring source “%1$S” (Not supported within ‘%2$S’).
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+obsoleteBlockAllMixedContent = Ignoring ‘%1$S’ because mixed content display upgrading makes block-all-mixed-content obsolete.
+# LOCALIZATION NOTE (CSPMessagePrefix):
+# Do not translate "Content-Security-Policy", only handle spacing for the colon.
+# %S is a console message that is being prefixed here.
+CSPMessagePrefix = Content-Security-Policy: %S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/security.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/security.properties
new file mode 100644
index 0000000000..eae9ae5d59
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/security.properties
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mixed Content Blocker
+# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
+BlockMixedDisplayContent = Menyekat memuat kandungan paparan bercampur "%1$S"
+BlockMixedActiveContent = Menyekat memuat kandungan aktif bercampur "%1$S"
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=Permintaan Asalan-Silang Disekat: Polisi Asalan Sama tidak membolehkan membaca sumber jauh di %1$S. (Alasan: CORS dinyahdayakan).
+CORSOriginHeaderNotAdded=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan membaca sumber jauh di %1$S. (Alasan: ‘Origin’ pengepala CORS tidak boleh ditambah).
+CORSExternalRedirectNotAllowed=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan membaca sumber jauh di %1$S. (Alasan: hala semula permintaan luaran CORS tidak dibenarkan).
+CORSRequestNotHttp=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: CORS meminta bukan http).
+CORSMultipleAllowOriginNotAllowed=Permintaan Asal-Silang Disekat: Polisi Asal Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: Berbilang pengepala ‘Access-Control-Allow-Origin’ CORS tidak dibenarkan.
+CORSAllowOriginNotMatchingOrigin=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: pengepala ‘Access-Control-Allow-Origin’ CORS tidak sepadan ‘%2$S’).
+CORSNotSupportingCredentials=Permintaan Asalan-Silang Disekat: Polisi Asalan Sama tidak membenarkan membaca sumber jauh di ‘%1$S’. (Alasan: Credential tidak disokong jika pengepala CORS ‘Access-Control-Allow-Origin’ is ‘*’).
+CORSMethodNotFound=Cross-Origin Request Disekat: Polisi Asalan Sama tidak membenarkan sumber remote di %1$S dibaca. (Alasan: Tiada kaedah yang ditemui dalam pengepala ‘Access-Control-Allow-Methods’ CORS).
+CORSMissingAllowCredentials=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: jangkaan ‘benar’ dalam pengepala ‘Access-Control-Allow-Credentials’ CORS).
+CORSInvalidAllowMethod=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: token ‘%2$S’ tidak sah dalam pengepala ‘Access-Control-Allow-Methods’ CORS).
+CORSInvalidAllowHeader=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: token ‘%2$S’ tidak sah dalam pengepala ‘Access-Control-Allow-Headers’ CORS).
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security: Ada ralat yang tidak diketahui semasa memproses pengepala yang ditetapkan oleh laman ini.
+STSCouldNotParseHeader=Strict-Transport-Security: Laman ini menyatakan pengepala yang tidak berjaya dihurai.
+STSNoMaxAge=Strict-Transport-Security: Laman ini menyatakan pengepala yang idak mengandungi direktif ‘max-age’.
+STSMultipleMaxAges=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi pelbagai direktif ‘max-age’.
+STSInvalidMaxAge=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi direktif ‘max-age’ yang tidak sah.
+STSMultipleIncludeSubdomains=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi pelbagai direktif ‘includeSubDomains’.
+STSInvalidIncludeSubdomains=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi direktif ‘includeSubDomains’ yang tidak sah.
+STSCouldNotSaveState=Strict-Transport-Security: Ada ralat mencatat laman ini sebagai hos Strict-Transport-Security.
+
+InsecurePasswordsPresentOnPage=Medan kata laluan dipersembahkan pada laman (http://) yang tidak selamat. Ini merupakan risiko keselamatan yang membenarkan kelayakan pengguna log masuk dicuri.
+InsecureFormActionPasswordsPresent=Medan kata laluan dipersembahkan pada laman (http://) yang tidak selamat. Ini merupakan risiko keselamatan yang membenarkan kelayakan pengguna log masuk dicuri.
+InsecurePasswordsPresentOnIframe=Medan kata laluan dipersembahkan pada iframe (http://) yang tidak selamat. Ini merupakan risiko keselamatan yang membenarkan kelayakan pengguna log masuk dicuri.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Memuatkan kandungan aktif bercampur (tidak selamat) pada laman selamat "%1$S"
+LoadingMixedDisplayContent2=Memuatkan kandungan paparan bercampur (tidak selamat) pada laman selamat "%1$S"
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=Untuk iframe yang mempunyai kedua-dua skrip membenarkan dan membolehkan-sama-asal untuk atribut sandbox yang boleh mengalih keluar dengan sandboxing.
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=Elemen script mengandungi cincang yang rosak dalam atribut integrity “%1$S”. Format yang betul ialah “<hash algorithm>-<hash value>”.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=Cincang yang terkandung dalam atribut integrity tersalah panjang.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=Cincang yang terkandung dalam atribut integrity tidak boleh dinyahkod.
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource=“%1$S” tidak layak untuk semakan integriti kerana CORS-samada tidak didayakan atau tidak sama-asal.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=Algoritma hash dalam atribut integrity tidak disokong: “%1$S”
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=Atribut integrity tidak mengandungi sebarang metadata yang sah.
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Laman ini menggunakan sifer RC4 untuk enkripsi, yang tidak sesuai dan tidak selamat.
+
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not trasnlate "nosniff".
+XCTOHeaderValueMissing=Amaran pengepala X-Content-Type-Options: nilainya ialah “%1$S”; adakah anda bermaksud mahu menghantar “nosniff”?
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=Navigasi ke data tahaptinggi: URI tidak dibenarkan (Sekat memuat: “%1$S”)
+
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=Pengepala Clear-Site-Data memaksa pembersihan data “%S”.
+UnknownClearSiteDataValue=Pengepala Clear-Site-Data ditemui. Nilai tidak diketahui “%S”.
+
+FeaturePolicyUnsupportedFeatureName=Polisi Ciri: Melangkau ciri nama “%S” yang tidak disokong.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidEmptyAllowValue= Polisi Ciri: Melangkau senarai kosong dibenarkan untuk ciri: “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidAllowValue=Polisi Ciri: Melangkau nilai “%S” dibenarkan yang tidak disokong.
+
+
+CORSDidNotSucceed2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS request did not succeed). Status code: %2$S.
+CORSMissingAllowOrigin2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: %2$S.
+CORSPreflightDidNotSucceed3=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS preflight response did not succeed). Status code: %2$S.
+CORSMissingAllowHeaderFromPreflight2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: header ‘%2$S’ is not allowed according to header ‘Access-Control-Allow-Headers’ from CORS preflight response).
+CORSAllowHeaderFromPreflightDeprecation=Cross-Origin Request Warning: The Same Origin Policy will disallow reading the remote resource at %1$S soon. (Reason: When the `Access-Control-Allow-Headers` is `*`, the `Authorization` header is not covered. To include the `Authorization` header, it must be explicitly listed in CORS header `Access-Control-Allow-Headers`).
+LoadingMixedDisplayObjectSubrequestDeprecation=Loading mixed (insecure) content “%1$S” within a plugin on a secure page is discouraged and will be blocked soon.
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+MixedContentBlockedDownload = Blocked downloading insecure content “%S”.
+# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe"
+BothAllowTopNavigationAndUserActivationPresent=An iframe which has both allow-top-navigation and allow-top-navigation-by-user-activation for its sandbox attribute will permit top navigations.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorithm in use (e.g. "sha256"). "%2$S" is the value we saw.
+IntegrityMismatch2=None of the “%1$S” hashes in the integrity attribute match the content of the subresource. The computed hash is “%2$S”.
+DeprecatedTLSVersion2=This site uses a deprecated version of TLS. Please upgrade to TLS 1.2 or 1.3.
+#XCTO: nosniff
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff".
+MimeTypeMismatch2=The resource from “%1$S” was blocked due to MIME type (“%2$S”) mismatch (X-Content-Type-Options: nosniff).
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XTCOWithMIMEValueMissing=The resource from “%1$S” was not rendered due to an unknown, incorrect or missing MIME type (X-Content-Type-Options: nosniff).
+BlockScriptWithWrongMimeType2=Script from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+WarnScriptWithWrongMimeType=The script from “%1$S” was loaded even though its MIME type (“%2$S”) is not a valid JavaScript MIME type.
+# LOCALIZATION NOTE: Do not translate "importScripts()"
+BlockImportScriptsWithWrongMimeType=Loading script from “%1$S” with importScripts() was blocked because of a disallowed MIME type (“%2$S”).
+BlockWorkerWithWrongMimeType=Loading Worker from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+BlockModuleWithWrongMimeType=Loading module from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+BlockRedirectToDataURI=Redirecting to data: URI not allowed (Blocked loading of: “%1$S”)
+# LOCALIZATION NOTE: Do not translate "file: URI". “%1$S” is the whole URI of the loaded file. “%2$S” is the MIME type e.g. "text/plain".
+BlockFileScriptWithWrongMimeType=Loading script from file: URI (“%1$S”) was blocked because its MIME type (“%2$S”) is not a valid JavaScript MIME type.
+# LOCALIZATION NOTE: “%S” is the whole URI of the loaded file.
+BlockExtensionScriptWithWrongExt=Loading script with URI “%S” was blocked because the file extension is not allowed.
+RestrictBrowserEvalUsage=eval() and eval-like uses are not allowed in the Parent Process or in System Contexts (Blocked usage in “%1$S”)
+# LOCALIZATION NOTE (MixedContentAutoUpgrade):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+MixedContentAutoUpgrade=Upgrading insecure display request ‘%1$S’ to use ‘%2$S’
+# Reporting API
+ReportingHeaderInvalidJSON=Reporting Header: invalid JSON value received.
+ReportingHeaderInvalidNameItem=Reporting Header: invalid name for group.
+ReportingHeaderDuplicateGroup=Reporting Header: ignoring duplicated group named “%S”.
+ReportingHeaderInvalidItem=Reporting Header: ignoring invalid item named “%S”.
+ReportingHeaderInvalidEndpoint=Reporting Header: ignoring invalid endpoint for item named “%S”.
+# LOCALIZATION NOTE(ReportingHeaderInvalidURLEndpoint): %1$S is the invalid URL, %2$S is the group name
+ReportingHeaderInvalidURLEndpoint=Reporting Header: ignoring invalid endpoint URL “%1$S” for item named “%2$S”.
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerLengthOverLimitation=HTTP Referrer header: Length is over “%1$S” bytes limit - stripping referrer header down to origin: “%2$S”
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerOriginLengthOverLimitation=HTTP Referrer header: Length of origin within referrer is over “%1$S” bytes limit - removing referrer with origin “%2$S”.
+# LOCALIZATION NOTE: Do not translate "no-referrer-when-downgrade", "origin-when-cross-origin" and "unsafe-url". %S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingWarning=Referrer Policy: Less restricted policies, including ‘no-referrer-when-downgrade’, ‘origin-when-cross-origin’ and ‘unsafe-url’, will be ignored soon for the cross-site request: %S
+# LOCALIZATION NOTE: %1$S is the ignored referrer policy, %2$S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingMessage=Referrer Policy: Ignoring the less restricted referrer policy “%1$S” for the cross-site request: %2$S
+# X-Frame-Options
+# LOCALIZATION NOTE(XFrameOptionsInvalid): %1$S is the header value, %2$S is frame URI. Do not translate "X-Frame-Options".
+XFrameOptionsInvalid = Invalid X-Frame-Options header was found when loading “%2$S”: “%1$S” is not a valid directive.
+# LOCALIZATION NOTE(XFrameOptionsDeny): %1$S is the header value, %2$S is frame URI and %3$S is the parent document URI. Do not translate "X-Frame-Options".
+XFrameOptionsDeny=The loading of “%2$S” in a frame is denied by “X-Frame-Options“ directive set to “%1$S“.
+# HTTPS-Only Mode
+# LOCALIZATION NOTE: %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeRequest = Upgrading insecure request “%1$S” to use “%2$S”.
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = Not upgrading insecure request “%1$S” because it is exempt.
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = Upgrading insecure request “%1$S” failed. (%2$S)
+# LOCALIZATION NOTE: %S is the URL of the failed request;
+HTTPSOnlyFailedDowngradeAgain = Upgrading insecure request “%S” failed. Downgrading to “http” again.
+# LOCALIZATION NOTE: Hints or indicates a new transaction for a URL is likely coming soon. We use
+# a speculative connection to start a TCP connection so that the resource is immediately ready
+# when the transaction is actually submitted. HTTPS-Only and HTTPS-First will upgrade such
+# speculative TCP connections from http to https.
+# %1$S is the URL of the upgraded speculative TCP connection; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeSpeculativeConnection = Upgrading insecure speculative TCP connection “%1$S” to use “%2$S”.
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+IframeSandboxBlockedDownload = Download of “%S” was blocked because the triggering iframe has the sandbox flag set.
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+SandboxBlockedCustomProtocols = Blocked navigation to custom protocol “%S” from a sandboxed context.
+# Sanitizer API
+# LOCALIZATION NOTE: Please do not localize "DocumentFragment". It's the name of an API.
+SanitizerRcvdNoInput = Received empty or no input. Returning an empty DocumentFragment.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/svg/svg.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/svg/svg.properties
new file mode 100644
index 0000000000..9181923c5e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/svg/svg.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+AttributeParseWarning=Nilai tidak dijangka %2$S menghurai atribut %1$S.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/viewSource.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/viewSource.properties
new file mode 100644
index 0000000000..07ecb5a1ef
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/viewSource.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle = Pergi ke baris
+goToLineText = Masukkan nombor baris
+invalidInputTitle = Input tidak sah
+invalidInputText = Nombor baris dimasukkan tidak sah.
+outOfRangeTitle = Baris tidak ditemui
+outOfRangeText = Baris ditentukan tidak ditemui.
+viewSelectionSourceTitle = Pemilihan Sumber DOM
+
+context_goToLine_label = Pergi ke Baris…
+context_goToLine_accesskey = B
+context_wrapLongLines_label = Balut Baris Panjang
+context_highlightSyntax_label = Serlahan Sintaks
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/wizard.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/wizard.properties
new file mode 100644
index 0000000000..9bcd01d21a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/wizard.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+default-first-title=Selamat Datang ke %S
+default-last-title=Menyelesaikan %S
+default-first-title-mac=Pengenalan
+default-last-title-mac=Rumusan
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xslt/xslt.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xslt/xslt.properties
new file mode 100644
index 0000000000..2a9567a23f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xslt/xslt.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+1 = Menghurai lembaran gaya XSLT gagal.
+2 = Menghurai ekspresi XPath gagal.
+3 =
+4 = Pengubahan XSLT gagal.
+5 = Fungsi XSLT/XPath tidak sah.
+6 = Gaya-helaian XSLT (kemungkinan) mengandungi recursion.
+7 = Nilai atribut tidak sah dalam XSLT 1.0.
+8 = Ekpressi XPath telah dijangka untuk mengembalikan NodeSet.
+9 = Pengubahan XSLT ditamatkan oleh <xsl:message>.
+10 = Ralat rangkaian berlaku memuatkan lembaran gaya XSLT:
+11 = Lembaran gaya XSLT tidak mempunyai jenis mime XML:
+12 = Lembaran gaya XSLT secara terus atau tidak terus diimport atau termasuk dirinya sendiri:
+13 = Fungsi XPath telah dibatalkan dengan bilangan argumen yang salah .
+14 = Fungsi ekstensi XPath yang tidak diketahui telah dipanggil.
+15 = Kegagalan menghurai XPath: ')' dijangka:
+16 = Kegagalan menghurai XPath: paksi tidak sah:
+17 = Kegagalan menghurai XPath: Ujian Nama atau Jenis Nod dijangka:
+18 = Kegagalan menghurai XPath: ']' dijangka:
+19 = Kegagalan menghurai XPath: nama pembolehubah tidak sah:
+20 = Kegagalan menghurai XPath: akhir ungkapan tidak dijangka:
+21 = Kegagalan menghurai XPath: operator dijangka:
+22 = Kegagalan menghurai XPath: perkataan tidak bertutup:
+23 = Kegagalan menghurai XPath: ':' tidak dijangka:
+24 = Kegagalan menghurai XPath: '!' tidak dijangka, sangkalan not():
+25 = Kegagalan menghurai XPath: aksara tidak sah ditemui:
+26 = Kegagalan menghurai XPath: operator binari dijangka:
+27 = Memuat lembaran gaya XSLT telah disekat atas alasan keselamatan.
+28 = Penilaian ungkapan yang tidak sah.
+29 = Pengukuhan curly tidak seimbang.
+30 = Mereka cipta satu elemen dengan QName yang tidak sah.
+31 = pembolehubah yang sah akan menyamai pembolehubah yang sah dengan templat yang sama
+32 = Panggilan fungsi utama tidak dibenarkan.
+
+LoadingError = Ralat memuat helaian-gaya: %S
+TransformError = Ralat ketika transformasi XSLT: %S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xul.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xul.properties
new file mode 100644
index 0000000000..b3cffbc3e3
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xul.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+PINotInProlog=<?%1$S?> arahan pemprosesan tiada lagi kesan di luar prolog pengaturacaraan dalam logik (lihat pepijat 360119).