summaryrefslogtreecommitdiffstats
path: root/l10n-ms/mobile
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /l10n-ms/mobile
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--l10n-ms/mobile/android/chrome/about.dtd21
-rw-r--r--l10n-ms/mobile/android/chrome/aboutAccounts.dtd13
-rw-r--r--l10n-ms/mobile/android/chrome/aboutAccounts.properties16
-rw-r--r--l10n-ms/mobile/android/chrome/aboutAddons.dtd15
-rw-r--r--l10n-ms/mobile/android/chrome/aboutAddons.properties9
-rw-r--r--l10n-ms/mobile/android/chrome/aboutCertError.dtd38
-rw-r--r--l10n-ms/mobile/android/chrome/aboutDownloads.dtd15
-rw-r--r--l10n-ms/mobile/android/chrome/aboutDownloads.properties17
-rw-r--r--l10n-ms/mobile/android/chrome/aboutHome.dtd7
-rw-r--r--l10n-ms/mobile/android/chrome/aboutLogins.dtd10
-rw-r--r--l10n-ms/mobile/android/chrome/aboutLogins.properties27
-rw-r--r--l10n-ms/mobile/android/chrome/aboutPrivateBrowsing.dtd25
-rw-r--r--l10n-ms/mobile/android/chrome/browser.properties476
-rw-r--r--l10n-ms/mobile/android/chrome/config.dtd21
-rw-r--r--l10n-ms/mobile/android/chrome/config.properties9
-rw-r--r--l10n-ms/mobile/android/chrome/devicePrompt.properties5
-rw-r--r--l10n-ms/mobile/android/chrome/passwordmgr.properties22
-rw-r--r--l10n-ms/mobile/android/chrome/phishing.dtd27
-rw-r--r--l10n-ms/mobile/android/chrome/pippki.properties84
-rw-r--r--l10n-ms/mobile/android/chrome/sync.properties12
-rw-r--r--l10n-ms/mobile/android/chrome/webcompatReporter.properties12
-rw-r--r--l10n-ms/mobile/android/defines.inc14
-rw-r--r--l10n-ms/mobile/chrome/region.properties22
-rw-r--r--l10n-ms/mobile/overrides/appstrings.properties41
-rw-r--r--l10n-ms/mobile/overrides/netError.dtd206
25 files changed, 1164 insertions, 0 deletions
diff --git a/l10n-ms/mobile/android/chrome/about.dtd b/l10n-ms/mobile/android/chrome/about.dtd
new file mode 100644
index 0000000000..21948224bd
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/about.dtd
@@ -0,0 +1,21 @@
+<!-- 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/. -->
+<!ENTITY aboutPage.title "Perihal &brandShortName;">
+<!ENTITY aboutPage.warningVersion "&brandShortName; masih dalam percubaan dan mungkin tidak stabil.">
+<!ENTITY aboutPage.checkForUpdates.link "Semak Kemaskini »">
+<!ENTITY aboutPage.checkForUpdates.checking "Mencari kemaskini…">
+<!ENTITY aboutPage.checkForUpdates.none "Tiada kemaskini tersedia">
+<!ENTITY aboutPage.checkForUpdates.available2 "Muat turun kemaskini">
+<!ENTITY aboutPage.checkForUpdates.downloading "Memuat turun kemaskini…">
+<!ENTITY aboutPage.checkForUpdates.downloaded2 "Pasang kemaskini">
+<!ENTITY aboutPage.faq.label "FAQ">
+<!ENTITY aboutPage.support.label "Sokongan">
+<!ENTITY aboutPage.privacyPolicy.label "Polisi Privasi">
+<!ENTITY aboutPage.rights.label "Ketahui Hak Anda">
+<!ENTITY aboutPage.relNotes.label "Nota Keluaran">
+<!ENTITY aboutPage.credits.label "Kredit">
+<!ENTITY aboutPage.license.label "Maklumat Perlesenan">
+
+<!-- LOCALIZATION NOTE (aboutPage.logoTrademark): The message is explicitly about the word "Firefox" being trademarked, that's why we use it, instead of brandShortName. -->
+<!ENTITY aboutPage.logoTrademark "Firefox dan logo Firefox adalah cap dagangan Mozilla Foundation.">
diff --git a/l10n-ms/mobile/android/chrome/aboutAccounts.dtd b/l10n-ms/mobile/android/chrome/aboutAccounts.dtd
new file mode 100644
index 0000000000..7fdbb71afa
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutAccounts.dtd
@@ -0,0 +1,13 @@
+<!-- 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/. -->
+
+<!ENTITY aboutAccounts.connected.title "Akaun Firefox">
+<!ENTITY aboutAccounts.connected.description "Anda dihubungkan sebagai">
+<!ENTITY aboutAccounts.syncPreferences.label "Tap di sini untuk menyemak tetapan Sync">
+
+<!ENTITY aboutAccounts.noConnection.title "Tiada sambungan internet">
+<!ENTITY aboutAccounts.retry.label "Cuba lagi">
+
+<!ENTITY aboutAccounts.restrictedError.title "Terhad">
+<!ENTITY aboutAccounts.restrictedError.description "Anda tidak boleh urus Akaun Firefox dari profil ini.">
diff --git a/l10n-ms/mobile/android/chrome/aboutAccounts.properties b/l10n-ms/mobile/android/chrome/aboutAccounts.properties
new file mode 100644
index 0000000000..0ddd135933
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutAccounts.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/.
+
+# LOCALIZATION NOTE (relinkDenied.message): Ideally, this string is short (it's
+# a toast message).
+relinkDenied.message = Anda sudah daftar masuk Sync!
+# LOCALIZATION NOTE (relinkDenied.openPrefs): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+relinkDenied.openPrefs = PREFS
+
+relinkVerify.title = Adakah anda pasti mahu daftar masuk Sync?
+# LOCALIZATION NOTE (relinkVerify.message): Email address of a user previously signed in to Sync.
+relinkVerify.message = Anda pernah mendaftar masuk Sync menggunakan alamat e-mel lain sebelum ini. Mendaftar masuk akan mencantumkan tandabuku, kata laluan dan tetapan lain pelayar ini dengan %S
+relinkVerify.continue = Teruskan
+relinkVerify.cancel = Batal
diff --git a/l10n-ms/mobile/android/chrome/aboutAddons.dtd b/l10n-ms/mobile/android/chrome/aboutAddons.dtd
new file mode 100644
index 0000000000..39103b02b8
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutAddons.dtd
@@ -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/. -->
+
+<!ENTITY aboutAddons.title2 "Add-ons">
+<!ENTITY aboutAddons.header2 "Add-ons Anda">
+
+<!ENTITY addonAction.enable "Dayakan">
+<!ENTITY addonAction.disable "Nyahdayakan">
+<!ENTITY addonAction.uninstall "Nyahpasang">
+<!ENTITY addonAction.undo "Batal">
+<!ENTITY addonAction.update "Kemaskini">
+
+<!ENTITY addonUnsigned.message "Add-on ini tidak dapat disahkan oleh &brandShortName;.">
+<!ENTITY addonUnsigned.learnMore "Ketahui selanjutnya">
diff --git a/l10n-ms/mobile/android/chrome/aboutAddons.properties b/l10n-ms/mobile/android/chrome/aboutAddons.properties
new file mode 100644
index 0000000000..83b08cc547
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutAddons.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/.
+
+addonStatus.uninstalled=%S akan dinyahpasang selepas anda mula semula.
+
+addons.browseAll=Layari semua Add-ons Firefox
+
+addon.options=Pilihan
diff --git a/l10n-ms/mobile/android/chrome/aboutCertError.dtd b/l10n-ms/mobile/android/chrome/aboutCertError.dtd
new file mode 100644
index 0000000000..995fc08bcd
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutCertError.dtd
@@ -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/. -->
+
+<!ENTITY % brandDTD
+ SYSTEM "chrome://branding/locale/brand.dtd">
+ %brandDTD;
+
+<!-- These strings are used by Firefox's custom about:certerror page,
+a replacement for the standard security certificate errors produced
+by NSS/PSM via netError.xhtml. -->
+
+<!ENTITY certerror.pagetitle "Sambungan Tidak Dipercayai">
+<!ENTITY certerror.longpagetitle "Sambungan ini Tidak Dipercayai">
+
+<!-- Localization note (certerror.introPara1) - The string "#1" will
+be replaced at runtime with the name of the server to which the user
+was trying to connect. -->
+<!ENTITY certerror.introPara1 "Anda minta &brandShortName; untuk membuat sambungan
+selamat ke <b>#1</b>, tapi kami tidak dapat mengesahkan bahawa sambungan ini selamat.">
+
+<!ENTITY certerror.whatShouldIDo.heading "Apa Perlu Saya Buat?">
+<!ENTITY certerror.whatShouldIDo.content "Jika kebiasaanya anda disambung ke
+laman ini tanpa masalah, ralat ini bermakna ada seseorang
+cuba menyamar sebagai laman ini, dan anda tidak perlu teruskan.">
+<!ENTITY certerror.getMeOutOfHere.label "Keluarkan saya dari sini!">
+
+<!ENTITY certerror.expert.heading "Saya Faham akan Risiko ini">
+<!ENTITY certerror.expert.content "Jika anda faham apanya yang sedang berlaku, anda
+boleh memaklumkan &brandShortName; untuk mula percayakan identiti laman ini.
+<b>Malah jika anda percayakan laman ini, ralat ini bermakna ada seseorang
+mengganggu sambungan anda ini.</b>">
+<!ENTITY certerror.expert.contentPara2 "Jangan tambah pengecualian kecuali
+anda tahu ada alasan yang bagus laman ini tidak menggunakan pengenalan yang dipercayai.">
+<!ENTITY certerror.addTemporaryException.label "Lawat laman">
+<!ENTITY certerror.addPermanentException.label "Tambah pengecualian kekal">
+
+<!ENTITY certerror.technical.heading "Butiran Teknikal">
diff --git a/l10n-ms/mobile/android/chrome/aboutDownloads.dtd b/l10n-ms/mobile/android/chrome/aboutDownloads.dtd
new file mode 100644
index 0000000000..eceee34712
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutDownloads.dtd
@@ -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/. -->
+
+<!ENTITY aboutDownloads.title "Muat turun">
+<!ENTITY aboutDownloads.header "Muat Turun Anda">
+<!ENTITY aboutDownloads.empty "Tiada Muat turun">
+
+<!ENTITY aboutDownloads.open "Buka">
+<!ENTITY aboutDownloads.remove "Buang">
+<!ENTITY aboutDownloads.removeAll "Buang Semua">
+<!ENTITY aboutDownloads.pause "Jeda">
+<!ENTITY aboutDownloads.resume "Sambung">
+<!ENTITY aboutDownloads.cancel "Batal">
+<!ENTITY aboutDownloads.retry "Cuba lagi">
diff --git a/l10n-ms/mobile/android/chrome/aboutDownloads.properties b/l10n-ms/mobile/android/chrome/aboutDownloads.properties
new file mode 100644
index 0000000000..cab1418f9b
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutDownloads.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/.
+
+# LOCALIZATION NOTE (downloadMessage.deleteAll):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+downloadMessage.deleteAll=Buang #1 muat turun?
+
+downloadAction.deleteAll=Buang Semua
+
+downloadState.downloading=Memuat turun…
+downloadState.canceled=Dibatalkan
+downloadState.failed=Gagal
+downloadState.paused=Dijeda
+downloadState.starting=Memulakan…
+downloadState.unknownSize=Saiz tidak diketahui
diff --git a/l10n-ms/mobile/android/chrome/aboutHome.dtd b/l10n-ms/mobile/android/chrome/aboutHome.dtd
new file mode 100644
index 0000000000..b1f03cac4d
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutHome.dtd
@@ -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/. -->
+
+<!-- This string should be kept in sync with the home_title string
+ in android_strings.dtd -->
+<!ENTITY abouthome.title "Rerumah &brandShortName;">
diff --git a/l10n-ms/mobile/android/chrome/aboutLogins.dtd b/l10n-ms/mobile/android/chrome/aboutLogins.dtd
new file mode 100644
index 0000000000..ff2b4db32b
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutLogins.dtd
@@ -0,0 +1,10 @@
+<!-- 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/. -->
+<!ENTITY % brandDTD
+ SYSTEM "chrome://branding/locale/brand.dtd">
+ %brandDTD;
+<!ENTITY aboutLogins.title "Log masuk">
+<!ENTITY aboutLogins.update "Kemaskini">
+<!ENTITY aboutLogins.emptyLoginText "Pastikan log masuk anda selamat">
+<!ENTITY aboutLogins.emptyLoginHint "Log masuk dan kelayakan yang anda simpan menggunakan &brandShortName; akan dipaparkan di sini.">
diff --git a/l10n-ms/mobile/android/chrome/aboutLogins.properties b/l10n-ms/mobile/android/chrome/aboutLogins.properties
new file mode 100644
index 0000000000..34661ca6b0
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutLogins.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/.
+
+loginsMenu.showPassword=Papar kata laluan
+loginsMenu.copyPassword=Salin kata laluan
+loginsMenu.copyUsername=Salin nama pengguna
+loginsMenu.editLogin=Edit log masuk
+loginsMenu.delete=Buang
+
+loginsDialog.confirmDelete=Buang log masuk ini?
+loginsDialog.copy=Salin
+loginsDialog.confirm=OK
+loginsDialog.cancel=Batal
+
+editLogin.fallbackTitle=Edit Log Masuk
+editLogin.saved1=Log masuk tersimpan
+editLogin.couldNotSave=Perubahan tidak dapat disimpan
+
+loginsDetails.copyFailed=Gagal disalin
+loginsDetails.passwordCopied=Kata laluan disalin
+loginsDetails.usernameCopied=Nama pengguna disalin
+
+loginsDetails.deleted=Log masuk dibuang
+
+password-btn.show=Papar
+password-btn.hide=Sorok
diff --git a/l10n-ms/mobile/android/chrome/aboutPrivateBrowsing.dtd b/l10n-ms/mobile/android/chrome/aboutPrivateBrowsing.dtd
new file mode 100644
index 0000000000..1f0e1d3622
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/aboutPrivateBrowsing.dtd
@@ -0,0 +1,25 @@
+<!-- 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/. -->
+
+<!ENTITY privatebrowsingpage.title "Pelayaran Peribadi">
+
+<!-- Localisation note: the plus sign here is a shorthand way of expressing the word "and". Contextually the privatebrowsingpage.title.private string
+ is used as a title, with the privatebrowsingpage.title string preceding it but on a separate line.
+ So the final line will say "Private Browsing + Tracking Protection". -->
+<!ENTITY privatebrowsingpage.title.private "+ Perlindungan Penjejakan">
+<!-- Localization note (privatebrowsingpage.title.normal1): "Private Browsing"
+ is capitalized in English to be consistent with our existing uses of the
+ term. -->
+<!ENTITY privatebrowsingpage.title.normal1 "Anda tidak berada dalam Pelayaran Peribadi">
+
+<!ENTITY privatebrowsingpage.description.trackingProtection "&brandShortName; menyekat sebahagian halaman yang mungkin menjejaki aktiviti pelayaran anda.">
+<!ENTITY privatebrowsingpage.description.privateDetails "Kami tidak akan menyimpan sejarah, tetapi fail yang dimuat turun dan tandabuku baru akan masih disimpan pada peranti anda.">
+
+<!-- Localization note (privatebrowsingpage.description.normal2): "Private
+ Browsing is capitalized in English to be consistent with our existing uses
+ of the term. -->
+<!ENTITY privatebrowsingpage.description.normal2 "Dalam Pelayaran Peribadi, kami tidak akan menyimpan sejarah atau kuki pelayaran anda. Tandabuku yang anda tambah atau fail yang dimuat turun masih disimpan pada peranti anda.">
+
+<!ENTITY privatebrowsingpage.link.private "Mahu ketahui selanjutnya?">
+<!ENTITY privatebrowsingpage.link.normal "Buka tab peribadi baru">
diff --git a/l10n-ms/mobile/android/chrome/browser.properties b/l10n-ms/mobile/android/chrome/browser.properties
new file mode 100644
index 0000000000..e1c2ee010f
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/browser.properties
@@ -0,0 +1,476 @@
+# 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/.
+
+addonsConfirmInstall.title=Memasang Add-on
+addonsConfirmInstall.install=Pasang
+
+addonsConfirmInstallUnsigned.title=Add-on tidak disahkan
+addonsConfirmInstallUnsigned.message=Laman ini mahu memasang add-on yang tidak disahkan. Teruskan dengan risiko anda sendiri.
+
+# Alerts
+alertAddonsDownloading=Memuat turun add-on
+alertAddonsInstalledNoRestart.message=Pemasangan selesai
+
+# LOCALIZATION NOTE (alertAddonsInstalledNoRestart.action2): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+alertAddonsInstalledNoRestart.action2=ADD-ONS
+
+alertDownloadsStart2=Muat turun bermula
+alertDownloadsDone2=Muat turun selesai
+alertDownloadsToast=Muat turun bermula…
+alertDownloadsPause=Jeda
+alertDownloadsResume=Sambung
+alertDownloadsCancel=Batal
+# LOCALIZATION NOTE (alertDownloadSucceeded): This text is shown as a snackbar inside the app after a
+# successful download. %S will be replaced by the file name of the download.
+alertDownloadSucceeded=%S dimuat turun
+# LOCALIZATION NOTE (downloads.disabledInGuest): This message appears in a toast
+# when the user tries to download something in Guest mode.
+downloads.disabledInGuest=Muat turun telah dinyahdaya dalam sesi pelawat
+
+# LOCALIZATION NOTE (alertSearchEngineAddedToast, alertSearchEngineErrorToast, alertSearchEngineDuplicateToast)
+# %S will be replaced by the name of the search engine (exposed by the current page)
+# that has been added; for example, 'Google'.
+alertSearchEngineAddedToast='%S' telah ditambah sebagai enjin carian
+alertSearchEngineErrorToast=Tidak dapat menambah '%S' sebagai enjin carian
+alertSearchEngineDuplicateToast='%S' sudah menjadi salah satu enjin carian anda
+
+# LOCALIZATION NOTE (alertShutdownSanitize): This text is shown as a snackbar during shutdown if the
+# user has enabled "Clear private data on exit".
+alertShutdownSanitize=Menghapuskan data peribadi…
+
+alertPrintjobToast=Mencetak…
+
+download.blocked=Tidak dapat memuat turun fail
+
+addonError.titleError=Ralat
+addonError.titleBlocked=Add-on disekat
+addonError.learnMore=Ketahui selanjutnya
+
+# LOCALIZATION NOTE (unsignedAddonsDisabled.title, unsignedAddonsDisabled.message):
+# These strings will appear in a dialog when Firefox detects that installed add-ons cannot be verified.
+unsignedAddonsDisabled.title=Add-ons tidak disahkan
+unsignedAddonsDisabled.message=Satu atau beberapa add-ons yang dipasang tidak dapat disahkan dan telah dinyahdayakan.
+unsignedAddonsDisabled.dismiss=Abai
+unsignedAddonsDisabled.viewAddons=Papar add-ons
+
+# LOCALIZATION NOTE (addonError-1, addonError-2, addonError-3, addonError-4, addonError-5):
+# #1 is the add-on name, #2 is the add-on host, #3 is the application name
+addonError-1=Add-on tidak dapat dimuat turun kerana kegagalan sambungan pada #2.
+addonError-2=Add-on dari #2 gagal dipasang kerana tidak sepadan add-on #3 seperti yang dijangka.
+addonError-3=Add-on yang dimuat turun dari #2 tidak boleh dipasang kerana ada kerosakan.
+addonError-4=#1 tidak dapat dipasang kerana #3 tidak dapat mengubahsuai fail yang diperlukan.
+addonError-5=#3 telah menyekat #2 daripada memasang add-on yang tidak disahkan.
+
+# LOCALIZATION NOTE (addonLocalError-1, addonLocalError-2, addonLocalError-3, addonLocalError-4, addonLocalError-5, addonErrorIncompatible, addonErrorBlocklisted):
+# #1 is the add-on name, #3 is the application name, #4 is the application version
+addonLocalError-1=Add-on ini tidak dapat dipasang kerana ralat sistem fail.
+addonLocalError-2=Add-on ini tidak dapat dipasang kerana tidak sepadan dengan #3 seperti yang dijangkakan.
+addonLocalError-3=Add-on ini tidak dapat dipasang kerana ada kerosakan.
+addonLocalError-4=#1 tidak dapat dipasang kerana #3 tidak dapat mengubahsuai fail yang diperlukan.
+addonLocalError-5=Add-on ini tidak dapat dipasang kerana belum disahkan.
+addonErrorIncompatible=#1 tidak dapat dipasang kerana tidak serasi dengan #3 #4.
+addonErrorBlocklisted=#1 tidak dapat dipasang kerana ada risiko tinggi yang menyebabkan masalah kestabilan dan keselamatan.
+
+# Notifications
+notificationRestart.normal=Mula semula untuk menyiapkan perubahan.
+notificationRestart.blocked=Add-ons yang tidak selamat telah dipasang. Mula semula untuk menyahdayakannya.
+notificationRestart.button=Mula semula
+doorhanger.learnMore=Ketahui selanjutnya
+
+# Popup Blocker
+
+# LOCALIZATION NOTE (popup.message): Semicolon-separated list of plural forms.
+# #1 is brandShortName and #2 is the number of pop-ups blocked.
+popup.message=#1 menghalang laman ini daripada membuka tetingkap pop-up. Adakah anda ingin menunjukkannya?;#1 menghalang laman ini daripada membuka #2 tetingkap pop-up. Adakah anda ingin menunjukkannya?
+popup.dontAskAgain=Jangan tanya lagi untuk laman ini
+popup.show=Papar
+popup.dontShow=Jangan papar
+
+# SafeBrowsing
+safeBrowsingDoorhanger=Laman ini telah dikenal pasti mengandungi perisian hasad atau percubaan pemalsuan. Berhati-hati.
+
+# LOCALIZATION NOTE (blockPopups.label2): Label that will be used in
+# site settings dialog.
+blockPopups.label2=Popup
+
+# XPInstall
+xpinstallPromptWarning2=%S menghalang laman ini (%S) daripada meminta anda memasang perisian pada peranti anda.
+xpinstallPromptWarningLocal=%S menghalang add-on ini (%S) daripada dipasang pada peranti anda.
+xpinstallPromptWarningDirect=%S menghalang add-on daripada dipasang pada peranti anda
+xpinstallPromptAllowButton=Izinkan
+xpinstallDisabledMessageLocked=Pemasangan perisian telah dinyahdayakan oleh pentadbir sistem anda.
+xpinstallDisabledMessage2=Pemasangan perisian sedang dinyahdaya. Tekan Dayakan dan cuba lagi.
+xpinstallDisabledButton=Dayakan
+
+# LOCALIZATION NOTE (webextPerms.header)
+# This string is used as a header in the webextension permissions dialog,
+# %S is replaced with the localized name of the extension being installed.
+# See https://bug1308309.bmoattachments.org/attachment.cgi?id=8814612
+# for an example of the full dialog.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.header=Tambah %S?
+
+# LOCALIZATION NOTE (webextPerms.listIntro)
+# This string will be followed by a list of permissions requested
+# by the webextension.
+webextPerms.listIntro=Perlukan izin anda untuk:
+webextPerms.add.label=Tambah
+webextPerms.cancel.label=Batal
+
+# LOCALIZATION NOTE (webextPerms.updateText)
+# %S is replaced with the localized name of the updated extension.
+webextPerms.updateText=%S telah dikemaskini. Anda perlu berikan izin yang baru sebelum versi yang dikemaskini ini boleh dipasang. Pilih “Batal” untuk kekalkan versi add-on semasa.
+
+webextPerms.updateAccept.label=Kemaskini
+
+# LOCALIZATION NOTE (webextPerms.optionalPermsHeader)
+# %S is replaced with the localized name of the extension requesting new
+# permissions.
+webextPerms.optionalPermsHeader=%S perlukan izin tambahan.
+webextPerms.optionalPermsListIntro=Aplikasi ini mahu:
+webextPerms.optionalPermsAllow.label=Izinkan
+webextPerms.optionalPermsDeny.label=Tolak
+
+webextPerms.description.bookmarks=Baca dan ubah tandabuku
+webextPerms.description.browserSettings=Baca dan ubah tetapan pelayar
+webextPerms.description.browsingData=Buang sejarah pelayaran terkini, kuki dan data berkaitan
+webextPerms.description.clipboardRead=Dapatkan data dari klipbod
+webextPerms.description.clipboardWrite=Input data ke klipbod
+webextPerms.description.devtools=Lanjutan alatan pembangun untuk mengakses data dalam tab terbuka
+webextPerms.description.downloads=Muat turun fail, dan baca serta ubah sejarah muat turun pelayar
+webextPerms.description.downloads.open=Buka fail yang dimuat turun ke dalam komputer anda
+webextPerms.description.find=Baca teks dalam semua tab terbuka
+webextPerms.description.geolocation=Akses lokasi anda
+webextPerms.description.history=Akses sejarah pelayaran
+webextPerms.description.management=Pantau penggunaan ekstensi dan uruskan tema
+# LOCALIZATION NOTE (webextPerms.description.nativeMessaging)
+# %S will be replaced with the name of the application
+webextPerms.description.nativeMessaging=Pertukaran mesej dengan atur cara selain %S
+webextPerms.description.notifications=Papar notifikasi kepada anda
+webextPerms.description.privacy=Baca dan ubah tetapan privasi
+webextPerms.description.proxy=Kawal tetapan proksi pelayar
+webextPerms.description.sessions=Akses tab terkini ditutup
+webextPerms.description.tabs=Akses tab pelayar
+webextPerms.description.topSites=Akses sejarah pelayaran
+webextPerms.description.webNavigation=Akses aktiviti pelayar semasa navigasi
+
+webextPerms.hostDescription.allUrls=Akses semua data anda dalam laman web
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.wildcard)
+# %S will be replaced by the DNS domain for which a webextension
+# is requesting access (e.g., mozilla.org)
+webextPerms.hostDescription.wildcard=Akses data laman anda dalam domain %S
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManyWildcards):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# domains for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManyWildcards=Akses data anda dalam #1 domain lain
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.oneSite)
+# %S will be replaced by the DNS host name for which a webextension
+# is requesting access (e.g., www.mozilla.org)
+webextPerms.hostDescription.oneSite=Akses data anda untuk %S
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManySites)
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManySites=Akses data anda dalam #1 laman lain
+
+
+# Site Identity
+identity.identified.verifier=Disahkan oleh: %S
+identity.identified.verified_by_you=Anda telah menambah pengecualian keselamatan untuk laman ini
+identity.identified.state_and_country=%S, %S
+
+# Geolocation UI
+geolocation.allow=Kongsi
+geolocation.dontAllow=Jangan kongsi
+# LOCALIZATION NOTE (geolocation.location): Label that will be used in
+# site settings dialog.
+geolocation.location=Lokasi
+
+# Desktop notification UI
+desktopNotification2.allow=Sentiasa
+desktopNotification2.dontAllow=Jangan sesekali
+# LOCALIZATION NOTE (desktopNotification.notifications): Label that will be
+# used in site settings dialog.
+desktopNotification.notifications=Notifikasi
+
+# Imageblocking
+imageblocking.downloadedImage=Imej dinyahsekat
+imageblocking.showAllImages=Papar Semua
+
+# New Tab Popup
+# LOCALIZATION NOTE (newtabpopup, newprivatetabpopup): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of tabs
+newtabpopup.opened=#1 tab baru dibuka
+newprivatetabpopup.opened=#1 tab peribadi baru dibuka
+
+# LOCALIZATION NOTE (newtabpopup.switch): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+newtabpopup.switch=TUKAR
+
+# Undo close tab toast
+# LOCALIZATION NOTE (undoCloseToast.message): This message appears in a toast
+# when the user closes a tab. %S is the title of the tab that was closed.
+undoCloseToast.message=%S ditutup
+
+# Private Tab closed message
+# LOCALIZATION NOTE (privateClosedMessage.message): This message appears
+# when the user closes a private tab.
+privateClosedMessage.message=Pelayaran Peribadi Ditutup
+
+# LOCALIZATION NOTE (undoCloseToast.messageDefault): This message appears in a
+# toast when the user closes a tab if there is no title to display.
+undoCloseToast.messageDefault=Tab ditutup
+
+# LOCALIZATION NOTE (undoCloseToast.action2): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+undoCloseToast.action2=BATAL
+
+# Offline web applications
+offlineApps.ask=Izinkan %S menyimpan data pada peranti anda untuk kegunaan di luar talian?
+offlineApps.dontAskAgain=Jangan tanya lagi untuk laman ini
+offlineApps.allow=Izinkan
+offlineApps.dontAllow2=Jangan izin
+
+# LOCALIZATION NOTE (offlineApps.offlineData): Label that will be used in
+# site settings dialog.
+offlineApps.offlineData=Data Luar Talian
+
+# LOCALIZATION NOTE (password.logins): Label that will be used in
+ # site settings dialog.
+password.logins=Log masuk
+# LOCALIZATION NOTE (password.save): This should match
+# saveButton in passwordmgr.properties
+password.save=Simpan
+# LOCALIZATION NOTE (password.dontSave): This should match
+# dontSaveButton in passwordmgr.properties
+password.dontSave=Jangan simpan
+
+# LOCALIZATION NOTE (browser.menu.showCharacterEncoding): Set to the string
+# "true" (spelled and capitalized exactly that way) to show the "Character
+# Encoding" menu in the site menu. Any other value will hide it. Without this
+# setting, the "Character Encoding" menu must be enabled via Preferences.
+# This is not a string to translate. If users frequently use the "Character Encoding"
+# menu, set this to "true". Otherwise, you can leave it as "false".
+browser.menu.showCharacterEncoding=false
+
+# Text Selection
+selectionHelper.textCopied=Teks disalin ke klipbod
+
+# Casting
+# LOCALIZATION NOTE (casting.sendToDevice): Label that will be used in the
+# dialog/prompt.
+casting.sendToDevice=Hantar ke Peranti
+
+# Context menu
+contextmenu.openInNewTab=Buka Pautan dalam Tab Baru
+contextmenu.openInPrivateTab=Buka Pautan dalam Tab Peribadi
+contextmenu.share=Kongsi
+contextmenu.copyLink=Salin Pautan
+contextmenu.shareLink=Kongsi Pautan
+contextmenu.bookmarkLink=Tandabuku Pautan
+contextmenu.copyEmailAddress=Salin Alamat E-mel
+contextmenu.shareEmailAddress=Kongsi Alamat E-mel
+contextmenu.copyPhoneNumber=Salin Nombor Telefon
+contextmenu.sharePhoneNumber=Kongsi Nombor Telefon
+contextmenu.fullScreen=Skrin Penuh
+contextmenu.viewImage=Papar Imej
+contextmenu.copyImageLocation=Salin Lokasi Imej
+contextmenu.shareImage=Kongsi Imej
+# LOCALIZATION NOTE (contextmenu.search):
+# The label of the contextmenu item which allows you to search with your default search engine for
+# the text you have selected. %S is the name of the search engine. For example, "Google".
+contextmenu.search=Carian %S
+contextmenu.saveImage=Simpan Imej
+contextmenu.showImage=Papar Imej
+contextmenu.setImageAs=Tetapkan Imej Sebagai
+# LOCALIZATION NOTE (contextmenu.addSearchEngine3): This string should be rather short. If it is
+# significantly longer than the translation for the "Paste" action then this might trigger an
+# Android bug positioning the floating text selection partially off the screen. This issue heavily
+# depends on the screen size and the specific translations. For English "Paste" / "Add search engine"
+# is working while "Paste" / "Add as search engine" triggers the bug. See bug 1262098 for more details.
+# Manual testing the scenario described in bug 1262098 is highly recommended.
+contextmenu.addSearchEngine3=Tambah Enjin Carian
+contextmenu.playMedia=Main
+contextmenu.pauseMedia=Jeda
+contextmenu.showControls2=Papar Kawalan
+contextmenu.mute=Senyap
+contextmenu.unmute=Nyahsenyap
+contextmenu.saveVideo=Simpan Video
+contextmenu.saveAudio=Simpan Audio
+contextmenu.addToContacts=Tambah ke Kenalan
+# LOCALIZATION NOTE (contextmenu.sendToDevice):
+# The label that will be used in the contextmenu and the pageaction
+contextmenu.sendToDevice=Hantar ke Peranti
+
+contextmenu.copy=Salin
+contextmenu.cut=Potong
+contextmenu.selectAll=Pilih Semua
+contextmenu.paste=Tampal
+
+contextmenu.call=Panggilan
+
+#Input widgets UI
+inputWidgetHelper.date=Pilih tarikh
+inputWidgetHelper.datetime-local=Pilih tarikh dan masa
+inputWidgetHelper.time=Pilih masa
+inputWidgetHelper.week=Pilih minggu
+inputWidgetHelper.month=Pilih bulan
+inputWidgetHelper.cancel=Batal
+inputWidgetHelper.set=Tetapkan
+inputWidgetHelper.clear=Buang
+
+# Web Console API
+stacktrace.anonymousFunction=<anonymous>
+stacktrace.outputMessage=tindanan surih daripada %S, fungsi %S, baris %S.
+timer.start=%S: pemasa telah bermula
+
+# LOCALIZATION NOTE (timer.end):
+# This string is used to display the result of the console.timeEnd() call.
+# %1$S=name of timer, %2$S=number of milliseconds
+timer.end=%1$S: %2$Sms
+
+clickToPlayPlugins.activate=Aktifkan
+clickToPlayPlugins.dontActivate=Jangan aktifkan
+# LOCALIZATION NOTE (clickToPlayPlugins.plugins): Label that
+# will be used in site settings dialog.
+clickToPlayPlugins.plugins=Plugin
+
+# Site settings dialog
+
+masterPassword.incorrect=Kata laluan salah
+
+# Debugger
+# LOCALIZATION NOTE (remoteIncomingPromptTitle): The title displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptTitle=Sambungan Masuk
+# LOCALIZATION NOTE (remoteIncomingPromptUSB): The message displayed on the
+# dialog that prompts the user to allow an incoming USB connection.
+remoteIncomingPromptUSB=Izinkan sambungan debugging USB?
+# LOCALIZATION NOTE (remoteIncomingPromptUSB): The message displayed on the
+# dialog that prompts the user to allow an incoming TCP connection.
+remoteIncomingPromptTCP=Izinkan sambungan nyahpepijat jauh dari %1$S:%2$S? Sambungan ini perlukan kod QR yang diimbas untuk mengesahkan sijil peranti jauh. Anda boleh elakkan mengimbas lagi dengan mengingati peranti ini.
+# LOCALIZATION NOTE (remoteIncomingPromptDeny): This button will deny an
+# an incoming remote debugger connection.
+remoteIncomingPromptDeny=Tolak
+# LOCALIZATION NOTE (remoteIncomingPromptAllow): This button will allow an
+# an incoming remote debugger connection.
+remoteIncomingPromptAllow=Izinkan
+# LOCALIZATION NOTE (remoteIncomingPromptScan): This button will start a QR
+# code scanner to authenticate an incoming remote debugger connection. The
+# connection will be allowed assuming the scan succeeds.
+remoteIncomingPromptScan=Imbas
+# LOCALIZATION NOTE (remoteIncomingPromptScanAndRemember): This button will
+# start a QR code scanner to authenticate an incoming remote debugger
+# connection. The connection will be allowed assuming the scan succeeds, and
+# the other endpoint's certificate will be saved to skip future scans for this
+# client.
+remoteIncomingPromptScanAndRemember=Imbas dan Ingati
+# LOCALIZATION NOTE (remoteQRScanFailedPromptTitle): The title displayed in a
+# dialog when we are unable to complete the QR code scan for an incoming remote
+# debugging connection.
+remoteQRScanFailedPromptTitle=Imbas QR Gagal
+# LOCALIZATION NOTE (remoteQRScanFailedPromptMessage): The message displayed in
+# a dialog when we are unable to complete the QR code scan for an incoming
+# remote debugging connection.
+remoteQRScanFailedPromptMessage=Gagal mengimbas kod QR untuk menyahpijat secara jauh. Sahkan bahawa app Barcode Scanner telah dipasang dan cuba disambungkan semula.
+# LOCALIZATION NOTE (remoteQRScanFailedPromptOK): This button dismisses the
+# dialog that appears when we are unable to complete the QR code scan for an
+# incoming remote debugging connection.
+remoteQRScanFailedPromptOK=OK
+
+# Helper apps
+helperapps.open=Buka
+helperapps.openWithApp2=Buka Dengan App %S
+helperapps.openWithList2=Buka Dengan App
+helperapps.always=Sentiasa
+helperapps.never=Jangan sesekali
+helperapps.pick=Sempurnakan tindakan menggunakan
+helperapps.saveToDisk=Muat turun
+helperapps.alwaysUse=Sentiasa
+helperapps.useJustOnce=Sekali sahaja
+
+# LOCALIZATION NOTE (getUserMedia.shareCamera.message, getUserMedia.shareMicrophone.message, getUserMedia.shareCameraAndMicrophone.message, getUserMedia.sharingCamera.message, getUserMedia.sharingMicrophone.message, getUserMedia.sharingCameraAndMicrophone.message): %S is the website origin (e.g. www.mozilla.org)
+getUserMedia.shareCamera.message = Adakah anda mahu berkongsi kamera dengan %S?
+getUserMedia.shareMicrophone.message = Adakah anda mahu berkongsi mikrofon dengan %S?
+getUserMedia.shareCameraAndMicrophone.message = Adakah anda mahu berkongsi kamera dan mikfrofon dengan %S?
+getUserMedia.denyRequest.label = Jangan Kongsi
+getUserMedia.shareRequest.label = Kongsi
+getUserMedia.videoSource.default = Kamera %S
+getUserMedia.videoSource.frontCamera = Kamera hadapan
+getUserMedia.videoSource.backCamera = Kamera belakang
+getUserMedia.videoSource.none = Tiada Video
+getUserMedia.videoSource.tabShare = Pilih tab untuk strim
+getUserMedia.videoSource.prompt = Sumber video
+getUserMedia.audioDevice.default = Mikrofon %S
+getUserMedia.audioDevice.none = Tiada Audio
+getUserMedia.audioDevice.prompt = Mikrofon untuk digunakan
+getUserMedia.sharingCamera.message2 = Kamera hidup
+getUserMedia.sharingMicrophone.message2 = Mikrofon hidup
+getUserMedia.sharingCameraAndMicrophone.message2 = Kamera dan mikrofon hidup
+getUserMedia.blockedCameraAccess = Kamera telah disekat.
+getUserMedia.blockedMicrophoneAccess = Mikrofon telah disekat.
+getUserMedia.blockedCameraAndMicrophoneAccess = Kamera dan mikrofon telah disekat.
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+# In android this will be only exposed by web extensions
+userContextPersonal.label = Peribadi
+userContextWork.label = Kerja
+userContextBanking.label = Perbankan
+userContextShopping.label = Beli-belah
+
+# LOCALIZATION NOTE (readerMode.toolbarTip):
+# Tip shown to users the first time we hide the reader mode toolbar.
+readerMode.toolbarTip=Tekan skrin untuk pilihan mod pembaca
+
+#Open in App
+openInApp.pageAction = Buka dalam App
+openInApp.ok = OK
+openInApp.cancel = Batal
+
+#Tab sharing
+tabshare.title = "Pilih tab untuk strim"
+#Tabs in context menus
+browser.menu.context.default = Pautan
+browser.menu.context.img = Imej
+browser.menu.context.video = Video
+browser.menu.context.audio = Audio
+browser.menu.context.tel = Telefon
+browser.menu.context.mailto = Mel
+
+# "Subscribe to page" prompts created in FeedHandler.js
+feedHandler.chooseFeed=Pilih suapan
+feedHandler.subscribeWith=Langgan dengan
+
+# LOCALIZATION NOTE (nativeWindow.deprecated):
+# This string is shown in the console when someone uses deprecated NativeWindow apis.
+# %1$S=name of the api that's deprecated, %2$S=New API to use. This may be a url to
+# a file they should import or the name of an api.
+nativeWindow.deprecated=%1$S tidak sesuai. Sila gunakan %2$S sebagai ganti
+
+# Vibration API permission prompt
+vibrationRequest.message = Izinkan halaman ini untuk gegarkan peranti anda?
+vibrationRequest.denyButton = Jangan izin
+vibrationRequest.allowButton = Izinkan
diff --git a/l10n-ms/mobile/android/chrome/config.dtd b/l10n-ms/mobile/android/chrome/config.dtd
new file mode 100644
index 0000000000..51a5adac7a
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/config.dtd
@@ -0,0 +1,21 @@
+<!-- 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/. -->
+
+
+<!ENTITY toolbar.searchPlaceholder "Cari">
+
+<!ENTITY newPref.namePlaceholder "Nama">
+
+<!ENTITY newPref.valueBoolean "Boolean">
+<!ENTITY newPref.valueString "String">
+<!ENTITY newPref.valueInteger "Integer">
+
+<!ENTITY newPref.stringPlaceholder "Masukkan string">
+<!ENTITY newPref.numberPlaceholder "Masukkan nombor">
+
+<!ENTITY newPref.toggleButton "Togol">
+<!ENTITY newPref.cancelButton "Batal">
+
+<!ENTITY contextMenu.copyPrefName "Salin Nama">
+<!ENTITY contextMenu.copyPrefValue "Salin Nilai">
diff --git a/l10n-ms/mobile/android/chrome/config.properties b/l10n-ms/mobile/android/chrome/config.properties
new file mode 100644
index 0000000000..e10d7d070e
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/config.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/.
+
+newPref.createButton=Cipta
+newPref.changeButton=Ubah
+
+pref.toggleButton=Togol
+pref.resetButton=Set semula
diff --git a/l10n-ms/mobile/android/chrome/devicePrompt.properties b/l10n-ms/mobile/android/chrome/devicePrompt.properties
new file mode 100644
index 0000000000..78aa7f3bd7
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/devicePrompt.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/.
+
+deviceMenu.title=Peralatan yang berdekatan
diff --git a/l10n-ms/mobile/android/chrome/passwordmgr.properties b/l10n-ms/mobile/android/chrome/passwordmgr.properties
new file mode 100644
index 0000000000..b902d288af
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/passwordmgr.properties
@@ -0,0 +1,22 @@
+# 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/.
+
+# String will be replaced by brandShortName.
+saveLogin=Adakah anda mahu %S mengingati log masuk ini?
+rememberButton=Ingat
+neverButton=Jangan sesekali
+
+# String is the login's hostname
+updatePassword=Kemaskini kata laluan tersimpan untuk %S?
+updatePasswordNoUser=Kemaskini kata laluan tersimpan untuk log masuk ini?
+updateButton=Kemaskini
+dontUpdateButton=Jangan kemaskini
+
+# Copy of the toolkit's passwordmgr.properties
+userSelectText2=Pilih log masuk untuk dikemaskini:
+passwordChangeTitle=Sahkan Menukar Kata laluan
+
+# Strings used by PromptService.js
+username=Nama pengguna
+password=Kata laluan
diff --git a/l10n-ms/mobile/android/chrome/phishing.dtd b/l10n-ms/mobile/android/chrome/phishing.dtd
new file mode 100644
index 0000000000..ae1739153c
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/phishing.dtd
@@ -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/. -->
+
+<!ENTITY safeb.palm.accept.label "Keluarkan saya dari sini!">
+<!ENTITY safeb.palm.decline.label "Abaikan amaran ini">
+<!ENTITY safeb.palm.reportPage.label "Mengapa halaman ini disekat?">
+<!-- Localization note (safeb.palm.advisory.desc) - Please don't translate <a id="advisory_provider"/> tag. It will be replaced at runtime with advisory link-->
+<!ENTITY safeb.palm.advisory.desc "Khidmat nasihat disediakan oleh <a id='advisory_provider'/>">
+
+<!ENTITY safeb.blocked.malwarePage.title "Ini Halaman Penyerang!">
+<!-- Localization note (safeb.blocked.malware.shortDesc) - Please don't translate the contents of the <span id="malware_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.malwarePage.shortDesc "Halaman web <span id='malware_sitename'/> telah dilaporkan sebagai halaman penyerang dan telah disekat berdasarkan tetapan keselamatan anda.">
+<!ENTITY safeb.blocked.malwarePage.longDesc "<p>Halaman penyerang akan cuba memasang atur cara yang mencuri maklumat peribadi, menggunakan komputer anda untuk menyerang pihak lain, atau merosakkan sistem anda.</p><p>Sesetengah halaman penyerang dengan sengaja merebakkan perisian berbahaya, tapi kebanyakkannya menceroboh tanpa pengetahuan atau keizinan pemilik halaman.</p>">
+
+<!ENTITY safeb.blocked.phishingPage.title3 "Laman Mengelirukan!">
+<!-- Localization note (safeb.blocked.phishingPage.shortDesc3) - Please don't translate the contents of the <span id="phishing_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.phishingPage.shortDesc3 "Halaman web <span id='phishing_sitename'/> telah dilaporkan sebagai laman mengelirukan dan telah disekat berdasarkan keutamaan keselamatan anda.">
+<!ENTITY safeb.blocked.phishingPage.longDesc3 "<p>Laman mengelirukan direka untuk memperdayakan anda melakukan perkara yang berbahaya, seperti memasang perisian, atau mendedahkan maklumat peribadi, seperti kata laluan, nombor telefon atau maklumat kad kredit.</p><p>Sebarang maklumat yang dimasukkan dalam halaman web ini boleh mengakibatkan kecurian identiti atau penipuan lain.</p>">
+
+<!ENTITY safeb.blocked.unwantedPage.title "Ini Laman Perisian Yang Tidak Diingini!">
+<!-- Localization note (safeb.blocked.unwanted.shortDesc) - Please don't translate the contents of the <span id="unwanted_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.unwantedPage.shortDesc "Halaman web <span id='unwanted_sitename'/> telah dilaporkan sebagai halaman yang mengandungi perisian tidak diingini dan telah disekat berdasarkan keutamaan keselamatan anda.">
+<!ENTITY safeb.blocked.unwantedPage.longDesc "Halaman perisian yang tidak diingini cuba memasang perisian yang mengelirukan dan boleh mengganggu sistem anda.">
+
+<!ENTITY safeb.blocked.harmfulPage.title "Laman berikut mungkin ada perisian hasad">
+<!ENTITY safeb.blocked.harmfulPage.shortDesc "&brandShortName; menyekat halaman ini kerana cuba memasang aplikasi yang mencuri data atau menghapuskan data anda (sebagai contoh, foto, kata laluan, mesej dan kad kredit)."> \ No newline at end of file
diff --git a/l10n-ms/mobile/android/chrome/pippki.properties b/l10n-ms/mobile/android/chrome/pippki.properties
new file mode 100644
index 0000000000..6f0cd5b0e9
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/pippki.properties
@@ -0,0 +1,84 @@
+# 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/.
+
+nssdialogs.ok.label=OK
+nssdialogs.cancel.label=Batal
+
+# These strings are stolen from security/manager/locales/en-US/chrome/pippki/pippki.dtd
+downloadCert.title=Memuat turun Sijil
+downloadCert.message1=Anda telah diminta untuk mempercayai Autoriti Sijil (CA) yang baru.
+downloadCert.viewCert.label=Papar
+downloadCert.trustSSL=Dipercayai untuk mengenal pasti laman web.
+downloadCert.trustEmail=Trust untuk mengenali pasti pengguna emel.
+pkcs12.getpassword.title=Dialog Kemasukan Kata Laluan
+pkcs12.getpassword.message=Sila masukkan kata laluan yang digunakan untuk mengenkrip sandaran sijil ini.
+clientAuthAsk.title=Permintaan Pengenalan Pengguna
+clientAuthAsk.message1=Laman ini meminta anda memperkenalkan diri menggunakan sijil:
+clientAuthAsk.message2=Pilih sijil untuk dijadikan sebagai pengenalan:
+clientAuthAsk.message3=Butiran sijil yang dipilih:
+clientAuthAsk.remember.label=Ingati keputusan ini
+# LOCALIZATION NOTE(clientAuthAsk.nickAndSerial): Represents a single cert when
+# the user is choosing from a list of certificates.
+# %1$S is the nickname of the cert.
+# %2$S is the serial number of the cert in AA:BB:CC hex format.
+clientAuthAsk.nickAndSerial=%1$S [%2$S]
+# LOCALIZATION NOTE(clientAuthAsk.hostnameAndPort):
+# %1$S is the hostname of the server.
+# %2$S is the port of the server.
+clientAuthAsk.hostnameAndPort=%1$S:%2$S
+# LOCALIZATION NOTE(clientAuthAsk.organization): %S is the Organization of the
+# server cert.
+clientAuthAsk.organization=Organisasi: "%S"
+# LOCALIZATION NOTE(clientAuthAsk.issuer): %S is the Organization of the
+# issuer cert of the server cert.
+clientAuthAsk.issuer=Dikeluarkan Di Bawah: "%S"
+# LOCALIZATION NOTE(clientAuthAsk.issuedTo): %1$S is the Distinguished Name of
+# the currently selected client cert, such as "CN=John Doe,OU=Example" (without
+# quotes).
+clientAuthAsk.issuedTo=Dikeluarkan kepada: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.serial): %1$S is the serial number of the
+# selected cert in AA:BB:CC hex format.
+clientAuthAsk.serial=Nombor siri: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.validityPeriod):
+# %1$S is the already localized notBefore date of the selected cert.
+# %2$S is the already localized notAfter date of the selected cert.
+clientAuthAsk.validityPeriod=Sah dari %1$S hingga %2$S
+# LOCALIZATION NOTE(clientAuthAsk.keyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthAsk.keyUsages=Kunci Kegunaan: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.emailAddresses): %1$S is a comma separated
+# list of e-mail addresses the selected cert is valid for.
+clientAuthAsk.emailAddresses=Alamat e-mel: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.issuedBy): %1$S is the Distinguished Name of
+# the cert which issued the selected cert.
+clientAuthAsk.issuedBy=Dikeluarkan oleh: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.storedOn): %1$S is the name of the PKCS #11
+# token the selected cert is stored on.
+clientAuthAsk.storedOn=Disimpan dalam: %1$S
+clientAuthAsk.viewCert.label=Papar
+
+certmgr.title=Butiran Sijil
+# These strings are stolen from security/manager/locales/en-US/chrome/pippki/certManager.dtd
+certmgr.subjectinfo.label=Dikeluarkan Untuk
+certmgr.issuerinfo.label=Dikeluarkan Oleh
+certmgr.periodofvalidity.label=Tempoh Sah
+certmgr.fingerprints.label=Cap jari
+certdetail.cn=Nama Biasa (CN): %1$S
+certdetail.o=Organisasi (O): %1$S
+certdetail.ou=Unit Organisasi (OU): %1$S
+# LOCALIZATION NOTE(certdetail.serialnumber): %1$S is the serial number of the
+# cert being viewed in AA:BB:CC hex format.
+certdetail.serialnumber=Nombor Siri: %1$S
+# LOCALIZATION NOTE(certdetail.sha256fingerprint): %1$S is the SHA-256
+# Fingerprint of the cert being viewed in AA:BB:CC hex format.
+certdetail.sha256fingerprint=Cap jari SHA-256: %1$S
+# LOCALIZATION NOTE(certdetail.sha1fingerprint): %1$S is the SHA-1 Fingerprint
+# of the cert being viewed in AA:BB:CC hex format.
+certdetail.sha1fingerprint=SHA1 Cap jari: %1$S
+# LOCALIZATION NOTE(certdetail.notBefore): %1$S is the already localized
+# notBefore date of the cert being viewed.
+certdetail.notBefore=Bermula Pada: %1$S
+# LOCALIZATION NOTE(certdetail.notAfter): %1$S is the already localized notAfter
+# date of the cert being viewed.
+certdetail.notAfter=Luput Pada: %1$S
diff --git a/l10n-ms/mobile/android/chrome/sync.properties b/l10n-ms/mobile/android/chrome/sync.properties
new file mode 100644
index 0000000000..ca7b4c3bd0
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/sync.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/.
+
+# Mobile Sync
+
+# %S is the date and time at which the last sync successfully completed
+lastSync2.label=Sync terakhir: %S
+
+# %S is the username logged in
+account.label=Akaun: %S
+
diff --git a/l10n-ms/mobile/android/chrome/webcompatReporter.properties b/l10n-ms/mobile/android/chrome/webcompatReporter.properties
new file mode 100644
index 0000000000..49836c9b8f
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/webcompatReporter.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/.
+
+# LOCALIZATION NOTE (webcompat.menu.name): A "site issue" is a bug, display,
+# or functionality problem with a webpage in the browser.
+webcompat.menu.name=Laporkan isu laman
+
+# LOCALIZATION NOTE (webcompat.reportDesktopMode.message): A " site issue" is a
+# bug, display, or functionality problem with a webpage in the browser.
+webcompat.reportDesktopMode.message=Laporkan isu laman?
+webcompat.reportDesktopModeYes.label=Laporan
diff --git a/l10n-ms/mobile/android/defines.inc b/l10n-ms/mobile/android/defines.inc
new file mode 100644
index 0000000000..53f7a404d7
--- /dev/null
+++ b/l10n-ms/mobile/android/defines.inc
@@ -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/.
+#filter emptyLines
+
+#define MOZ_LANGPACK_CREATOR mozilla.org
+
+# If non-English locales wish to credit multiple contributors, uncomment this
+
+# variable definition and use the format specified.
+
+#define MOZ_LANGPACK_CONTRIBUTORS <em:contributor>Joe Solon</em:contributor> <em:contributor>Suzy Solon</em:contributor>
+
+#unfilter emptyLines
diff --git a/l10n-ms/mobile/chrome/region.properties b/l10n-ms/mobile/chrome/region.properties
new file mode 100644
index 0000000000..c8c2a20c01
--- /dev/null
+++ b/l10n-ms/mobile/chrome/region.properties
@@ -0,0 +1,22 @@
+# 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/.
+
+# increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so
+# don't make any spelling errors here.
+gecko.handlerService.defaultHandlersVersion=2
+
+# The default set of protocol handlers for mailto:
+gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
+gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
+gecko.handlerService.schemes.mailto.1.name=Gmail
+gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+
+# This is the default set of web based feed handlers shown in the reader
+# selection UI
+browser.contentHandlers.types.0.title=My Yahoo!
+browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s
+
diff --git a/l10n-ms/mobile/overrides/appstrings.properties b/l10n-ms/mobile/overrides/appstrings.properties
new file mode 100644
index 0000000000..a6215552ed
--- /dev/null
+++ b/l10n-ms/mobile/overrides/appstrings.properties
@@ -0,0 +1,41 @@
+# 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/.
+
+# BEFORE EDITING THIS FILE, PLEASE NOTE:
+# These strings are only here to support shipping Fennec ESR.
+# They are unused in GeckoView, so please don't make any changes.
+
+malformedURI2=URL tidak sah dan tidak boleh dimuatkan.
+fileNotFound=Firefox tidak menemui fail di %S.
+fileAccessDenied=Fail %S tidak boleh dibaca.
+dnsNotFound2=Firefox tidak dapat menemui pelayan di %S.
+unknownProtocolFound=Firefox tidak tahu cara untuk membuka alamat ini, kerana satu daripada protokol berikut (%S) tidak dikaitkan dengan mana-mana atur cara atau tidak dibenarkan dalam konteks ini.
+connectionFailure=Firefox tidak dapat mewujudkan sambungan ke pelayan di %S.
+netInterrupt=Sambungan ke %S terganggu semasa halaman sedang dimuatkan.
+netTimeout=Pelayan di %S mengambil masa yang terlalu lama untuk memberi respon.
+redirectLoop=Firefox mengesan pelayan sedang mengarahkan semula permintaan untuk alamat ini dengan cara yang sesekali tidak akan lengkap.
+## LOCALIZATION NOTE (confirmRepostPrompt): In this item, don't translate "%S"
+confirmRepostPrompt=Untuk memaparkan halaman ini, %S mesti menghantar maklumat yang akan mengulang semua tindakan (seperti carian atau pengesahan pesanan) yang dilaksanakan sebelum ini.
+resendButton.label=Hantar Semula
+unknownSocketType=Firefox tidak tahu cara berkomunikasi dengan pelayan.
+netReset=Sambungan dengan pelayan telah ditetapkan semula semasa halaman dimuatkan.
+notCached=Dokumen ini sudah tiada.
+netOffline=Firefox kini dalam mod luar talian dan tidak boleh melayari Web.
+isprinting=Dokumen tidak boleh diubah ketika Mencetak atau dalam Previu Cetak.
+deniedPortAccess=Alamat ini menggunakan port rangkaian yang kebiasaannya digunakan untuk kegunaan selain pelayaran Web. Firefox telah membatalkan permohonan ini untuk menjaga keselamatan anda.
+proxyResolveFailure=Firefox dikonfigurasi menggunakan pelayan proksi yang tidak dapat ditemui.
+proxyConnectFailure=Firefox dikonfigurasi untuk menggunakan pelayan proksi yang menolak sambungan.
+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.
+harmfulBlocked=Laman %S telah dilaporkan sebagai laman penyerang dan telah disekat berdasarkan keutamaan keselamatan anda.
+deceptiveBlocked=Halaman web %S telah dilaporkan sebagai laman mengelirukan dan telah disekat berdasarkan keutamaan keselamatan anda.
+unwantedBlocked=Laman %S telah dilaporkan menyediakan perisian yang tidak diingini dan telah disekat berdasarkan kepada keutamaan 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.
+remoteXUL=Halaman ini menggunakan teknologi yang tidak disokong dan kini tidak lagi disediakan secara piawai dalam Firefox.
+sslv3Used=Firefox tidak dapat menjamin keselamatan data anda dalam %S kerana menggunakan SSLv3, protokol keselamatan yang rosak.
+weakCryptoUsed=Pemilik %S telah mengkofigurasi laman web mereka dengan tidak betul. Untuk meliindungi maklumat anda daripada dicuri, Firefox tidak membuat sambungan dengan laman web ini.
+inadequateSecurityError=Laman web cuba menggunakan tahap keselamatan yang tidak sesuai.
+networkProtocolError=Firefox mengalami pelanggaran protokol rangkaian yang tidak dapat diperbaiki.
diff --git a/l10n-ms/mobile/overrides/netError.dtd b/l10n-ms/mobile/overrides/netError.dtd
new file mode 100644
index 0000000000..1a87af68b0
--- /dev/null
+++ b/l10n-ms/mobile/overrides/netError.dtd
@@ -0,0 +1,206 @@
+<!-- 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/. -->
+
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
+
+<!ENTITY loadError.label "Masalah memuatkan halaman">
+<!ENTITY retry.label "Cuba Lagi">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "Tidak dapat menyambung">
+<!ENTITY connectionFailure.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY deniedPortAccess.title "Alamat ini dihadkan">
+<!ENTITY deniedPortAccess.longDesc "">
+
+<!ENTITY dnsNotFound.title "Pelayan tidak ditemui">
+<!-- LOCALIZATION NOTE (dnsNotFound.longDesc4) This string contains markup including widgets for searching
+ or enabling wifi connections. The text inside tags should be localized. Do not change the ids. -->
+<!ENTITY dnsNotFound.longDesc4 "<ul>
+ <li>Semak alamat untuk kesalahan ejaan seperti
+ <strong>ww</strong>.example.com atau
+ <strong>www</strong>.example.com</li>
+ <div id='searchbox'>
+ <input id='searchtext' type='search'></input>
+ <button id='searchbutton'>Search</button>
+ </div>
+ <li>Jika anda gagal memuatkan mana-mana halaman, semak data peranti atau sambungan Wi-Fi.
+ <button id='wifi'>Dayakan Wi-Fi</button>
+ </li> </ul>">
+
+<!ENTITY fileNotFound.title "Fail tidak ditemui">
+<!ENTITY fileNotFound.longDesc "
+<ul>
+ <li>Semak ralat huruf besar nama fail atau ralat menaip lain.</li>
+ <li>Semak samada fail telah dipindahkan, dinamakan semula atau dibuang.</li>
+</ul>
+">
+
+<!ENTITY fileAccessDenied.title "Akses kepada fail ditolak">
+<!ENTITY fileAccessDenied.longDesc "
+<ul>
+ <li>Mungkin telah dibuang, dipindahkan, atau keizinan fail yang menghalang akses.</li>
+</ul>
+">
+
+<!ENTITY generic.title "Maaf.">
+<!ENTITY generic.longDesc "
+<p>&brandShortName; tidak dapat memuat halaman ini atas beberapa alasan.</p>
+">
+
+<!ENTITY malformedURI.title "Alamat ini tidak sah">
+<!-- LOCALIZATION NOTE (malformedURI.longDesc2) This string contains markup including widgets for searching
+ or enabling wifi connections. The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY malformedURI.longDesc2 "
+<ul>
+ <li>Alamat Web biasanya ditulis seperti
+ <strong>http://www.example.com/</strong></li>
+ <div id='searchbox'>
+ <input id='searchtext' type='search'></input>
+ <button id='searchbutton'>Search</button>
+ </div>
+ <li>Pastikan anda menggunakan garis miring (contoh
+ <strong>/</strong>).</li>
+</ul>
+">
+
+<!ENTITY netInterrupt.title "Sambungan terganggu">
+<!ENTITY netInterrupt.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY notCached.title "Dokumen Luput">
+<!ENTITY notCached.longDesc "<p>Dokumen yang diminta tidak ada dalam cache &brandShortName;.</p><ul><li>Sebagai langkah keselamatan, &brandShortName; tidak akan meminta semula dokumen yang sensitif secara automatik.</li><li>Klik Cuba Lagi untuk meminta semula dokumen daripada laman web.</li></ul>">
+
+<!ENTITY netOffline.title "Mod luar talian">
+
+<!ENTITY contentEncodingError.title "Ralat Pengekodan Kandungan">
+<!ENTITY contentEncodingError.longDesc "
+<ul>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY unsafeContentType.title "Jenis Fail Tidak Selamat">
+<!ENTITY unsafeContentType.longDesc "
+<ul>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY netReset.title "Sambungan diset semula">
+<!ENTITY netReset.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY netTimeout.title "Sambungan telah tamat tempoh">
+<!ENTITY netTimeout.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY unknownProtocolFound.title "Alamat tidak difahami">
+<!ENTITY unknownProtocolFound.longDesc "
+<ul>
+ <li>Anda mungkin perlu pasang perisian lain untuk membuka alamat ini.</li>
+</ul>
+">
+
+<!ENTITY proxyConnectFailure.title "Pelayan proksi menolak sambungan">
+<!ENTITY proxyConnectFailure.longDesc "
+<ul>
+ <li>Semak tetapan proksi untuk memastikan tetapan itu betul.</li>
+ <li>Hubungi pentadbir rangkaian untuk memastikan bahawa pelayan proksi
+ berfungsi.</li>
+</ul>
+">
+
+<!ENTITY proxyResolveFailure.title "Tidak dapat menemui pelayan proksi">
+<!-- LOCALIZATION NOTE (proxyResolveFailure.longDesc3) This string contains markup including widgets for enabling wifi connections.
+ The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY proxyResolveFailure.longDesc3 "<ul> <li>Periksa tetapan proksi untuk memastikan yang ianya adalah betul.</li> <li>Periksa juga yang peranti anda mempunyai sambungan data atau Wi-Fi. <button id='wifi'>Dayakan Wi-Fi</button> </li> </ul>">
+
+<!ENTITY redirectLoop.title "Halaman tidak diarahkan semula dengan betul">
+<!ENTITY redirectLoop.longDesc "
+<ul>
+ <li>Masalah ini kadangkala disebabkan oleh menyahaktifkan atau tidak mahu menerima
+ kuki.</li>
+</ul>
+">
+
+<!ENTITY unknownSocketType.title "Respon tidak dijangka daripada pelayan">
+<!ENTITY unknownSocketType.longDesc "
+<ul>
+ <li>Semak untuk memastikan sistem sudah ada Pengurus Keselamatan Peribadi
+ yang dipasang.</li>
+ <li>Ini mungkin kerana konfigurasi bukan-piawai dalam pelayar.</li>
+</ul>
+">
+
+<!ENTITY nssFailure2.title "Gagal Disambung Dengan Selamat">
+<!ENTITY nssFailure2.longDesc2 "
+<ul>
+ <li>Halaman yang anda mahu lihat tidak dapat dipaparkan kerana autentisiti data yang diterima tidak dapat disahkan.</li>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY nssBadCert.title "Gagal Disambung Dengan Selamat">
+<!ENTITY nssBadCert.longDesc2 "
+<ul>
+ <li>Ini mungkin masalah konfigurasi pelayan, atau mungkin
+seseorang cuba menyamar sebagai pelayan.</li>
+ <li>Jika anda pernah berjaya membuat sambungan ke pelayan ini, ralat ini mungkin
+sementara, dan anda boleh cuba lagi nanti.</li>
+</ul>
+">
+
+<!-- LOCALIZATION NOTE (sharedLongDesc3) This string contains markup including widgets for enabling wifi connections.
+ The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY sharedLongDesc3 "
+<ul>
+ <li>Laman ini mungkin tidak bersedia atau terlalu sibuk. cuba lagi kemudian.</li>
+ <li>Jika anda gagal memuatkan mana-mana halaman, semak data telefon atau sambungan Wi-Fi.
+ <button id='wifi'>Enable Wi-Fi</button>
+ </li>
+</ul>
+">
+
+<!ENTITY cspBlocked.title "Disekat oleh Polisi Keselamatan Kandungan">
+<!ENTITY cspBlocked.longDesc "<p>&brandShortName; menghalang halaman ini daripada dimuatkan kerana ada kandungan yang tidak dibenarkan oleh polisi keselamatan.</p>">
+
+<!ENTITY corruptedContentErrorv2.title "Ralat Kandungan Rosak">
+<!ENTITY corruptedContentErrorv2.longDesc "<p>Halaman yang anda cuba lihat tidak dapat dipaparkan kerana ada ralat dalam transmisi data.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">
+
+<!ENTITY securityOverride.linkText "Atau anda boleh tambah pengecualian…">
+<!ENTITY securityOverride.getMeOutOfHereButton "Keluarkan saya dari sini!">
+<!ENTITY securityOverride.exceptionButtonLabel "Tambah Pengecualian…">
+
+<!-- LOCALIZATION NOTE (securityOverride.warningContent) - Do not translate the
+contents of the <xul:button> tags. The only language content is the label= field,
+which uses strings already defined above. The button is included here (instead of
+netError.xhtml) because it exposes functionality specific to firefox. -->
+
+<!ENTITY securityOverride.warningContent "
+<p>Anda sepatutnya tidak menambah pengecualian jika anda menggunakan sambungan internet yang memang anda tidak percayai atau jika anda tidak biasa melihat amaran untuk pelayan ini.</p>
+
+<button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button>
+<button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>
+">
+
+<!ENTITY remoteXUL.title "XUL jauh">
+<!ENTITY remoteXUL.longDesc "<p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul></p>">
+
+<!ENTITY sslv3Used.title "Tidak dapat Disambung dengan Selamat">
+<!-- LOCALIZATION NOTE (sslv3Used.longDesc) - Do not translate
+ "SSL_ERROR_UNSUPPORTED_VERSION". -->
+<!ENTITY sslv3Used.longDesc "Info lanjutan: SSL_ERROR_UNSUPPORTED_VERSION">
+
+<!ENTITY weakCryptoUsed.title "Sambungan internet anda tidak selamat">
+<!-- LOCALIZATION NOTE (weakCryptoUsed.longDesc) - Do not translate
+ "SSL_ERROR_NO_CYPHER_OVERLAP". -->
+<!ENTITY weakCryptoUsed.longDesc "Info Lanjutan: SSL_ERROR_NO_CYPHER_OVERLAP">
+
+<!ENTITY inadequateSecurityError.title "Sambungan internet anda tidak selamat">
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> menggunakan teknologi keselamatan yang usang dan terdedah kepada serangan. Penyerang dengan mudah boleh mendedahkan maklumat yang anda fikir selamat. Pentadbir laman web perlu membaiki pelayan terlebih dahulu sebelum anda boleh melawat laman ini.</p><p>Kod ralat: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY networkProtocolError.title "Ralat Protokol Rangkaian">
+<!ENTITY networkProtocolError.longDesc "<p>Halaman yang anda cuba papar tidak dapat ditunjukkan kerana ada ralat dalam protokol rangkaian.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">