From: Mike Hommey
Date: Tue, 7 Apr 2020 22:54:16 +0000 (+0100)
Subject: Import firefox-esr_68.7.0esr.orig-l10n-ms.tar.bz2
X-Git-Tag: archive/raspbian/68.7.0esr-1_deb10u1+rpi1^2~32^62
X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ca9dcea08d1ae10b92733de01a2532f96e295e42;p=firefox-esr.git
Import firefox-esr_68.7.0esr.orig-l10n-ms.tar.bz2
[dgit import orig firefox-esr_68.7.0esr.orig-l10n-ms.tar.bz2]
---
ca9dcea08d1ae10b92733de01a2532f96e295e42
diff --git a/browser/branding/official/brand.dtd b/browser/branding/official/brand.dtd
new file mode 100644
index 00000000000..ff19febafdc
--- /dev/null
+++ b/browser/branding/official/brand.dtd
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/browser/branding/official/brand.ftl b/browser/branding/official/brand.ftl
new file mode 100644
index 00000000000..c795af934fd
--- /dev/null
+++ b/browser/branding/official/brand.ftl
@@ -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/.
+
+
+## Firefox Brand
+##
+## Firefox must be treated as a brand, and kept in English.
+## It cannot be:
+## - Declined to adapt to grammatical case.
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-short-name = Firefox
+-vendor-short-name = Mozilla
+-brand-full-name = Mozilla Firefox
+-brand-shorter-name = Firefox
+trademarkInfo = Firefox dan logo Firefox adalah cap dagangan Mozilla Foundation.
diff --git a/browser/branding/official/brand.properties b/browser/branding/official/brand.properties
new file mode 100644
index 00000000000..2133ee92aca
--- /dev/null
+++ b/browser/branding/official/brand.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/.
+
+brandShorterName=Firefox
+brandShortName=Firefox
+brandFullName=Mozilla Firefox
+vendorShortName=Mozilla
+
+homePageSingleStartMain=Mulakan Firefox, laman yang pantas dengan carian terbina dalam
+homePageImport=Import laman anda daripada %S
+
+homePageMigrationPageTitle=Pemilihan Laman
+homePageMigrationDescription=Sila pilih laman yang anda mahu gunakan:
+
+syncBrandShortName=Sync
diff --git a/browser/browser/aboutCertError.ftl b/browser/browser/aboutCertError.ftl
new file mode 100644
index 00000000000..9c488c342b7
--- /dev/null
+++ b/browser/browser/aboutCertError.ftl
@@ -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/.
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-intro = { $hostname } menggunakan sijil keselamatan yang tidak sah.
+cert-error-trust-unknown-issuer-intro = Ada pihak cuba menyamar sebagai laman ini dan anda tidak sepatutnya meneruskan.
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-trust-unknown-issuer = Laman web membuktikan identiti melalui sijil. { -brand-short-name } tidak mempercayai { $hostname } kerana pengeluar sijil yang tidak diketahui, sijil yang ditandatangani sendiri, atau pelayan tidak menghantar sijil perantaraan yang betul.
+cert-error-trust-cert-invalid = Sijil tersebut tidak boleh dipercayai kerana ia telah dikeluarkan oleh sijil CA yang tidak sah.
+cert-error-trust-untrusted-issuer = Sijil tersebut tidak boleh dipercayai kerana pengeluar sijil tidak boleh dipercayai.
+cert-error-trust-signature-algorithm-disabled = Sijil ini tidak boleh dipercayai kerana ia ditandatangani oleh algoritma tandatangan yang dinyahaktifkan disebabkan algoritma yang tidak menjamin keselamatan.
+cert-error-trust-expired-issuer = Sijil tersebut tidak dapat percayai kerana sijil pengeluar telah luput.
+cert-error-trust-self-signed = Sijil ini tidak boleh dipercayai kerana ditandatangani sendiri.
+cert-error-trust-symantec = Sijil yang dikeluarkan oleh GeoTrust, RapidSSL, Symantec, Thawte, dan VeriSign tidak lagi dianggap selamat kerana pihak berkuasa sijil gagal mematuhi amalan keselamatan pada masa lalu.
+cert-error-untrusted-default = Sijil tersebut tidak datang dari sumber yang boleh dipercayai.
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-domain-mismatch = Laman web membuktikan identiti melalui sijil. { -brand-short-name } tidak mempercayai laman ini kerana menggunakan sijil yang tidak sah untuk { $hostname }.
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $alt-name (String) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single = Laman web membuktikan identiti melalui sijil. { -brand-short-name } tidak mempercayai laman ini kerana menggunakan sijil yang tidak sah untuk { $hostname }. Sijil ini hanya sah untuk { $alt-name }.
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $alt-name (String) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single-nolink = Laman web membuktikan identiti melalui sijil. { -brand-short-name } tidak mempercayai laman ini kerana menggunakan sijil yang tidak sah untuk { $hostname }. Sijil ini hanya sah untuk { $alt-name }.
+# Variables:
+# $subject-alt-names (String) - Alternate domain names for which the cert is valid.
+cert-error-domain-mismatch-multiple = Laman web membuktikan identiti melalui sijil. { -brand-short-name } tidak mempercayai laman ini kerana menggunakan sijil yang tidak sah untuk { $hostname }. Sijil ini hanya sah untuk yang berikut: { $subject-alt-names }
+# Variables:
+# $error (String) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix-link = Kod ralat: { $error }
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-symantec-distrust-description = Laman web membuktikan identiti melalui sijil yang dikeluarkan oleh pihak berkuasa sijil. Kebanyakan pelayar tidak lagi mempercayai sijil yang dikeluarkan oleh GeoTrust, RapidSSL, Symantec, Thawte, dan VeriSign. { $hostname } menggunakan sijil daripada salah satu pihak berkuasa ini dan oleh itu identiti laman web tidak dapat dibuktikan.
+cert-error-symantec-distrust-admin = Anda boleh maklumkan pentadbir laman web perihal masalah ini.
diff --git a/browser/browser/aboutDialog.ftl b/browser/browser/aboutDialog.ftl
new file mode 100644
index 00000000000..f59717db5fe
--- /dev/null
+++ b/browser/browser/aboutDialog.ftl
@@ -0,0 +1,34 @@
+# 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/.
+
+aboutDialog-title =
+ .title = Perihal { -brand-full-name }
+releaseNotes-link = Perkembangan terbaru
+update-checkForUpdatesButton =
+ .label = Semak kemaskini
+ .accesskey = S
+update-updateButton =
+ .label = Mula semula untuk mengemaskini { -brand-shorter-name }
+ .accesskey = M
+update-checkingForUpdates = Menyemak kemaskiniâ¦
+update-downloading = Memuat turun kemaskini â
+update-applying = Melaksanakan kemaskiniâ¦
+update-failed = Kemaskini gagal.
+update-failed-main = Kemaskini gagal. Muat turun versi terkini
+update-adminDisabled = Kemaskini dinyahdayakan oleh pentadbir sistem anda
+update-noUpdatesFound = { -brand-short-name } sudah terkini
+update-otherInstanceHandlingUpdates = { -brand-short-name } sedang dikemaskini oleh tika lain
+update-manual = Kemaskini tersedia di
+update-unsupported = Anda tidak boleh lagi melaksanakan kemaskini dalam sistem ini.
+update-restarting = Memulakan semula...
+channel-description = Anda sedang berada dalam saluran kemaskini.
+warningDesc-version = { -brand-short-name } masih dalam percubaan dan mungkin tidak stabil.
+community-exp = adalah bekerjasama supaya Web ini terbuka kepada umum dan boleh diakses oleh semua.
+community-2 = { -brand-short-name } direka oleh , sebuah bekerjasama supaya Web ini terbuka kepada umum dan boleh diakses oleh semua.
+helpus = Mahu membantu? atau
+bottomLinks-license = Maklumat Perlesenan
+bottomLinks-rights = Hak Pengguna Akhir
+bottomLinks-privacy = Polisi Privasi
+aboutDialog-architecture-sixtyFourBit = 64-bit
+aboutDialog-architecture-thirtyTwoBit = 32-bit
diff --git a/browser/browser/aboutPolicies.ftl b/browser/browser/aboutPolicies.ftl
new file mode 100644
index 00000000000..33995423b15
--- /dev/null
+++ b/browser/browser/aboutPolicies.ftl
@@ -0,0 +1,19 @@
+# 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/.
+
+about-policies-title = Polisi Syarikat
+# 'Active' is used to describe the policies that are currently active
+active-policies-tab = Aktif
+errors-tab = Ralat
+documentation-tab = Dokumentasi
+policy-name = Nama Polisi
+policy-value = Nilai Polisi
+policy-errors = Ralat Polisi
+# 'gpo-machine-only' policies are related to the Group Policy features
+# on Windows. Please use the same terminology that is used on Windows
+# to describe Group Policy.
+# These policies can only be set at the computer-level settings, while
+# the other policies can also be set at the user-level.
+gpo-machine-only =
+ .title = Apabila menggunakan Polisi Kumpulan, polisi ini hanya boleh ditetapkan pada peringkat komputer.
diff --git a/browser/browser/aboutPrivateBrowsing.ftl b/browser/browser/aboutPrivateBrowsing.ftl
new file mode 100644
index 00000000000..e3a1e14be17
--- /dev/null
+++ b/browser/browser/aboutPrivateBrowsing.ftl
@@ -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/.
+
+about-private-browsing-learn-more = Ketahui selanjutnya perihal Pelayaran Peribadi.
+about-private-browsing-info-visited = halaman yang dilawati
+privatebrowsingpage-open-private-window-label = Buka Tetingkap Peribadi
+ .accesskey = P
+about-private-browsing-info-notsaved = Apabila anda melayar dalam Tetingkap Peribadi, { -brand-short-name } tidak menyimpan:
+about-private-browsing-info-bookmarks = tandabuku
+about-private-browsing-info-searches = carian
+about-private-browsing-info-downloads = muat turun
+private-browsing-title = Pelayaran Peribadi
+about-private-browsing-info-saved = { -brand-short-name } akan menyimpan untuk anda:
+about-private-browsing-info-clipboard = teks disalin
+about-private-browsing-info-temporary-files = fail sementara
+about-private-browsing-info-cookies = kuki
+tracking-protection-start-tour = Ketahui fungsi ciri ini
+about-private-browsing-note = Pelayaran Peribadi tidak membuatkan anda anonimus dalam internet. Majikan atau penyedia perkhidmatan Internet anda masih boleh tahu halaman yang anda lawati.
+about-private-browsing-not-private = Anda masih belum dalam tetingkap peribadi.
+content-blocking-title = Sekatan Kandungan
+content-blocking-description = Sesetengah laman web menggunakan penjejak yang boleh memantau aktiviti anda di seluruh Internet. Dalam tetingkap peribadi, secara automatik Sekatan Kandungan { -brand-short-name } menyekat penjejak yang boleh mengumpulkan maklumat tingkah laku pelayaran anda.
diff --git a/browser/browser/aboutRestartRequired.ftl b/browser/browser/aboutRestartRequired.ftl
new file mode 100644
index 00000000000..d5de190ea09
--- /dev/null
+++ b/browser/browser/aboutRestartRequired.ftl
@@ -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/.
+
+restart-required-title = Perlu Mula Semula
+restart-required-header = Maaf. Kami hanya perlukan sedikit pembaikan untuk meneruskan.
+restart-required-intro = Kami baru sahaja memasang kemas kini di latar belakang. Klik Mula Semula { -brand-short-name } untuk menyiapkan pemasangan.
+restart-required-description = Kami akan pulihkan semua halaman tetingkap dan tab selepas itu supaya anda boleh teruskan pelayaran.
+restart-button-label = Mula Semula { -brand-short-name }
diff --git a/browser/browser/aboutRobots.ftl b/browser/browser/aboutRobots.ftl
new file mode 100644
index 00000000000..13fa20f7ae0
--- /dev/null
+++ b/browser/browser/aboutRobots.ftl
@@ -0,0 +1,29 @@
+# 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 about:robots page, which ties in with the
+### robots theme used in the Firefox 3 Beta 2/3 first run pages.
+### They're just meant to be fun and whimsical, with references to some geeky
+### but well-known robots in movies and books. Be creative with translations!
+
+# Nonsense line from the movie "The Day The Earth Stood Still". No translation needed.
+page-title = Gort! Klaatu barada nikto!
+# Movie: Logan's Run... Box (cyborg): "Welcome Humans! I am ready for you."
+error-title-text = Selamat Datang!
+# Movie: The Day The Earth Stood Still. Spoken by Klaatu.
+error-short-desc-text = Kami datang melawat anda secara aman dan suasana muhibbah!
+# Various books by Isaac Asimov. http://en.wikipedia.org/wiki/Three_Laws_of_Robotics
+error-long-desc1 = Robot tidak boleh membahayakan manusia, tetapi sebaliknya manusia yang memudaratkan manusia lain.
+# Movie: Blade Runner. Batty: "I've seen things you people wouldnât believe..."
+error-long-desc2 = Robot telah menyaksikan perlbagai perkara yang anda sendiri tidak akan percaya.
+# Book: Hitchhikerâs Guide To The Galaxy. What the Sirius Cybernetics Corporation calls robots.
+error-long-desc3 = Robot adalah Rakan Sepermainan Anda Yang Mesra.
+# TV: Futurama. Bender's first line is "Bite my shiny metal ass."
+error-long-desc4 = Robot diselaputi besi berkilau yang tidak sepatutnya anda gigit.
+# TV: Battlestar Galactica (2004 series). From the opening text.
+error-trailer-desc-text = Dan robot ada perancangannya sendiri.
+# Book: Hitchhiker's Guide To The Galaxy. Arthur presses a button and it warns him.
+error-try-again = Cuba Lagi
+ .label2 = Jangan tekan butang ini lagi.
diff --git a/browser/browser/aboutSessionRestore.ftl b/browser/browser/aboutSessionRestore.ftl
new file mode 100644
index 00000000000..1b6ded5de00
--- /dev/null
+++ b/browser/browser/aboutSessionRestore.ftl
@@ -0,0 +1,40 @@
+# 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/.
+
+restore-page-tab-title = Pulih Sesi
+# The title is intended to be apologetic and disarming, expressing dismay
+# and regret that we are unable to restore the session for the user
+restore-page-error-title = Maaf. Kami menghadapi masalah untuk mendapatkan semula halaman anda.
+restore-page-problem-desc = Kami menghadapi masalah memulihkan sesi pelayaran anda sebelum ini. Pilih Pulih Sesi dan cuba lagi.
+restore-page-try-this = Masih tidak boleh memulihkan sesi anda? Kadang-kadang, tab yang menjadi punca masalah ini. Lihat tab sebelum ini, buangkan tanda pada tab yang anda tidak mahu pulihkan, dan kemudian pulih semula yang lain.
+restore-page-hide-tabs = Sorok Tab Dahulu
+restore-page-show-tabs = Papar Tab Dahulu
+# When tabs are distributed across multiple windows, this message is used as a
+# header above the group of tabs for each window.
+#
+# Variables:
+# $windowNumber: Progressive number associated to each window
+restore-page-window-label = Tetingkap { $windowNumber }
+restore-page-restore-header =
+ .label = Pulih
+restore-page-list-header =
+ .label = Tetingkap dan Tab
+restore-page-try-again-button =
+ .label = Pulih Sesi
+ .accesskey = P
+restore-page-close-button =
+ .label = Mulakan Sesi Baru
+ .accesskey = B
+
+## The following strings are used in about:welcomeback
+
+welcome-back-tab-title = Berjaya!
+welcome-back-page-title = Berjaya!
+welcome-back-page-info = { -brand-short-name } sedia untuk dimulakan.
+welcome-back-restore-button =
+ .label = Mari mulakan!
+ .accesskey = M
+welcome-back-restore-all-label = Pulih semua tetingkap & tab
+welcome-back-restore-some-label = Pulih hanya yang anda mahu
+welcome-back-page-info-link = Add-ons dan penyesuaian anda telah dialih keluar dan tetapan pelayar anda telah dipulihkan kepada piawai. Jika tindakan ini tidak menyelesaikan masalah anda, ketahui selanjutnya apa yang anda boleh lakukan.
diff --git a/browser/browser/aboutTabCrashed.ftl b/browser/browser/aboutTabCrashed.ftl
new file mode 100644
index 00000000000..0a62dd0bbe9
--- /dev/null
+++ b/browser/browser/aboutTabCrashed.ftl
@@ -0,0 +1,24 @@
+# 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/.
+
+crashed-title = Pelapor tab ranap
+crashed-close-tab-button = Tutup Tab
+crashed-restore-tab-button = Pulih Tab Ini
+crashed-restore-all-button = Pulih Semua Tab Ranap
+crashed-header = Alamak. Tab anda sudah ranap.
+crashed-offer-help = Kami boleh membantu!
+crashed-single-offer-help-message = Pilih { crashed-restore-tab-button } untuk memuatkan semula halaman.
+crashed-multiple-offer-help-message = Pilih { crashed-restore-tab-button } atau { crashed-restore-all-button } untuk memuatkan semula halaman.
+crashed-request-help = Anda mahu bantu kami?
+crashed-request-help-message = Laporan ranap membantu kami mendiagnos masalah dan membuatkan { -brand-short-name } lebih baik.
+crashed-request-report-title = Laporkan tab ini
+crashed-send-report = Hantarkan laporan ranap secara automatik supaya kami boleh menyelesaikan masalah seperti ini.
+crashed-comment =
+ .placeholder = Komen pilihan (komen disiarkan kepada umum)
+crashed-include-URL = Sertakan URLs laman yang anda layari semasa { -brand-short-name } ranap.
+crashed-email-placeholder = Masukkan alamat e-mel anda di sini
+crashed-email-me = Hantarkan e-mel kepada saya apabila ada maklumat lanjut
+crashed-report-sent = Laporan ranap telah dihantar; terima kasih kerana membantu menjadikan { -brand-short-name } lebih baik!
+crashed-request-auto-submit-title = Laporkan tab latarbelakang
+crashed-auto-submit-checkbox = Kemaskini keutamaan supaya secara automatik { -brand-short-name } akan menghantarkan laporan apabila ranap.
diff --git a/browser/browser/appMenuNotifications.ftl b/browser/browser/appMenuNotifications.ftl
new file mode 100644
index 00000000000..5e5b9d485ed
--- /dev/null
+++ b/browser/browser/appMenuNotifications.ftl
@@ -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/.
+
+appmenu-update-available =
+ .label = Kemaskini { -brand-shorter-name } baru sudah tersedia.
+ .buttonlabel = Muat turun Kemaskini
+ .buttonaccesskey = M
+ .secondarybuttonlabel = Bukan Sekarang
+ .secondarybuttonaccesskey = B
+appmenu-update-available-message = Kemaskini { -brand-shorter-name } anda untuk kepantasan dan privasi terkini.
+appmenu-update-manual =
+ .label = { -brand-shorter-name } tidak dapat dikemaskini ke versi terbaru.
+ .buttonlabel = Muat turun { -brand-shorter-name }
+ .buttonaccesskey = M
+ .secondarybuttonlabel = Bukan Sekarang
+ .secondarybuttonaccesskey = B
+appmenu-update-manual-message = Muat turun versi baru { -brand-shorter-name } dan kami akan bantu anda untuk memasangnya.
+appmenu-update-whats-new =
+ .value = Lihat perkembangan terbaru.
+appmenu-update-restart =
+ .label = Mula semula untuk mengemaskini { -brand-shorter-name }.
+ .buttonlabel = Mula semula dan Pulihkan
+ .buttonaccesskey = M
+ .secondarybuttonlabel = Bukan Sekarang
+ .secondarybuttonaccesskey = B
+appmenu-update-restart-message = Selepas mula semula, { -brand-shorter-name } akan memulihkan semua tab dan tetingkap terbuka yang bukan dalam mod Pelayaran Peribadi.
+appmenu-addon-post-install-message = Urus add-ons anda dengan mengklik dalam menu .
diff --git a/browser/browser/branding/brandings.ftl b/browser/browser/branding/brandings.ftl
new file mode 100644
index 00000000000..2f30eb28f8e
--- /dev/null
+++ b/browser/browser/branding/brandings.ftl
@@ -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/.
+
+## The following feature names must be treated as a brand, and kept in English.
+## They cannot be:
+## - Declined to adapt to grammatical case.
+## - Transliterated.
+## - Translated.
+
+-facebook-container-brand-name = Facebook Container
+-lockwise-brand-name = Firefox Lockwise
+-monitor-brand-name = Firefox Monitor
+-pocket-brand-name = Pocket
+-send-brand-name = Firefox Send
diff --git a/browser/browser/branding/sync-brand.ftl b/browser/browser/branding/sync-brand.ftl
new file mode 100644
index 00000000000..97a5a013e87
--- /dev/null
+++ b/browser/browser/branding/sync-brand.ftl
@@ -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/.
+
+-sync-brand-short-name = Sync
+# âSyncâ can be localized, âFirefoxâ must be treated as a brand,
+# and kept in English.
+-sync-brand-name = Firefox Sync
+# âAccountâ can be localized, âFirefoxâ must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name = Akaun Firefox
diff --git a/browser/browser/customizeMode.ftl b/browser/browser/customizeMode.ftl
new file mode 100644
index 00000000000..351982f77fb
--- /dev/null
+++ b/browser/browser/customizeMode.ftl
@@ -0,0 +1,45 @@
+# 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/.
+
+customize-mode-restore-defaults =
+ .label = Pulih Piawai
+customize-mode-menu-and-toolbars-header = Seret item kegemaran anda ke dalam menu bar alatan atau menu limpahan.
+customize-mode-overflow-list-title = Menu Limpahan
+customize-mode-uidensity =
+ .label = Ketumpatan
+customize-mode-done =
+ .label = Siap
+customize-mode-lwthemes-menu-manage =
+ .label = Urus
+ .accesskey = U
+customize-mode-toolbars =
+ .label = Bar alatan
+customize-mode-titlebar =
+ .label = Bar Tajuk
+customize-mode-uidensity-menu-touch =
+ .label = Sentuh
+ .accesskey = S
+ .tooltiptext = Sentuh
+customize-mode-uidensity-auto-touch-mode-checkbox =
+ .label = Guna Sentuh untuk Mod Tablet
+customize-mode-extra-drag-space =
+ .label = Ruang Seret
+customize-mode-lwthemes =
+ .label = Tema
+customize-mode-overflow-list-description = Seret dan lepas item di sini untuk memastikan mudah dicapai, tetapi di luar bar alatan andaâ¦
+customize-mode-uidensity-menu-normal =
+ .label = Normal
+ .accesskey = N
+ .tooltiptext = Normal
+customize-mode-uidensity-menu-compact =
+ .label = Padat
+ .accesskey = P
+ .tooltiptext = Padat
+customize-mode-lwthemes-menu-get-more =
+ .label = Dapatkan Lebih Banyak Tema
+ .accesskey = D
+customize-mode-undo-cmd =
+ .label = Batal
+customize-mode-lwthemes-my-themes =
+ .value = Tema Saya
diff --git a/browser/browser/newtab/asrouter.ftl b/browser/browser/newtab/asrouter.ftl
new file mode 100644
index 00000000000..84334325cba
--- /dev/null
+++ b/browser/browser/newtab/asrouter.ftl
@@ -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/.
+
+cfr-doorhanger-extension-heading = Ekstensi Disyorkan
+cfr-doorhanger-extension-sumo-link =
+ .tooltiptext = Kenapa saya lihat ini
+cfr-doorhanger-extension-cancel-button = Bukan Sekarang
+ .accesskey = S
+cfr-doorhanger-extension-ok-button = Tambah Sekarang
+ .accesskey = T
+cfr-doorhanger-extension-manage-settings-button = Urus Tetapan Rekomendasi
+ .accesskey = U
+cfr-doorhanger-extension-never-show-recommendation = Jangan Papar Rekomendasi ini
+ .accesskey = J
+cfr-doorhanger-extension-learn-more-link = Ketahui selanjutnya
+# This string is used on a new line below the add-on name
+# Variables:
+# $name (String) - Add-on author name
+cfr-doorhanger-extension-author = oleh { $name }
+# This is a notification displayed in the address bar.
+# When clicked it opens a panel with a message for the user.
+cfr-doorhanger-extension-notification = Saranan
+
+## Add-on statistics
+## These strings are used to display the total number of
+## users and rating for an add-on. They are shown next to each other.
+
+# Variables:
+# $total (Number) - The rating of the add-on from 1 to 5
+cfr-doorhanger-extension-rating =
+ .tooltiptext =
+ { $total ->
+ *[other] { $total } bintang
+ }
+# Variables:
+# $total (Number) - The total number of users using the add-on
+cfr-doorhanger-extension-total-users =
+ { $total ->
+ *[other] { $total } pengguna
+ }
diff --git a/browser/browser/newtab/onboarding.ftl b/browser/browser/newtab/onboarding.ftl
new file mode 100644
index 00000000000..e9b3db852ba
--- /dev/null
+++ b/browser/browser/newtab/onboarding.ftl
@@ -0,0 +1,30 @@
+# 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/.
+
+
+## UI strings for the simplified onboarding modal
+
+onboarding-button-label-try-now = Cubalah Sekarang
+onboarding-button-label-get-started = Mulakan
+onboarding-welcome-header = Selamat datang ke { -brand-short-name }
+onboarding-start-browsing-button-label = Mulakan Pelayaran
+
+## These strings belong to the individual onboarding messages.
+
+
+## Each message has a title and a description of what the browser feature is.
+## Each message also has an associated button for the user to try the feature.
+## The string for the button is found above, in the UI strings section
+
+onboarding-private-browsing-title = Pelayaran Peribadi
+onboarding-private-browsing-text = Layar sendirian. Pelayaran Peribadi dengan Sekatan Kandungan menyekat penjejak atas talian yang menjejaki anda dalam seluruh web.
+onboarding-screenshots-title = Screenshots
+onboarding-screenshots-text = Ambil, simpan dan kongsi skrinsyot â tanpa keluar daripada { -brand-short-name }. Rakam gambar sebahagian atau keseluruhan halaman sambil melayari web. Kemudian simpan dalam web supaya mudah diiakses dan dikongsi.
+onboarding-addons-title = Add-ons
+onboarding-addons-text = Add-ons membolehkan anda menambah ciri { -brand-short-name } supaya bekerja lebih keras untuk anda. Bandingkan harga, menyemak cuaca atau menggambarkan personaliti anda dengan tema tersuai.
+onboarding-ghostery-title = Ghostery
+onboarding-ghostery-text = Pelayaran lebih cepat, lebih bijak atau lebih selamat dengan ekstensi seperti Ghostery, yang membolehkan anda menyekat iklan yang menjengkelkan.
+# Note: "Sync" in this case is a generic verb, as in "to synchronize"
+onboarding-fxa-title = Sync
+onboarding-fxa-text = Daftar dengan { -fxaccount-brand-name } dan selaraskan tandabuku, kata laluan dan tab terbuka di mana sahaja anda menggunakan { -brand-short-name }.
diff --git a/browser/browser/pageInfo.ftl b/browser/browser/pageInfo.ftl
new file mode 100644
index 00000000000..9f1736a2048
--- /dev/null
+++ b/browser/browser/pageInfo.ftl
@@ -0,0 +1,190 @@
+# 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-info-window =
+ .style = width: 600px; min-height: 550px;
+copy =
+ .key = C
+menu-copy =
+ .label = Salin
+ .accesskey = a
+select-all =
+ .key = A
+menu-select-all =
+ .label = Pilih Semua
+ .accesskey = S
+close-window =
+ .key = A
+general-tab =
+ .label = Umum
+ .accesskey = U
+general-title =
+ .value = Tajuk:
+general-url =
+ .value = Alamat:
+general-type =
+ .value = Jenis:
+general-mode =
+ .value = Mod Penghuraian:
+general-size =
+ .value = Saiz:
+general-referrer =
+ .value = URL Perujuk:
+general-modified =
+ .value = Diubahsuai:
+general-encoding =
+ .value = Pengekodan Teks:
+general-meta-name =
+ .label = Nama
+general-meta-content =
+ .label = Kandungan
+media-tab =
+ .label = Media
+ .accesskey = M
+media-location =
+ .value = Lokasi:
+media-text =
+ .value = Teks Berkaitan:
+media-alt-header =
+ .label = Teks Alternatif
+media-address =
+ .label = Alamat
+media-type =
+ .label = Jenis
+media-size =
+ .label = Saiz
+media-count =
+ .label = Kiraan
+media-dimension =
+ .value = Dimensi:
+media-long-desc =
+ .value = Keterangan:
+media-save-as =
+ .label = Simpan Sebagaiâ¦
+ .accesskey = S
+media-save-image-as =
+ .label = Simpan Sebagaiâ¦
+ .accesskey = e
+media-preview =
+ .value = Previu Media:
+perm-tab =
+ .label = Keizinan
+ .accesskey = K
+permissions-for =
+ .value = Keizinan untuk:
+security-tab =
+ .label = Keselamatan
+ .accesskey = S
+security-view =
+ .label = Papar Sijil
+ .accesskey = V
+security-view-unknown = Tidak diketahui
+ .value = Tidak diketahui
+security-view-identity =
+ .value = Identiti Laman Web
+security-view-identity-owner =
+ .value = Pemilik:
+security-view-identity-domain =
+ .value = Laman web:
+security-view-identity-verifier =
+ .value = Disahkan oleh:
+security-view-identity-validity =
+ .value = Luput pada:
+security-view-privacy =
+ .value = Privasi & Sejarah
+security-view-privacy-history-value = Adakah saya pernah lawati laman web ini sebelum ini?
+security-view-privacy-sitedata-value = Adakah laman web ini menyimpan maklumat dalam komputer saya?
+security-view-privacy-clearsitedata =
+ .label = Buang Kuki dan Data Laman
+ .accesskey = B
+security-view-privacy-passwords-value = Adakah saya pernah simpan kata laluan bagi laman web ini?
+security-view-privacy-viewpasswords =
+ .label = Papar Kata laluan yang Disimpan
+ .accesskey = p
+security-view-technical =
+ .value = Butiran Teknikal
+help-button =
+ .label = Bantuan
+
+## These strings are used to tell the user if the website is storing cookies
+## and data on the users computer in the security tab of pageInfo
+## Variables:
+## $value (number) - Amount of data being stored
+## $unit (string) - The unit of data being stored (Usually KB)
+
+security-site-data-cookies = Ya, kuki dan { $value } { $unit } data laman
+security-site-data-only = Ya, { $value } { $unit } data laman
+security-site-data-cookies-only = Ya, kuki
+security-site-data-no = Tidak
+image-size-unknown = Tidak diketahui
+not-set-verified-by = Tidak dinyatakan
+not-set-alternative-text = Tidak dinyatakan
+not-set-date = Tidak dinyatakan
+media-img = Imej
+media-bg-img = Latar Belakang
+media-border-img = Sempadan
+media-list-img = Peluru
+media-cursor = Kursor
+media-object = Objek
+media-embed = Benam
+media-link = Ikon
+media-input = Input
+media-video = Video
+media-audio = Audio
+saved-passwords-yes = Ya
+saved-passwords-no = Tidak
+no-page-title =
+ .value = Halaman Tak Bertajuk:
+general-quirks-mode =
+ .value = Mod kekhasan
+general-strict-mode =
+ .value = Mod pematuhan piawai
+security-no-owner = Laman web ini tidak menyediakan maklumat pemilik.
+media-select-folder = Pilih Folder untuk Simpan Imej
+media-unknown-not-cached =
+ .value = Tidak diketahui (tiada cache)
+permissions-use-default =
+ .label = Guna Piawai
+security-no-visits = Tidak
+# This string is used to display the type of
+# an image
+# Variables:
+# $type (string) - The type of an image
+media-image-type =
+ .value = Imej { $type }
+# This string is used to display the size of a scaled image
+# in both scaled and unscaled pixels
+# Variables:
+# $dimx (number) - The horizontal size of an image
+# $dimy (number) - The vertical size of an image
+# $scaledx (number) - The scaled horizontal size of an image
+# $scaledy (number) - The scaled vertical size of an image
+media-dimensions-scaled =
+ .value = { $dimx }px à { $dimy }px (berskala { $scaledx }px à { $scaledy }px)
+# This string is used to display the size of an image in pixels
+# Variables:
+# $dimx (number) - The horizontal size of an image
+# $dimy (number) - The vertical size of an image
+media-dimensions =
+ .value = { $dimx }px à { $dimy }px
+# This string is used to display the size of a media
+# file in kilobytes
+# Variables:
+# $size (number) - The size of the media file in kilobytes
+media-file-size = { $size } KB
+# This string is used to display the website name next to the
+# "Block Images" checkbox in the media tab
+# Variables:
+# $website (string) - The website name
+media-block-image =
+ .label = Sekat imej dari { $website }
+ .accesskey = B
+# This string is used to display the URL of the website on top of the
+# pageInfo dialog box
+# Variables:
+# $website (string) - The url of the website pageInfo is getting info for
+page-info-page =
+ .title = Info Halaman - { $website }
+page-info-frame =
+ .title = Info Bingkai- { $website }
diff --git a/browser/browser/panicButton.ftl b/browser/browser/panicButton.ftl
new file mode 100644
index 00000000000..87d61aaafa5
--- /dev/null
+++ b/browser/browser/panicButton.ftl
@@ -0,0 +1,31 @@
+# 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/.
+
+panic-button-open-new-window = Buka Tetingkap baru
+panic-button-undo-warning = Tindakan ini tidak boleh dibatalkan.
+panic-button-forget-button =
+ .label = Lupakan!
+
+## These strings are combined to form a complete sentence starting with
+## panic-main-timeframe-desc. For example: "Forget the last: Five minutes".
+## Please ensure that this remains the case in the translation.
+
+panic-main-timeframe-desc = Lupakan tempoh terdahulu:
+panic-button-5min =
+ .label = Lima minit
+panic-button-2hr =
+ .label = Dua jam
+panic-button-day =
+ .label = 24 jam
+
+## These strings are combined to form a complete sentence starting with
+## panic-button-action-desc. For example: "Proceeding will: Delete Recent Cookies".
+## Please ensure that this remains the case in the translation.
+## Note also that some strings include tags for emphasis on the
+## words "Cookies", "History", "Tabs" and "Windows". The translation should do the same.
+
+panic-button-action-desc = Dengan meneruskan akan:
+panic-button-delete-cookies = Buang Kuki Terkini
+panic-button-delete-history = Buang Sejarah Terkini
+panic-button-delete-tabs-and-windows = Tutup semua Tab dan Tetingkap
diff --git a/browser/browser/policies/policies-descriptions.ftl b/browser/browser/policies/policies-descriptions.ftl
new file mode 100644
index 00000000000..d18cb128468
--- /dev/null
+++ b/browser/browser/policies/policies-descriptions.ftl
@@ -0,0 +1,75 @@
+# 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/.
+
+
+## The Enterprise Policies feature is aimed at system administrators
+## who want to deploy these settings across several Firefox installations
+## all at once. This is traditionally done through the Windows Group Policy
+## feature, but the system also supports other forms of deployment.
+## These are short descriptions for individual policies, to be displayed
+## in the documentation section in about:policies.
+
+policy-AppUpdateURL = Tetapkan aplikasi penyesuaian kemaskini URL.
+policy-Authentication = Konfigurasi pengesahan bersepadu untuk laman web yang menyokongnya.
+policy-BlockAboutAddons = Sekat akses ke Pengurus Add-ons (about: addons).
+policy-BlockAboutConfig = Sekat akses ke halaman about:config.
+policy-BlockAboutProfiles = Sekat akses ke halaman about:profiles.
+policy-BlockAboutSupport = Sekat akses ke halaman about:support.
+policy-Bookmarks = Cipta tandabuku dalam bar alatan Tandabuku, menu Tandabuku atau folder khusus di dalamnya.
+policy-Certificates = Sama ada menggunakan atau tidak sijil terbina dalam. Polisi ini hanya untuk Windows buat masa ini.
+policy-CertificatesDescription = Tambah sijil atau gunakan sijil terbina dalam.
+policy-Cookies = Izinkan atau tidak laman web menetapkan kuki.
+policy-DisableAppUpdate = Halang pelayar daripada mengemaskini.
+policy-DisableBuiltinPDFViewer = Nyahdayakan PDF.js, pemapar PDF terbina-dalam { -brand-short-name }.
+policy-DisableDeveloperTools = Sekat akses ke alatan pembangun.
+policy-DisableFeedbackCommands = Nyahdayakan perintah untuk menghantar maklum balas daripada menu Bantuan (Hantar Maklum balas dan Laporkan Laman Mengelirukan).
+policy-DisableFirefoxAccounts = Nyahdayakan perkhidmatan asas { -fxaccount-brand-name }, termasuk Sync.
+# Firefox Screenshots is the name of the feature, and should not be translated.
+policy-DisableFirefoxScreenshots = Nyahdayakan ciri Firefox Screenshots.
+policy-DisableFirefoxStudies = Halang { -brand-short-name } melaksanakan kajian.
+policy-DisableForgetButton = Halang akses ke butang Lupa.
+policy-DisableFormHistory = Jangan ingat sejarah carian dan borang.
+policy-DisableMasterPasswordCreation = Jika true, kata laluan induk tidak boleh dicipta.
+policy-DisablePocket = Nyahdayakan ciri untuk menyimpan laman web ke Pocket.
+policy-DisablePrivateBrowsing = Nyahdayakan Pelayaran Peribadi.
+policy-DisableProfileImport = Nyahdayakan menu perintah untuk mengimport data daripada pelayar lain.
+policy-DisableProfileRefresh = Nyahdayakan butang Muat semula { -brand-short-name } dalam halaman about:support.
+policy-DisableSafeMode = Nyahdayakan ciri Mula semula dalam Mod Selamat. Nota: kekunci Shift untuk memasuki Mod Selamat hanya boleh dinyahdayakan dalam Windows menggunakan Polisi Kumpulan.
+policy-DisableSecurityBypass = Halang pengguna daripada memintas amaran keselamatan tertentu.
+policy-DisableSetDesktopBackground = Nyahdayakan menu perintah Tetapkan Imej sebagai Latar belakang Desktop.
+policy-DisableSetAsDesktopBackground = Nyahdayakan perintah menu Tetapkan sebagai Latar belakang Desktop untuk imej.
+policy-DisableSystemAddonUpdate = Halang pelayar daripada memasang dan mengemaskini sistem add-ons.
+policy-DisableTelemetry = Nyahaktifkan Telemetry.
+policy-DisplayBookmarksToolbar = Papar Bar alatan Tandabuku secara piawai.
+policy-DisplayMenuBar = Papar Bar Menu secara piawai.
+policy-DNSOverHTTPS = Konfigurasi DNS mengatasi HTTPS
+policy-DontCheckDefaultBrowser = Nyahdayakan pilihan untuk pelayar piawai pada permulaan.
+# âlockâ means that the user wonât be able to change this setting
+policy-EnableTrackingProtection = Dayakan atau Nyahdayakan Sekatan Kandungan dan pilihan untuk menguncinya.
+# A âlockedâ extension canât be disabled or removed by the user. This policy
+# takes 3 keys (âInstallâ, âUninstallâ, âLockedâ), you can either keep them in
+# English or translate them as verbs. See also:
+# https://github.com/mozilla/policy-templates/blob/master/README.md#extensions-machine-only
+policy-Extensions = Pasang, nyahpasang atau kunci ekstensi. Pilihan Pasang menggunakan URL atau laluan sebagai parameter. Pilihan Nyahpasang dan Dikunci menggunakan ID ekstensi.
+policy-FlashPlugin = Izinkan atau tidak penggunaan plugin Flash.
+policy-HardwareAcceleration = Jika false, nyahaktifkan pecutan perkakasan.
+# âlockâ means that the user wonât be able to change this setting
+policy-Homepage = Tetapkan dan pilihan mengunci Laman.
+policy-InstallAddonsPermission = Izinkan laman web tertentu untuk memasang add-ons.
+policy-NoDefaultBookmarks = Nyahdayakan penciptaan tandabuku piawai yang disertakan dengan { -brand-short-name }, dan Tandabuku Pintar (Paling Dilawati, Tag Terkini). Nota: polisi ini hanya berkesan jika digunakan sebelum profil pertama dilaksanakan.
+policy-OfferToSaveLogins = Kuatkuasakan tatacara untuk mengizinkan { -brand-short-name } mengingatkan log masuk dan kata laluan yang disimpan. Kedua-dua nilai true dan false akan diterima.
+policy-OverrideFirstRunPage = Tulis ganti halaman pelaksanaan pertama. Tetapkan polisi ini ke kosong jika anda mahu menyahdayakan halaman pelaksanaan pertama.
+policy-OverridePostUpdatePage = Tulis ganti halaman selepas-kemaskini "What's New". Tetapkan polisi ini ke kosong jika anda mahu menyahdayakan halaman selepas-kemaskini.
+policy-Permissions = Konfigurasi keizinan untuk kamera, mikrofon, lokasi dan notifikasi.
+policy-PopupBlocking = Izinkan laman web tertentu untuk memaparkan popups secara piawai.
+policy-Proxy = Konfigurasi tetapan proksi.
+policy-RequestedLocales = Tetapkan senarai lokaliti aplikasi yang diminta mengikut turutan keutamaan.
+policy-SanitizeOnShutdown = Buang semua data navigasi ketika penutupan.
+policy-SearchBar = Tetapkan lokasi piawai bar carian. Pengguna masih boleh menyesuaikannya.
+policy-SearchEngines = Konfigurasi tetapan enjin carian. Polisi ini hanya boleh didapati dalam versi Extended Support Release (ESR).
+# For more information, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/PKCS11/Module_Installation
+policy-SecurityDevices = Pasang modul PKCS #11.
+# âformatâ refers to the format used for the value of this policy. See also:
+# https://github.com/mozilla/policy-templates/blob/master/README.md#websitefilter-machine-only
+policy-WebsiteFilter = Sekat laman web daripada dilawati. Lihat dokumentasi untuk maklumat lanjut format berkenaan.
diff --git a/browser/browser/preferences/applicationManager.ftl b/browser/browser/preferences/applicationManager.ftl
new file mode 100644
index 00000000000..9893179f94c
--- /dev/null
+++ b/browser/browser/preferences/applicationManager.ftl
@@ -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/.
+
+app-manager-window =
+ .title = Butiran aplikasi
+ .style = width: 30em; min-height: 20em;
+app-manager-remove =
+ .label = Buang
+ .accesskey = B
+app-manager-handle-webfeeds = Aplikasi berikut boleh digunakan untuk mengendalikan Suapan Web.
+# Variables:
+# $type (String) - the URI scheme of the link (e.g. mailto:)
+app-manager-handle-protocol = Aplikasi berikut boleh digunakan untuk mengendalikan Pautan { $type }.
+# Variables:
+# $type (String) - the MIME type (e.g. application/binary)
+app-manager-handle-file = Aplikasi berikut boleh digunakan untuk mengendalikan Kandungan { $type }.
+
+## These strings are followed, on a new line,
+## by the URL or path of the application.
+
+app-manager-web-app-info = Aplikasi web ini dihoskan di:
+app-manager-local-app-info = Aplikasi ini berada di:
diff --git a/browser/browser/preferences/blocklists.ftl b/browser/browser/preferences/blocklists.ftl
new file mode 100644
index 00000000000..60d30045e84
--- /dev/null
+++ b/browser/browser/preferences/blocklists.ftl
@@ -0,0 +1,30 @@
+# 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/.
+
+blocklist-window =
+ .title = Senarai Sekatan
+ .style = width: 55em
+blocklist-desc = Anda boleh pilih senarai yang akan digunakan { -brand-short-name } untuk menyekat elemen Web yang mungkin menjejaki aktiviti pelayaran anda.
+blocklist-close-key =
+ .key = w
+blocklist-treehead-list =
+ .label = Senarai
+blocklist-button-cancel =
+ .label = Batal
+ .accesskey = t
+blocklist-button-ok =
+ .label = Simpan Perubahan
+ .accesskey = S
+# This template constructs the name of the block list in the block lists dialog.
+# It combines the list name and description.
+# e.g. "Standard (Recommended). This list does a pretty good job."
+#
+# Variables:
+# $listName {string, "Standard (Recommended)."} - List name.
+# $description {string, "This list does a pretty good job."} - Description of the list.
+blocklist-item-list-template = { $listName } { $description }
+blocklist-item-moz-std-name = Perlindungan asas Disconnect.me (Disyorkan).
+blocklist-item-moz-std-desc = Izinkan sesetengah penjejak supaya laman web berfungsi dengan betul.
+blocklist-item-moz-full-name = Disconnect.me strict protection.
+blocklist-item-moz-full-desc = Sekat penjejak yang diketahui. Sesetengah laman web mungkin tidak akan berfungsi dengan sempurna.
diff --git a/browser/browser/preferences/clearSiteData.ftl b/browser/browser/preferences/clearSiteData.ftl
new file mode 100644
index 00000000000..3bf51fca22e
--- /dev/null
+++ b/browser/browser/preferences/clearSiteData.ftl
@@ -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/.
+
+clear-site-data-window =
+ .title = Buang Data
+ .style = width: 35em
+clear-site-data-description = Membersihkan semua kuki dan lokasi data yang disimpan oleh { -brand-short-name } boleh menyebabkan anda didaftar keluar dari laman web dan kandungan web luar talian dibuang. Membersihkan data cache tidak akan menjejaskan log masuk anda.
+clear-site-data-close-key =
+ .key = w
+# The parameters in parentheses in this string describe disk usage
+# in the format ($amount $unit), e.g. "Cookies and Site Data (24 KB)"
+# Variables:
+# $amount (Number) - Amount of site data currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+clear-site-data-cookies-with-data =
+ .label = Kuki dan Data Laman ({ $amount } { $unit })
+ .accesskey = L
+# This string is a placeholder for while the data used to fill
+# clear-site-data-cookies-with-data is loading. This placeholder is usually
+# only shown for a very short time (< 1s), so it should be very similar
+# or the same as clear-site-data-cookies-with-data (except the amount and unit),
+# to avoid flickering.
+clear-site-data-cookies-empty =
+ .label = Kuki dan Data Laman
+ .accesskey = L
+clear-site-data-cookies-info = Anda didaftar keluar daripada laman web jika dibersihkan
+# The parameters in parentheses in this string describe disk usage
+# in the format ($amount $unit), e.g. "Cached Web Content (24 KB)"
+# Variables:
+# $amount (Number) - Amount of cache currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+clear-site-data-cache-with-data =
+ .label = Cache Kandungan Web ({ $amount } { $unit })
+ .accesskey = W
+# This string is a placeholder for while the data used to fill
+# clear-site-data-cache-with-data is loading. This placeholder is usually
+# only shown for a very short time (< 1s), so it should be very similar
+# or the same as clear-site-data-cache-with-data (except the amount and unit),
+# to avoid flickering.
+clear-site-data-cache-empty =
+ .label = Cache Kandungan Web
+ .accesskey = W
+clear-site-data-cache-info = Laman web perlu memuatkan semula imej dan data
+clear-site-data-cancel =
+ .label = Batal
+ .accesskey = B
+clear-site-data-clear =
+ .label = Buang
+ .accesskey = u
diff --git a/browser/browser/preferences/colors.ftl b/browser/browser/preferences/colors.ftl
new file mode 100644
index 00000000000..2e29e2ada29
--- /dev/null
+++ b/browser/browser/preferences/colors.ftl
@@ -0,0 +1,37 @@
+# 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/.
+
+colors-window =
+ .title = Warna
+ .style =
+ { PLATFORM() ->
+ [macos] width: 41em
+ *[other] width: 38em
+ }
+colors-close-key =
+ .key = w
+colors-page-override = Gantikan warna yang telah ditetapkan oleh halaman dengan pilihan anda di atas
+ .accesskey = G
+colors-page-override-option-always =
+ .label = Sentiasa
+colors-page-override-option-auto =
+ .label = Hanya dengan tema Kontras Tinggi
+colors-page-override-option-never =
+ .label = Jangan sesekali
+colors-text-and-background = Teks dan Latar Belakang
+colors-text-header = Teks
+ .accesskey = T
+colors-background = Latar Belakang
+ .accesskey = L
+colors-use-system =
+ .label = Guna warna sistem
+ .accesskey = s
+colors-underline-links =
+ .label = Garis bawah pautan
+ .accesskey = G
+colors-links-header = Warna Pautan
+colors-unvisited-links = Pautan Belum Dilawat
+ .accesskey = P
+colors-visited-links = Pautan Dilawati
+ .accesskey = D
diff --git a/browser/browser/preferences/connection.ftl b/browser/browser/preferences/connection.ftl
new file mode 100644
index 00000000000..65f99073406
--- /dev/null
+++ b/browser/browser/preferences/connection.ftl
@@ -0,0 +1,85 @@
+# 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/.
+
+connection-window =
+ .title = Tetapan Sambungan
+ .style =
+ { PLATFORM() ->
+ [macos] width: 44em
+ *[other] width: 49em
+ }
+connection-close-key =
+ .key = w
+connection-disable-extension =
+ .label = Nyahdayakan Ekstensi
+connection-proxy-configure = Tetapkan Akses Proksi ke Internet
+connection-proxy-option-no =
+ .label = Tiada proksi
+ .accesskey = p
+connection-proxy-option-system =
+ .label = Guna tetapan proksi sistem
+ .accesskey = u
+connection-proxy-option-auto =
+ .label = Auto-kesan tetapan proksi untuk rangkaian ini
+ .accesskey = o
+connection-proxy-option-manual =
+ .label = Konfigurasi proksi manual
+ .accesskey = m
+connection-proxy-http = Proksi HTTP
+ .accesskey = k
+connection-proxy-http-port = Port
+ .accesskey = P
+connection-proxy-http-share =
+ .label = Guna pelayan proksi ini untuk semua protokol
+ .accesskey = s
+connection-proxy-ssl = Proksi SSL
+ .accesskey = L
+connection-proxy-ssl-port = Port
+ .accesskey = o
+connection-proxy-ftp = Proksi FTP
+ .accesskey = F
+connection-proxy-ftp-port = Port
+ .accesskey = r
+connection-proxy-socks = Hos SOCKS
+ .accesskey = C
+connection-proxy-socks-port = Port
+ .accesskey = t
+connection-proxy-socks4 =
+ .label = SOCKS v4
+ .accesskey = K
+connection-proxy-socks5 =
+ .label = SOCKS v5
+ .accesskey = v
+connection-proxy-noproxy = Tiada proksi untuk
+ .accesskey = n
+connection-proxy-noproxy-desc = Contoh: .mozilla.org, .net.nz, 192.168.1.0/24
+connection-proxy-autotype =
+ .label = URL konfigurasi proksi automatik
+ .accesskey = A
+connection-proxy-reload =
+ .label = Muat semula
+ .accesskey = e
+connection-proxy-autologin =
+ .label = Jangan paparkan pengesahan jika kata laluan telah disimpan
+ .accesskey = i
+ .tooltip = Pilihan ini mengesahkan secara senyap apabila anda ada menyimpan kelayakan bagi pihak proksi. Tapi anda akan dimaklumkan jika pengesahan gagal.
+connection-proxy-socks-remote-dns =
+ .label = Proksi DNS apabila menggunakan SOCKS v5
+ .accesskey = d
+connection-dns-over-https =
+ .label = Dayakan DNS mengatasi HTTPS
+ .accesskey = D
+connection-dns-over-https-url = URL
+ .accesskey = U
+ .tooltiptext = URL untuk menyelesaikan semula DNS mengatasi HTTPS
+# Variables:
+# $url (String) - URL for the DNS over HTTPS provider
+connection-dns-over-https-url-default =
+ .label = Guna piawai ({ $url })
+ .accesskey = G
+ .tooltiptext = Guna URL piawai untuk menyelesaikan DNS ke atas HTTPS
+connection-dns-over-https-url-custom =
+ .label = Penyesuaian
+ .accesskey = P
+ .tooltiptext = Masukkan URL keutamaan untuk menyelesaikan DNS ke atas HTTPS
diff --git a/browser/browser/preferences/containers.ftl b/browser/browser/preferences/containers.ftl
new file mode 100644
index 00000000000..96cec2af736
--- /dev/null
+++ b/browser/browser/preferences/containers.ftl
@@ -0,0 +1,80 @@
+# 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/.
+
+containers-window-new =
+ .title = Tambah Penyimpan Baru
+ .style = width: 45em
+# Variables
+# $name (String) - Name of the container
+containers-window-update =
+ .title = { $name } Keutamaan Penyimpan
+ .style = width: 45em
+containers-window-close =
+ .key = w
+# This is a term to store style to be applied
+# on the three labels in the containers add/edit dialog:
+# - name
+# - icon
+# - color
+#
+# Using this term and referencing it in the `.style` attribute
+# of the three messages ensures that all three labels
+# will be aligned correctly.
+-containers-labels-style = min-width: 4rem
+containers-name-label = Nama
+ .accesskey = N
+ .style = { -containers-labels-style }
+containers-name-text =
+ .placeholder = Masukkan nama penyimpan
+containers-icon-label = Ikon
+ .accesskey = I
+ .style = { -containers-labels-style }
+containers-color-label = Warna
+ .accesskey = W
+ .style = { -containers-labels-style }
+containers-button-done =
+ .label = Siap
+ .accesskey = S
+containers-color-blue =
+ .label = Biru
+containers-color-turquoise =
+ .label = Firus
+containers-color-green =
+ .label = Hijau
+containers-color-yellow =
+ .label = Kuning
+containers-color-orange =
+ .label = Oren
+containers-color-red =
+ .label = Merah
+containers-color-pink =
+ .label = Merah jambu
+containers-color-purple =
+ .label = Ungu
+containers-icon-fingerprint =
+ .label = Cap jari
+containers-icon-briefcase =
+ .label = Beg bimbit
+# String represents a money sign but currently uses a dollar sign
+# so don't change to local currency. See Bug 1291672.
+containers-icon-dollar =
+ .label = Dollar sign
+containers-icon-cart =
+ .label = Karung belian
+containers-icon-circle =
+ .label = Dot
+containers-icon-vacation =
+ .label = Percutian
+containers-icon-gift =
+ .label = Hadiah
+containers-icon-food =
+ .label = Makanan
+containers-icon-fruit =
+ .label = Buah-buahan
+containers-icon-pet =
+ .label = Haiwan Peliharaan
+containers-icon-tree =
+ .label = Pepohon
+containers-icon-chill =
+ .label = Kedinginan
diff --git a/browser/browser/preferences/fonts.ftl b/browser/browser/preferences/fonts.ftl
new file mode 100644
index 00000000000..88a5d7343af
--- /dev/null
+++ b/browser/browser/preferences/fonts.ftl
@@ -0,0 +1,149 @@
+# 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/.
+
+fonts-window =
+ .title = Fon
+fonts-window-close =
+ .key = w
+
+## Font groups by language
+
+fonts-langgroup-header = Fon untuk
+ .accesskey = F
+fonts-langgroup-arabic =
+ .label = Arabic
+fonts-langgroup-armenian =
+ .label = Armenian
+fonts-langgroup-bengali =
+ .label = Bengali
+fonts-langgroup-simpl-chinese =
+ .label = Simplified Chinese
+fonts-langgroup-trad-chinese-hk =
+ .label = Traditional Chinese (Hong Kong)
+fonts-langgroup-trad-chinese =
+ .label = Traditional Chinese (Taiwan)
+fonts-langgroup-cyrillic =
+ .label = Cyrillic
+fonts-langgroup-devanagari =
+ .label = Devanagari
+fonts-langgroup-ethiopic =
+ .label = Ethiopic
+fonts-langgroup-georgian =
+ .label = Georgian
+fonts-langgroup-el =
+ .label = Greek
+fonts-langgroup-gujarati =
+ .label = Gujarati
+fonts-langgroup-gurmukhi =
+ .label = Gurmukhi
+fonts-langgroup-japanese =
+ .label = Japanese
+fonts-langgroup-hebrew =
+ .label = Hebrew
+fonts-langgroup-kannada =
+ .label = Kannada
+fonts-langgroup-khmer =
+ .label = Khmer
+fonts-langgroup-korean =
+ .label = Korean
+# Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
+fonts-langgroup-latin =
+ .label = Latin
+fonts-langgroup-malayalam =
+ .label = Malayalam
+fonts-langgroup-math =
+ .label = Mathematics
+fonts-langgroup-odia =
+ .label = Odia
+fonts-langgroup-sinhala =
+ .label = Sinhala
+fonts-langgroup-tamil =
+ .label = Tamil
+fonts-langgroup-telugu =
+ .label = Telugu
+fonts-langgroup-thai =
+ .label = Thai
+fonts-langgroup-tibetan =
+ .label = Tibetan
+fonts-langgroup-canadian =
+ .label = Unified Canadian Syllabary
+fonts-langgroup-other =
+ .label = Sistem Penulisan Lain
+
+## Default fonts and their sizes
+
+fonts-proportional-header = Perkadaran
+ .accesskey = P
+fonts-default-serif =
+ .label = Serif
+fonts-default-sans-serif =
+ .label = Sans Serif
+fonts-proportional-size = Saiz
+ .accesskey = z
+fonts-serif = Serif
+ .accesskey = S
+fonts-sans-serif = Sans-serif
+ .accesskey = n
+fonts-monospace = Monospace
+ .accesskey = M
+fonts-monospace-size = Saiz
+ .accesskey = S
+fonts-minsize = Saiz fon minimum
+ .accesskey = o
+fonts-minsize-none =
+ .label = Tiada
+fonts-allow-own =
+ .label = Izinkan halaman memilih fon sendiri, bukannya pilihan anda di atas
+ .accesskey = I
+
+## Text Encodings
+##
+## Translate the encoding names as adjectives for an encoding, not as the name
+## of the language.
+
+fonts-languages-fallback-header = Pengekodan Teks untuk Kandungan Legasi
+fonts-languages-fallback-desc = Pengekodan aksara ini digunakan untuk kandungan legasi yang gagal diisyhtiharkan pengekodannya.
+fonts-languages-fallback-label = Pengekodan Teks Unduran
+ .accesskey = T
+fonts-languages-fallback-name-auto =
+ .label = Lokaliti Semasa Piawai
+fonts-languages-fallback-name-arabic =
+ .label = Arabic
+fonts-languages-fallback-name-baltic =
+ .label = Baltic
+fonts-languages-fallback-name-ceiso =
+ .label = Central European, ISO
+fonts-languages-fallback-name-cewindows =
+ .label = Central European, Microsoft
+fonts-languages-fallback-name-simplified =
+ .label = Chinese, Simplified
+fonts-languages-fallback-name-traditional =
+ .label = Chinese, Traditional
+fonts-languages-fallback-name-cyrillic =
+ .label = Cyrillic
+fonts-languages-fallback-name-greek =
+ .label = Greek
+fonts-languages-fallback-name-hebrew =
+ .label = Hebrew
+fonts-languages-fallback-name-japanese =
+ .label = Japanese
+fonts-languages-fallback-name-korean =
+ .label = Korean
+fonts-languages-fallback-name-thai =
+ .label = Thai
+fonts-languages-fallback-name-turkish =
+ .label = Turkish
+fonts-languages-fallback-name-vietnamese =
+ .label = Vietnamese
+fonts-languages-fallback-name-other =
+ .label = Lain-lain (termasuk Western European)
+fonts-very-large-warning-title = Saiz fon minimum besar
+fonts-very-large-warning-message = Anda telah memilih saiz fon minimum yang sangat besar (lebih dari 24 piksel). Ini boleh menyukarkan atau mustahil untuk anda menggunakan konfigurasi beberapa halaman penting seperti ini.
+fonts-very-large-warning-accept = Kekalkan sahaja perubahan saya
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = Piawai ({ $name })
+fonts-label-default-unnamed =
+ .label = Piawai
diff --git a/browser/browser/preferences/languages.ftl b/browser/browser/preferences/languages.ftl
new file mode 100644
index 00000000000..83bfa46734a
--- /dev/null
+++ b/browser/browser/preferences/languages.ftl
@@ -0,0 +1,58 @@
+# 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/.
+
+languages-window =
+ .title = Bahasa
+ .style = width: 30em
+webpage-languages-window =
+ .title = Tetapan Bahasa Halaman Web
+ .style = width: 40em
+languages-close-key =
+ .key = w
+languages-description = Halaman web kadangkala boleh diperoleh dalam lebih daripada satu bahasa. Pilih bahasa untuk memaparkan halaman laman web ini, mengikut keutamaan
+languages-customize-spoof-english =
+ .label = Minta halaman web versi Bahasa Inggeris untuk lebih privasi
+languages-customize-moveup =
+ .label = Pindah Atas
+ .accesskey = A
+languages-customize-movedown =
+ .label = Pindah Bawah
+ .accesskey = B
+languages-customize-remove =
+ .label = Buang
+ .accesskey = B
+languages-customize-select-language =
+ .placeholder = Pilih bahasa untuk ditambahâ¦
+languages-customize-add =
+ .label = Tambah
+ .accesskey = T
+# The pattern used to generate strings presented to the user in the
+# locale selection list.
+#
+# Example:
+# Icelandic [is]
+# Spanish (Chile) [es-CL]
+#
+# Variables:
+# $locale (String) - A name of the locale (for example: "Icelandic", "Spanish (Chile)")
+# $code (String) - Locale code of the locale (for example: "is", "es-CL")
+languages-code-format =
+ .label = { $locale } [{ $code }]
+languages-active-code-format =
+ .value = { languages-code-format.label }
+browser-languages-window =
+ .title = Tetapan Bahasa { -brand-short-name }
+ .style = width: 40em
+browser-languages-description = { -brand-short-name } akan memaparkan bahasa yang pertama sebagai piawai dan akan memaparkan bahasa alternatif jika ada, mengikut susunan paparan.
+browser-languages-search = Cari lebih banyak bahasa...
+browser-languages-searching =
+ .label = Mencari bahasa...
+browser-languages-downloading =
+ .label = Memuat turunâ¦
+browser-languages-select-language =
+ .label = Pilih bahasa untuk ditambahâ¦
+ .placeholder = Pilih bahasa untuk ditambahâ¦
+browser-languages-installed-label = Bahasa dipasang
+browser-languages-available-label = Bahasa yang tersedia
+browser-languages-error = { -brand-short-name } tidak dapat mengemaskini bahasa anda buat masa ini. Semak sambungan internet atau cuba lagi.
diff --git a/browser/browser/preferences/permissions.ftl b/browser/browser/preferences/permissions.ftl
new file mode 100644
index 00000000000..d8055fe2353
--- /dev/null
+++ b/browser/browser/preferences/permissions.ftl
@@ -0,0 +1,143 @@
+# 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/.
+
+permissions-window =
+ .title = Pengecualian
+ .style = width: 45em
+permissions-close-key =
+ .key = w
+permissions-address = Alamat laman web
+ .accesskey = l
+permissions-block =
+ .label = Sekat
+ .accesskey = a
+permissions-session =
+ .label = Izinkan untuk Sesi
+ .accesskey = S
+permissions-allow =
+ .label = Izinkan
+ .accesskey = A
+permissions-site-name =
+ .label = Laman web
+permissions-status =
+ .label = Status
+permissions-remove =
+ .label = Buang Laman Web
+ .accesskey = B
+permissions-remove-all =
+ .label = Buang Semua Laman Web
+ .accesskey = u
+permissions-button-cancel =
+ .label = Batal
+ .accesskey = l
+permissions-button-ok =
+ .label = Simpan Perubahan
+ .accesskey = S
+permissions-searchbox =
+ .placeholder = Carian laman web
+permissions-capabilities-allow =
+ .label = Izinkan
+permissions-capabilities-block =
+ .label = Sekat
+permissions-capabilities-prompt =
+ .label = Sentiasa Tanya
+permissions-capabilities-listitem-allow =
+ .value = Izinkan
+permissions-capabilities-listitem-block =
+ .value = Sekat
+permissions-capabilities-listitem-allow-first-party =
+ .value = Izinkan pihak pertama sahaja
+permissions-capabilities-listitem-allow-session =
+ .value = Izinkan untuk Sesi
+
+## Invalid Hostname Dialog
+
+permissions-invalid-uri-title = Nama Hos Tidak Sah
+permissions-invalid-uri-label = Sila masukkan nama hos yang sah
+
+## Exceptions - Tracking Protection
+
+permissions-exceptions-tracking-protection-window =
+ .title = Pengecualian - Perlindungan Penjejakan
+ .style = { permissions-window.style }
+permissions-exceptions-tracking-protection-desc = Anda telah dinyahdayakan Perlindungan Penjejakan di laman web ini.
+permissions-exceptions-content-blocking-window =
+ .title = Pengecualian - Sekatan Kandungan
+ .style = { permissions-window.style }
+permissions-exceptions-content-blocking-desc = Anda telah menyahdayakan sekatan kandungan dalam laman web ini.
+
+## Exceptions - Cookies
+
+permissions-exceptions-cookie-window =
+ .title = Pengecualian - Kuki dan Data Laman
+ .style = { permissions-window.style }
+permissions-exceptions-cookie-desc = Anda boleh tentukan laman web yang sentiasa atau tidak akan dizinkan menggunakan kuki dan data laman. Taip alamat sebenar laman yang anda mahu urus dan kemudian klik Sekat, Izin untuk Sesi, atau Izinkan.
+
+## Exceptions - Pop-ups
+
+permissions-exceptions-popup-window =
+ .title = Laman Web Diizinkan - Pop-ups
+ .style = { permissions-window.style }
+permissions-exceptions-popup-desc = Anda boleh tentukan laman web yang diizinkan membuka tetingkap popup. Taip alamat laman yang tepat untuk anda izinkan dan kemudian klik Izinkan.
+
+## Exceptions - Saved Logins
+
+permissions-exceptions-saved-logins-window =
+ .title = Pengecualian - Log masuk Tersimpan
+ .style = { permissions-window.style }
+permissions-exceptions-saved-logins-desc = Log masuk ke laman berikut tidak akan disimpan
+
+## Exceptions - Add-ons
+
+permissions-exceptions-addons-window =
+ .title = Laman Web Diizinkan - Pemasangan Add-ons
+ .style = { permissions-window.style }
+permissions-exceptions-addons-desc = Anda boleh tentukan laman web yang diizinkan memasang add-ons. Taip alamat laman yang tepat untuk anda izinkan dan kemudian klik Izinkan.
+
+## Exceptions - Autoplay Media
+
+permissions-exceptions-autoplay-media-window2 =
+ .title = Pengecualian - Automain
+ .style = { permissions-window.style }
+permissions-exceptions-autoplay-media-desc2 = Anda boleh tentukan laman web yang sentiasa atau tidak diizinkan automain media dengan suara. Taip alamat laman web yang anda mahu uruskan dan kemudian klik Sekat atau Izinkan.
+
+## Site Permissions - Notifications
+
+permissions-site-notification-window =
+ .title = Tetapan - Keizinan Notifikasi
+ .style = { permissions-window.style }
+permissions-site-notification-desc = Laman web berikut telah meminta untuk menghantar notifikasi. Anda boleh tentukan laman web yang diizinkan untuk menghantar notifikasi. Anda juga boleh sekat permintaan baru yang meminta keizinan untuk menghantar notifikasi.
+permissions-site-notification-disable-label =
+ .label = Sekat permintaan baru yang meminta izin notifikasi
+permissions-site-notification-disable-desc = Ini akan menghalang mana-mana laman web yang tidak disenaraikan di atas daripada meminta izin untuk menghantar notifikasi. Menyekat notifikasi boleh memecahkan beberapa ciri laman web.
+
+## Site Permissions - Location
+
+permissions-site-location-window =
+ .title = Tetapan - Keizinan Lokasi
+ .style = { permissions-window.style }
+permissions-site-location-desc = Laman web berikut telah meminta akses lokasi anda. Anda boleh tentukan laman web yang diizinkan untuk mengakses lokasi. Anda juga boleh menyekat permintaan baru yang mahu mengakses lokasi.
+permissions-site-location-disable-label =
+ .label = Sekat permintaan baru yang meminta akses lokasi
+permissions-site-location-disable-desc = Ini akan menghalang mana-mana laman web yang tidak disenaraikan di atas daripada meminta izin untuk mengakses lokasi. Menyekat notifikasi boleh memecahkan beberapa ciri laman web.
+
+## Site Permissions - Camera
+
+permissions-site-camera-window =
+ .title = Tetapan - Keizinan Kamera
+ .style = { permissions-window.style }
+permissions-site-camera-desc = Laman web berikut meminta izin untuk mengakses kamera anda. Anda boleh tentukan laman web yang diizinkan untuk mengakses kamera. Anda juga boleh sekat permintaan baru yang mahu mengakses kamera.
+permissions-site-camera-disable-label =
+ .label = Sekat permintaan baru yang mahu mengakses kamera
+permissions-site-camera-disable-desc = Ini akan menghalang mana-mana laman web yang tidak disenaraikan di atas daripada meminta izin untuk mengakses kamera. Menyekat akses kamera boleh memecahkan beberapa ciri laman web.
+
+## Site Permissions - Microphone
+
+permissions-site-microphone-window =
+ .title = Tetapan - Keizinan Mikrofon
+ .style = { permissions-window.style }
+permissions-site-microphone-desc = Laman web berikut meminta izin untuk mengakses mikrofon anda. Anda boleh tentukan laman web yang diizinkan untuk mengakses mikrofon. Anda juga boleh sekat permintaan baru yang mahu mengakses mikrofon.
+permissions-site-microphone-disable-label =
+ .label = Sekat permintaan baru yang mahu mengakses mikrofon
+permissions-site-microphone-disable-desc = Ini akan menghalang mana-mana laman web yang tidak disenaraikan di atas daripada meminta izin untuk mengakses mikrofon. Menyekat akses mikrofon boleh memecahkan beberapa ciri laman web.
diff --git a/browser/browser/preferences/preferences.ftl b/browser/browser/preferences/preferences.ftl
new file mode 100644
index 00000000000..74c31181c1e
--- /dev/null
+++ b/browser/browser/preferences/preferences.ftl
@@ -0,0 +1,911 @@
+# 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/.
+
+do-not-track-description = Hantar laman web isyarat âJangan Jejakâ bahawa anda tidak mahu dikesan
+do-not-track-learn-more = Ketahui selanjutnya
+do-not-track-option-default =
+ .label = Hanya apabila menggunakan Perlindungan Penjejakan
+do-not-track-option-default-content-blocking =
+ .label = Hanya apabila { -brand-short-name } ditetapkan untuk menyekat Penjejak Dikesan
+do-not-track-option-always =
+ .label = Sentiasa
+pref-page =
+ .title =
+ { PLATFORM() ->
+ [windows] Pilihan
+ *[other] Keutamaan
+ }
+# This is used to determine the width of the search field in about:preferences,
+# in order to make the entire placeholder string visible
+#
+# Please keep the placeholder string short to avoid truncation.
+#
+# Notice: The value of the `.style` attribute is a CSS string, and the `width`
+# is the name of the CSS property. It is intended only to adjust the element's width.
+# Do not translate.
+search-input-box =
+ .style = width: 15.4em
+ .placeholder =
+ { PLATFORM() ->
+ [windows] Cari dalam Pilihan
+ *[other] Cari dalam Keutamaan
+ }
+policies-notice =
+ { PLATFORM() ->
+ [windows] Organisasi anda telah menyahdayakan keupayaan untuk mengubah beberapa pilihan.
+ *[other] Organisasi anda telah menyahdayakan keupayaan untuk mengubah beberapa keutamaan.
+ }
+pane-general-title = Umum
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-home-title = Laman
+category-home =
+ .tooltiptext = { pane-home-title }
+pane-search-title = Cari
+category-search =
+ .tooltiptext = { pane-search-title }
+pane-privacy-title = Privasi & Keselamatan
+category-privacy =
+ .tooltiptext = { pane-privacy-title }
+# The word "account" can be translated, do not translate or transliterate "Firefox".
+pane-sync-title = Akaun Firefox
+category-sync =
+ .tooltiptext = { pane-sync-title }
+help-button-label = Sokongan { -brand-short-name }
+addons-button-label = Ekstensi & Tema
+focus-search =
+ .key = f
+close-button =
+ .aria-label = Tutup
+
+## Browser Restart Dialog
+
+feature-enable-requires-restart = { -brand-short-name } perlu mula semula untuk dayakan ciri ini.
+feature-disable-requires-restart = { -brand-short-name } perlu mula semula untuk nyahdayakan ciri ini.
+should-restart-title = Mula Semula { -brand-short-name }
+should-restart-ok = Mulakan { -brand-short-name } sekarang
+cancel-no-restart-button = Batal
+restart-later = Mula semula Kemudian
+
+## Extension Control Notifications
+##
+## These strings are used to inform the user
+## about changes made by extensions to browser settings.
+##
+## is going to be replaced by the extension icon.
+##
+## Variables:
+## $name (String): name of the extension
+
+# This string is shown to notify the user that their home page
+# is being controlled by an extension.
+extension-controlled-homepage-override = Ekstensi, { $name }, mengawal laman anda.
+# This string is shown to notify the user that their new tab page
+# is being controlled by an extension.
+extension-controlled-new-tab-url = Ekstensi, { $name }, mengawal halaman Tab Baru anda.
+# This string is shown to notify the user that their notifications permission
+# is being controlled by an extension.
+extension-controlled-web-notifications = Ekstensi, { $name } mengawal tetapan ini.
+# This string is shown to notify the user that the default search engine
+# is being controlled by an extension.
+extension-controlled-default-search = Ekstensi, { $name }, telah menetapkan enjin carian piawai anda.
+# This string is shown to notify the user that Container Tabs
+# are being enabled by an extension.
+extension-controlled-privacy-containers = Ekstensi { $name }, memerlukan Tab Penyimpan.
+# This string is shown to notify the user that their tracking protection preferences
+# are being controlled by an extension.
+extension-controlled-websites-tracking-protection-mode = Ekstensi, { $name }, mengawal perlindungan penjejakan.
+# This string is shown to notify the user that their content blocking "All Detected Trackers"
+# preferences are being controlled by an extension.
+extension-controlled-websites-content-blocking-all-trackers = Ekstensi, { $name } mengawal tetapan ini.
+# This string is shown to notify the user that their proxy configuration preferences
+# are being controlled by an extension.
+extension-controlled-proxy-config = Ekstensi, { $name }, mengawal cara { -brand-short-name } menyambung ke internet.
+# This string is shown after the user disables an extension to notify the user
+# how to enable an extension that they disabled.
+#
+# will be replaced with Add-ons icon
+# will be replaced with Menu icon
+extension-controlled-enable = Untuk membolehkan ekstensi pergi ke Add-ons dalam menu .
+
+## Preferences UI Search Results
+
+search-results-header = Hasil Carian
+# `` will be replaced by the search term.
+search-results-empty-message =
+ { PLATFORM() ->
+ [windows] Maaf! Tiada keputusan dalam Pilihan untuk ââ.
+ *[other] Maaf! Tiada keputusan dalam Keutamaan untuk ââ.
+ }
+search-results-help-link = Perlu bantuan? Lawat Sokongan { -brand-short-name }
+
+## General Section
+
+startup-header = Permulaan
+# { -brand-short-name } will be 'Firefox Developer Edition',
+# since this setting is only exposed in Firefox Developer Edition
+separate-profile-mode =
+ .label = Izinkan { -brand-short-name } dan Firefox untuk dilancarkan pada masa yang sama
+use-firefox-sync = Tip: Ciri ini menggunakan profil yang berasingan. Gunakan { -sync-brand-short-name } untuk berkongsi data.
+get-started-not-logged-in = Daftar masuk ke { -sync-brand-short-name }â¦
+get-started-configured = Buka keutamaan { -sync-brand-short-name }
+always-check-default =
+ .label = Sentiasa semak samada { -brand-short-name } adalah pelayar piawai anda
+ .accesskey = y
+is-default = { -brand-short-name } kini adalah pelayar piawai anda
+is-not-default = { -brand-short-name } bukan pelayar piawai anda
+set-as-my-default-browser =
+ .label = Jadikan Piawaiâ¦
+ .accesskey = P
+startup-restore-previous-session =
+ .label = Pulih sesi dahulu
+ .accesskey = s
+disable-extension =
+ .label = Nyahdayakan Ekstensi
+tabs-group-header = Tab
+ctrl-tab-recently-used-order =
+ .label = Pusingan Ctrl+Tab mengikut tertib tab yang baru digunakan
+ .accesskey = T
+open-new-link-as-tabs =
+ .label = Buka pautan sebagai tab, bukan tetingkap baru
+ .accesskey = t
+warn-on-close-multiple-tabs =
+ .label = Beri amaran apabila menutup berbilang tab
+ .accesskey = B
+warn-on-quit-close-multiple-tabs =
+ .label = Beri amaran apabila keluar dan menutup bebilang tab
+ .accesskey = B
+warn-on-open-many-tabs =
+ .label = Beri amaran apabila membuka berbilang tab yang mungkin memperlahankan { -brand-short-name }
+ .accesskey = p
+switch-links-to-new-tabs =
+ .label = Apabila membuka pautan dalam tetingkap baru, tukar terus kepadanya
+ .accesskey = A
+show-tabs-in-taskbar =
+ .label = Papar previu tab dalam Tetingkap bar tugasan
+ .accesskey = k
+browser-containers-enabled =
+ .label = Dayakan Tab Penyimpan
+ .accesskey = n
+browser-containers-learn-more = Ketahui selanjutnya
+browser-containers-settings =
+ .label = Tetapanâ¦
+ .accesskey = p
+containers-disable-alert-title = Tutup Semua Tab Penyimpan?
+containers-disable-alert-desc = Jika anda menyahaktif Tab Penyimpan sekarang, { $tabCount } tab penyimpan akan ditutup. Adakah anda pasti mahu menyahaktif Tab Penyimpan?
+containers-disable-alert-ok-button = Tutup { $tabCount } Tab Penyimpan
+containers-disable-alert-cancel-button = Sentiasa didayakan
+containers-remove-alert-title = Buang Penyimpan Ini?
+# Variables:
+# $count (Number) - Number of tabs that will be closed.
+containers-remove-alert-msg = Jika anda mengalih keluar Penyimpan ini sekarang, { $count } tab penyimpan akan ditutup. Adakah anda pasti mahu mengalih keluar Penyimpan ini?
+containers-remove-ok-button = Buang Penyimpan Ini
+containers-remove-cancel-button = Jangan buang Penyimpan Ini
+
+## General Section - Language & Appearance
+
+language-and-appearance-header = Bahasa dan Penampilan
+fonts-and-colors-header = Fon & Warna
+default-font = Fon piawai
+ .accesskey = F
+default-font-size = Saiz
+ .accesskey = S
+advanced-fonts =
+ .label = Lanjutanâ¦
+ .accesskey = L
+colors-settings =
+ .label = Warnaâ¦
+ .accesskey = W
+language-header = Bahasa
+choose-language-description = Pilih bahasa pilihan untuk memaparkan halaman
+choose-button =
+ .label = Pilihâ¦
+ .accesskey = P
+choose-browser-language-description = Pilih bahasa yang digunakan untuk memaparkan menu, mesej dan notifikasi { -brand-short-name }.
+manage-browser-languages-button =
+ .label = Tetapkan Alternatif...
+ .accesskey = T
+confirm-browser-language-change-description = Mula semula { -brand-short-name } untuk melaksanakan perubahan ini
+confirm-browser-language-change-button = Terap dan Mula semula
+translate-web-pages =
+ .label = Terjemah kandungan laman web
+ .accesskey = T
+# The element is replaced by the logo of the provider
+# used to provide machine translations for web pages.
+translate-attribution = Terjemahan oleh
+translate-exceptions =
+ .label = Pengecualianâ¦
+ .accesskey = P
+check-user-spelling =
+ .label = Semak ejaan ketika anda menaip
+ .accesskey = t
+
+## General Section - Files and Applications
+
+files-and-applications-title = Fail dan Aplikasi
+download-header = Muat turun
+download-save-to =
+ .label = Simpan fail ke
+ .accesskey = n
+download-choose-folder =
+ .label =
+ { PLATFORM() ->
+ [macos] Pilihâ¦
+ *[other] Cariâ¦
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] P
+ *[other] r
+ }
+download-always-ask-where =
+ .label = Sentiasa tanya lokasi menyimpan fail
+ .accesskey = S
+applications-header = Aplikasi
+applications-description = Pilih cara { -brand-short-name } mengendalikan fail yang dimuat turun dari Web atau aplikasi yang digunakan semasa melayar.
+applications-filter =
+ .placeholder = Cari jenis fail atau aplikasi
+applications-type-column =
+ .label = Jenis Kandungan
+ .accesskey = n
+applications-action-column =
+ .label = Tindakan
+ .accesskey = A
+drm-content-header = Kandungan Digital Rights Management (DRM)
+play-drm-content =
+ .label = Mainkan kandungan kawalan-DRM
+ .accesskey = M
+play-drm-content-learn-more = Ketahui selanjutnya
+update-application-title = Kemaskini { -brand-short-name }
+update-application-description = Pastikan { -brand-short-name } sentiasa dikemaskini untuk mendapatkan prestasi, kestabilan dan keselamatan yang terbaik.
+update-application-version = Versi { $version } Perkembangan terbaru
+update-history =
+ .label = Papar Sejarah Kemaskiniâ¦
+ .accesskey = p
+update-application-allow-description = Izinkan { -brand-short-name } untuk
+update-application-auto =
+ .label = Pemasangan kemaskini automatik (disyorkan)
+ .accesskey = a
+update-application-check-choose =
+ .label = Semak kemaskini tetapi anda pilih samada mahu memasangnya
+ .accesskey = S
+update-application-manual =
+ .label = Jangan semak kemaskini (tidak disyorkan)
+ .accesskey = J
+update-application-use-service =
+ .label = Gunakan servis latar belakang bagi pemasangan versi terkini
+ .accesskey = b
+update-enable-search-update =
+ .label = Kemaskini enjin carian secara automatik
+ .accesskey = e
+update-pref-write-failure-title = Gagal Menulis
+# Variables:
+# $path (String) - Path to the configuration file
+update-pref-write-failure-message = Tidak dapat menyimpan keutamaan. Tidak dapat menulis ke fail: { $path }
+
+## General Section - Performance
+
+performance-title = Prestasi
+performance-use-recommended-settings-checkbox =
+ .label = Gunakan tetapan prestasi yang disyorkan
+ .accesskey = G
+performance-use-recommended-settings-desc = Tetapan ini direka untuk perkakasan dan sistem operasi komputer anda.
+performance-settings-learn-more = Ketahui selanjutnya
+performance-allow-hw-accel =
+ .label = Guna pecutan perkakasan, jika tersedia
+ .accesskey = r
+performance-limit-content-process-option = Had proses kandungan
+ .accesskey = H
+performance-limit-content-process-enabled-desc = Proses kandungan tambahan boleh memperbaiki prestasi apabila menggunakan berbilang tab, tetapi juga akan menggunakan lebih banyak memori.
+performance-limit-content-process-blocked-desc = Mengubah bilangan proses kandungan hanya boleh dilakukan dengan multi proses { -brand-short-name }. Ketahui cara untuk menyemak samada multi proses didayakan
+# Variables:
+# $num - default value of the `dom.ipc.processCount` pref.
+performance-default-content-process-count =
+ .label = { $num } (piawai)
+
+## General Section - Browsing
+
+browsing-title = Menyemak
+browsing-use-autoscroll =
+ .label = Guna auto-skrol
+ .accesskey = a
+browsing-use-smooth-scrolling =
+ .label = Guna skrol lancar
+ .accesskey = G
+browsing-use-onscreen-keyboard =
+ .label = Papar papan kekunci sentuh apabila perlu
+ .accesskey = k
+browsing-use-cursor-navigation =
+ .label = Sentiasa gunakan kunci kursor untuk navigasi antara halaman
+ .accesskey = c
+browsing-search-on-start-typing =
+ .label = Cari teks sebaik sahaja anda mula menaip
+ .accesskey = e
+browsing-cfr-recommendations =
+ .label = Cadangkan ekstensi semasa melayar
+ .accesskey = C
+browsing-cfr-recommendations-learn-more = Ketahui Selanjutnya
+
+## General Section - Proxy
+
+network-settings-title = Tetapan Rangkaian
+network-proxy-connection-description = Tetapkan cara { -brand-short-name } menyambung ke internet.
+network-proxy-connection-learn-more = Ketahui Selanjutnya
+network-proxy-connection-settings =
+ .label = Tetapanâ¦
+ .accesskey = t
+
+## Home Section
+
+home-new-windows-tabs-header = Tetingkap dan Tab Baru
+home-new-windows-tabs-description2 = Pilih apa yang anda mahu lihat apabila anda buka laman, tetingkap dan tab baru.
+
+## Home Section - Home Page Customization
+
+home-homepage-mode-label = Laman dan tetingkap baru
+home-newtabs-mode-label = Tab baru
+home-restore-defaults =
+ .label = Pulih Piawai
+ .accesskey = P
+# "Firefox" should be treated as a brand and kept in English,
+# while "Home" and "(Default)" can be localized.
+home-mode-choice-default =
+ .label = Halaman Utama Firefox (Piawai)
+home-mode-choice-custom =
+ .label = URLs Penyesuaian...
+home-mode-choice-blank =
+ .label = Halaman Kosong
+home-homepage-custom-url =
+ .placeholder = Tampal URL...
+# This string has a special case for '1' and [other] (default). If necessary for
+# your language, you can add {$tabCount} to your translations and use the
+# standard CLDR forms, or only use the form for [other] if both strings should
+# be identical.
+use-current-pages =
+ .label =
+ { $tabCount ->
+ [1] Gunakan Halaman Semasa
+ *[other] Gunakan Halaman Semasa
+ }
+ .accesskey = a
+choose-bookmark =
+ .label = Guna Tandabukuâ¦
+ .accesskey = B
+
+## Search Section
+
+search-bar-header = Bar Carian
+search-bar-hidden =
+ .label = Gunakan bar alamat untuk mencari dan navigasi
+search-bar-shown =
+ .label = Tambah bar carian dalam bar alatan
+search-engine-default-header = Enjin Carian Piawai
+search-engine-default-desc = Pilih enjin carian piawai untuk digunakan dalam bar alamat dan bar carian.
+search-suggestions-option =
+ .label = Sediakan cadangan carian
+ .accesskey = S
+search-show-suggestions-url-bar-option =
+ .label = Papar cadangan carian dalam keputusan bar alamat
+ .accesskey = P
+# This string describes what the user will observe when the system
+# prioritizes search suggestions over browsing history in the results
+# that extend down from the address bar. In the original English string,
+# "ahead" refers to location (appearing most proximate to), not time
+# (appearing before).
+search-show-suggestions-above-history-option =
+ .label = Papar cadangan carian sebelum sejarah pelayaran dalam hasil bar alamat
+search-suggestions-cant-show = Cadangan carian tidak akan dipaparkan dalam keputusan bar lokasi kerana anda telah mengkonfigurasi { -brand-short-name } untuk tidak mengingati sejarah.
+search-one-click-header = Enjin carian klik-tunggal
+search-one-click-desc = Pilih enjin carian alternatif yang muncul di bawah bar alamat dan bar carian apabila anda mula memasukkan kata kunci.
+search-choose-engine-column =
+ .label = Enjin Carian
+search-choose-keyword-column =
+ .label = Kata kunci
+search-restore-default =
+ .label = Pulih Enjin Carian Piawai
+ .accesskey = w
+search-remove-engine =
+ .label = Buang
+ .accesskey = u
+search-find-more-link = Cari lebih banyak enjin carian
+# This warning is displayed when the chosen keyword is already in use
+# ('Duplicate' is an adjective)
+search-keyword-warning-title = Kata kunci Duplikasi
+# Variables:
+# $name (String) - Name of a search engine.
+search-keyword-warning-engine = Anda telah memilih kata kunci yang sedang digunakan oleh "{ $name }". Sila pilih yang lain.
+search-keyword-warning-bookmark = Anda telah memilih kata kunci yang sedang digunakan oleh tandabuku. Sila pilih yang lain.
+
+## Containers Section
+
+containers-back-link = « Undur
+containers-header = Tab Penyimpan
+containers-add-button =
+ .label = Tambah Penyimpan Baru
+ .accesskey = A
+containers-preferences-button =
+ .label = Keutamaan
+containers-remove-button =
+ .label = Buang
+
+## Sync Section - Signed out
+
+sync-signedout-caption = Bawa Web dengan anda
+sync-signedout-description = Sync tandabuku, sejarah, tab, kata laluan, add-ons dan pilihan anda pada semua peranti anda.
+sync-signedout-account-title = Sambung dengan { -fxaccount-brand-name }
+sync-signedout-account-create = Belum ada akaun? Daftar
+ .accesskey = D
+sync-signedout-account-signin =
+ .label = Daftar Masukâ¦
+ .accesskey = M
+# This message contains two links and two icon images.
+# `` - Android logo icon
+# `` - Link to Android Download
+# `` - iOS logo icon
+# `` - Link to iOS Download
+#
+# They can be moved within the sentence as needed to adapt
+# to your language, but should not be changed or translated.
+sync-mobile-promo = Muat turun Firefox untukAndroid atau iOSÂ untuk sync dengan peranti mudah alih anda.
+
+## Sync Section - Signed in
+
+sync-profile-picture =
+ .tooltiptext = Tukar gambar profil
+sync-disconnect =
+ .label = Memutuskanâ¦
+ .accesskey = M
+sync-manage-account = Urus Akaun
+ .accesskey = s
+sync-signedin-unverified = { $email } tidak disahkan.
+sync-signedin-login-failure = Sila daftar masuk untuk menyambung semula { $email }
+sync-resend-verification =
+ .label = Hantar semula Pengesahan
+ .accesskey = t
+sync-remove-account =
+ .label = Buang Akaun
+ .accesskey = k
+sync-sign-in =
+ .label = Daftar masuk
+ .accesskey = d
+sync-signedin-settings-header = Tetapan Sync
+sync-signedin-settings-desc = Pilih ciri yang mahu anda sync pada peranti menggunakan { -brand-short-name }.
+sync-engine-bookmarks =
+ .label = Tandabuku
+ .accesskey = a
+sync-engine-history =
+ .label = Sejarah
+ .accesskey = r
+sync-engine-tabs =
+ .label = Buka tab
+ .tooltiptext = Senarai laman yang dibuka dalam semua peranti yang diselaraskan
+ .accesskey = T
+sync-engine-logins =
+ .label = Log masuk
+ .tooltiptext = Nama pengguna dan kata laluan yang anda sudah simpan
+ .accesskey = L
+sync-engine-addresses =
+ .label = Alamat
+ .tooltiptext = Alamat pos yang anda sudah simpan (desktop sahaja)
+ .accesskey = a
+sync-engine-creditcards =
+ .label = Kad kredit
+ .tooltiptext = Nama, nombor dan tarikh luput (desktop sahaja)
+ .accesskey = K
+sync-engine-addons =
+ .label = Add-ons
+ .tooltiptext = Ekstensi dan tema untuk Firefox desktop
+ .accesskey = A
+sync-engine-prefs =
+ .label =
+ { PLATFORM() ->
+ [windows] Pilihan
+ *[other] Keutamaan
+ }
+ .tooltiptext = Tetapan Umum, Privasi dan Keselamatan yang anda sudah ubah
+ .accesskey = a
+sync-device-name-header = Nama Peranti
+sync-device-name-change =
+ .label = Tukar Nama Perantiâ¦
+ .accesskey = u
+sync-device-name-cancel =
+ .label = Batal
+ .accesskey = t
+sync-device-name-save =
+ .label = Simpan
+ .accesskey = p
+sync-mobilepromo-single = Sambungkan peranti lain
+sync-mobilepromo-multi = Urus peranti
+sync-tos-link = Terma Perkhidmatan
+sync-fxa-privacy-notice = Notis Privasi
+
+## Privacy Section
+
+privacy-header = Privasi Pelayar
+
+## Privacy Section - Forms
+
+forms-header = Borang & Kata laluan
+logins-header = Log masuk & Kata laluan
+forms-ask-to-save-logins =
+ .label = Tanya untuk simpan log masuk dan kata laluan laman web
+ .accesskey = l
+forms-exceptions =
+ .label = Pengecualianâ¦
+ .accesskey = g
+forms-saved-logins =
+ .label = Log masuk Tersimpanâ¦
+ .accesskey = L
+forms-master-pw-use =
+ .label = Guna kata laluan induk
+ .accesskey = U
+forms-master-pw-change =
+ .label = Tukar Kata laluan Indukâ¦
+ .accesskey = T
+
+## Privacy Section - History
+
+history-header = Sejarah
+# This label is followed, on the same line, by a dropdown list of options
+# (Remember history, etc.).
+# In English it visually creates a full sentence, e.g.
+# "Firefox will" + "Remember history".
+#
+# If this doesn't work for your language, you can translate this message:
+# - Simply as "Firefox", moving the verb into each option.
+# This will result in "Firefox" + "Will remember history", etc.
+# - As a stand-alone message, for example "Firefox history settings:".
+history-remember-label = { -brand-short-name } akan
+ .accesskey = a
+history-remember-option-all =
+ .label = Ingat sejarah
+history-remember-option-never =
+ .label = Jangan ingat sejarah
+history-remember-option-custom =
+ .label = Guna tetapan penyesuaian untuk sejarah
+history-remember-description = { -brand-short-name } akan mengingati sejarah pelayaran, muat turun, borang dan carian.
+history-dontremember-description = { -brand-short-name } akan menggunakan tetapan yang sama untuk pelayaran peribadi dan tidak akan mengingati sejarah pelayaran semasa anda melayari Web.
+history-private-browsing-permanent =
+ .label = Sentiasa gunakan mod pelayaran peribadi
+ .accesskey = p
+history-remember-browser-option =
+ .label = Ingat sejarah pelayaran dan muat turun
+ .accesskey = p
+history-remember-search-option =
+ .label = Ingat sejarah dan borang sejarah
+ .accesskey = h
+history-clear-on-close-option =
+ .label = Buang sejarah apabila { -brand-short-name } ditutup
+ .accesskey = r
+history-clear-on-close-settings =
+ .label = Tetapanâ¦
+ .accesskey = t
+history-clear-button =
+ .label = Buang Sejarahâ¦
+ .accesskey = j
+
+## Privacy Section - Site Data
+
+sitedata-header = Kuki dan Data Laman
+sitedata-total-size-calculating = Mengira saiz data dan cache lamanâ¦
+# Variables:
+# $value (Number) - Value of the unit (for example: 4.6, 500)
+# $unit (String) - Name of the unit (for example: "bytes", "KB")
+sitedata-total-size = Kuki, data laman dan cache yang disimpan kini menggunakan { $value } { $unit } daripada ruang cakera.
+sitedata-learn-more = Ketahui selanjutnya
+sitedata-keep-until = Kekalkan sehingga
+ .accesskey = s
+sitedata-keep-until-expire =
+ .label = Sudah luput
+sitedata-keep-until-closed =
+ .label = { -brand-short-name } ditutup
+sitedata-delete-on-close =
+ .label = Buang kuki dan data laman apabila { -brand-short-name } ditutup
+ .accesskey = k
+sitedata-allow-cookies-option =
+ .label = Terima kuki dan data laman
+ .accesskey = T
+sitedata-disallow-cookies-option =
+ .label = Sekat kuki dan data laman
+ .accesskey = S
+# This label means 'type of content that is blocked', and is followed by a drop-down list with content types below.
+# The list items are the strings named sitedata-block-*-option*.
+sitedata-block-desc = Jenis yang disekat
+ .accesskey = J
+sitedata-block-trackers-option-recommended =
+ .label = Penjejak pihak ketiga (disyorkan)
+sitedata-block-trackers-option =
+ .label = Penjejak pihak ketiga
+sitedata-block-unvisited-option =
+ .label = Kuki daripada laman web yang tidak dilawati
+sitedata-block-all-third-party-option =
+ .label = Semua kuki pihak ketiga (boleh menyebabkan laman web pecah)
+sitedata-block-all-option =
+ .label = Semua kuki (akan menyebabkan laman web pecah)
+sitedata-clear =
+ .label = Buang Dataâ¦
+ .accesskey = u
+sitedata-settings =
+ .label = Urus Dataâ¦
+ .accesskey = U
+sitedata-cookies-exceptions =
+ .label = Pengecualianâ¦
+ .accesskey = E
+# This is a warning message shown next to a yellow warning icon when the Cookies and Site Data subsection
+# in Preferences has been disabled due to Content Blocking being disabled. It is displayed next to the
+# Cookies and Site Data section.
+sitedata-warning-your-settings-prevent-changes = Tetapan dalam Sekatan Kandungan menghalang perubahan kepada Tetapan Kuki dan Data Laman.
+sitedata-cookies-permissions =
+ .label = Urus Keizinan
+ .accesskey = U
+
+## Privacy Section - Address Bar
+
+addressbar-header = Bar Alamat
+addressbar-suggest = Apabila menggunakan bar alamat, syorkan
+addressbar-locbar-history-option =
+ .label = Sejarah pelayaran
+ .accesskey = S
+addressbar-locbar-bookmarks-option =
+ .label = Tandabuku
+ .accesskey = k
+addressbar-locbar-openpage-option =
+ .label = Buka tab
+ .accesskey = b
+addressbar-suggestions-settings = Tukar keutamaan bagi cadangan enjin carian
+
+## Privacy Section - Content Blocking
+
+content-blocking-header = Sekatan Kandungan
+content-blocking-desc = Sekat kandungan pihak ketiga seperti iklan atau kod yang boleh melambatkan pelayaran dan menjejaki anda di seluruh web. Sesuaikan tetapan untuk mendapatkan imbangan perlindungan dan prestasi yang terbaik.
+content-blocking-description = Sekat kandungan pihak ketiga yang menjejaki anda di seluruh web. Kawal bilangan aktiviti atas talian anda yang disimpan dan dikongsi di antara laman web.
+content-blocking-learn-more = Ketahui selanjutnya
+content-blocking-restore-defaults =
+ .label = Pulih Piawai
+ .accesskey = P
+content-blocking-toggle-on =
+ .tooltiptext = Nyahaktifkan Sekatan Kandungan
+content-blocking-toggle-off =
+ .tooltiptext = Aktifkan Sekatan Kandungan
+content-blocking-toggle-label-on = AKTIF
+ .accesskey = A
+content-blocking-toggle-label-off = NYAHAKTIF
+ .accesskey = N
+content-blocking-category-label = Pilih apa yang disekat
+# "Slow" in this instance means "slow to load on the network".
+# FastBlock is a feature that blocks requests to tracking sites if they
+# have not finished loading after a certain threshold of seconds.
+content-blocking-fastblock-slow-loading-trackers-label =
+ .label = Penjejak Pemuatan-Lambat
+ .accesskey = L
+content-blocking-fastblock-new-description = Cuma sekat penjejak yang membuatkan halaman tidak dimuatkan dengan cepat.
+content-blocking-setting-standard =
+ .label = Piawai
+ .accesskey = i
+content-blocking-setting-strict =
+ .label = Rapi
+ .accesskey = p
+content-blocking-setting-custom =
+ .label = Penyesuaian
+ .accesskey = P
+content-blocking-standard-desc = Seimbang untuk perlindungan dan prestasi. Mengizinkan beberapa penjejak supaya laman web berfungsi dengan betul.
+content-blocking-strict-desc = Sekat semua penjejak yang dikesan { -brand-short-name }. Boleh menyebabkan beberapa laman pecah.
+content-blocking-custom-desc = Pilih apa yang hendak disekat.
+content-blocking-private-trackers = Penjejak yang diketahui sahaja dalam Private Windows
+content-blocking-third-party-cookies = Kuki penjejakan pihak ketiga
+content-blocking-all-windows-trackers = Penjejak yang diketahui dalam semua tetingkap
+content-blocking-all-third-party-cookies = Semua kuki pihak ketiga
+content-blocking-warning-desc = Menyekat kuki dan penjejak boleh menyebabkan sesetengah laman web pecah. Sangat mudah untuk menyahaktifkan sekatan laman yang anda percayai.
+content-blocking-learn-how = Ketahui caranya
+content-blocking-tracking-protection-trackers-label =
+ .label = Penjejak
+ .accesskey = P
+content-blocking-tracking-protection-all-detected-trackers-label =
+ .label = Semua Penjejak Yang Dikesan
+ .accesskey = P
+content-blocking-tracking-protection-new-description = Sekat semua penjejak yang diketahui. (Boleh menghalang sesetengah halaman daripada dimuatkan.)
+content-blocking-tracking-protection-option-always =
+ .label = Sentiasa
+ .accesskey = S
+content-blocking-tracking-protection-option-private =
+ .label = Hanya dalam tetingkap peribadi
+ .accesskey = p
+content-blocking-tracking-protection-change-block-list = Tukar senarai sekatan
+content-blocking-third-party-cookies-label =
+ .label = Kuki Pihak-Ketiga
+ .accesskey = K
+content-blocking-reject-trackers-description = Sekat semua kuki pihak ketiga atau hanya yang ditetapkan oleh penjejak.
+# This is a warning message shown next to a yellow warning icon when the Third-Party Cookies subsection
+# of the Content Blocking UI in Preferences has been disabled due to the either the "All cookies" option
+# or the "Cookies from unvisited websites" option being selected in the Cookies and Site Data section of
+# the UI.
+content-blocking-reject-trackers-warning-your-settings-prevent-changes = Tetapan dalam Kuki dan Data Laman menghalang perubahan kepada tetapan Kuki Pihak Ketiga.
+content-blocking-change-cookie-settings =
+ .label = Ubah Tetapan Kuki
+ .accesskey = U
+content-blocking-reject-trackers-block-trackers-option-recommended =
+ .label = Penjejak (disyorkan)
+ .accesskey = k
+content-blocking-reject-trackers-block-trackers-option =
+ .label = Penjejak
+ .accesskey = k
+content-blocking-reject-trackers-all-third-parties-option =
+ .label = Semua kuki pihak ketiga (boleh menyebabkan laman web pecah)
+ .accesskey = S
+content-blocking-cookies-label =
+ .label = Kuki
+ .accesskey = K
+
+## Privacy Section - Tracking
+
+tracking-header = Perlindungan Penjejakan
+tracking-desc = Perlindungan Penjejakan menyekat penjejak atas talian yang mengumpul data pelayaran anda dalam pelbagai laman web. Ketahui lebih lanjut perihal Perlindungan Penjejakan dan privasi anda
+tracking-mode-label = Gunakan Perlindungan Penjejakan untuk menyekat penjejak dikenali
+tracking-mode-always =
+ .label = Sentiasa
+ .accesskey = n
+tracking-mode-private =
+ .label = Hanya dalam tetingkap peribadi
+ .accesskey = p
+tracking-mode-never =
+ .label = Jangan sesekali
+ .accesskey = k
+tracking-exceptions =
+ .label = Pengecualianâ¦
+ .accesskey = g
+tracking-change-block-list =
+ .label = Tukar Senarai Sekatanâ¦
+ .accesskey = T
+tracking-manage-exceptions =
+ .label = Urus Pengecualian ...
+ .accesskey = c
+
+## Privacy Section - Permissions
+
+permissions-header = Keizinan
+permissions-location = Lokasi
+permissions-location-settings =
+ .label = Tetapanâ¦
+ .accesskey = t
+permissions-camera = Kamera
+permissions-camera-settings =
+ .label = Tetapanâ¦
+ .accesskey = t
+permissions-microphone = Mikrofon
+permissions-microphone-settings =
+ .label = Tetapanâ¦
+ .accesskey = t
+permissions-notification = Notifikasi
+permissions-notification-settings =
+ .label = Tetapanâ¦
+ .accesskey = t
+permissions-notification-link = Ketahui selanjutnya
+permissions-notification-pause =
+ .label = Jeda notifikasi hingga { -brand-short-name } mula semula
+ .accesskey = n
+permissions-block-autoplay-media =
+ .label = Sekat laman web daripada secara automatik memainkan media beserta muzik
+ .accesskey = S
+permissions-block-autoplay-media-menu = Untuk laman web yang automain suara
+permissions-block-autoplay-media-exceptions =
+ .label = Pengecualianâ¦
+ .accesskey = P
+autoplay-option-ask =
+ .label = Sentiasa Tanya
+autoplay-option-allow =
+ .label = Izinkan Automain
+autoplay-option-dont =
+ .label = Jangan Automain
+permissions-autoplay-link = Ketahui selanjutnya
+permissions-block-popups =
+ .label = Sekat tetingkap popup
+ .accesskey = S
+permissions-block-popups-exceptions =
+ .label = Pengecualianâ¦
+ .accesskey = E
+permissions-addon-install-warning =
+ .label = Beri amaran apabila laman web cuba memasang add-ons
+ .accesskey = B
+permissions-addon-exceptions =
+ .label = Pengecualianâ¦
+ .accesskey = E
+permissions-a11y-privacy-checkbox =
+ .label = Halang perkhidmatan daripada mengakses pelayar anda
+ .accesskey = a
+permissions-a11y-privacy-link = Ketahui selanjutnya
+
+## Privacy Section - Data Collection
+
+collection-header = Pengumpulan dan penggunaan data { -brand-short-name }
+collection-description = Kami berusaha untuk menyediakan anda dengan pilihan dan hanya mengumpulkan apa yang kami perlukan, dan memajukan { -brand-short-name } untuk semua orang. Kami sentiasa meminta izin sebelum menerima maklumat peribadi.
+collection-privacy-notice = Notis Privasi
+collection-health-report =
+ .label = Izinkan { -brand-short-name } supaya secara automatik akan menghantarkan data teknikal dan interaksi kepada { -vendor-short-name }
+ .accesskey = r
+collection-health-report-link = Ketahui selanjutnya
+collection-studies =
+ .label = Izinkan { -brand-short-name } untuk memasang dan melaksanakan kajian
+collection-studies-link = Papar kajian { -brand-short-name }
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = Laporan data dinyahdayakan bagi konfigurasi binaan ini
+collection-browser-errors =
+ .label = Izinkan { -brand-short-name } untuk menghantar laporan ralat pelayar (termasuk mesej ralat) kepada { -vendor-short-name }
+ .accesskey = p
+collection-browser-errors-link = Ketahui selanjutnya
+collection-backlogged-crash-reports =
+ .label = Izinkan { -brand-short-name } untuk menghantar backlog laporan ranap bagi pihak anda
+ .accesskey = r
+collection-backlogged-crash-reports-link = Ketahui selanjutnya
+
+## Privacy Section - Security
+##
+## It is important that wording follows the guidelines outlined on this page:
+## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage
+
+security-header = Keselamatan
+security-browsing-protection = Perlindungan Kandungan Mengelirukan dan Perisian Berbahaya
+security-enable-safe-browsing =
+ .label = Sekat isi kandung berbahaya dan memperdayakan
+ .accesskey = B
+security-enable-safe-browsing-link = Ketahui selanjutnya
+security-block-downloads =
+ .label = Sekat muat turun berbahaya
+ .accesskey = a
+security-block-uncommon-software =
+ .label = Beri amaran mengenai perisian yang tidak dikehendaki dan yang luar biasa
+ .accesskey = L
+
+## Privacy Section - Certificates
+
+certs-header = Sijil
+certs-personal-label = Apabila pelayan meminta sijil peribadi anda
+certs-select-auto-option =
+ .label = Pilih satu secara automatik
+ .accesskey = P
+certs-select-ask-option =
+ .label = Tanya setiap kali
+ .accesskey = T
+certs-enable-ocsp =
+ .label = Minta penggerak balas pelayan OCSP untuk mengesahkan kesahihan sijil semasa
+ .accesskey = T
+certs-view =
+ .label = Papar Sijilâ¦
+ .accesskey = S
+certs-devices =
+ .label = Peranti Keselamatanâ¦
+ .accesskey = P
+space-alert-learn-more-button =
+ .label = Ketahui Selanjutnya
+ .accesskey = K
+space-alert-over-5gb-pref-button =
+ .label =
+ { PLATFORM() ->
+ [windows] Buka Pilihan
+ *[other] Buka Keutamaan
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] B
+ *[other] B
+ }
+space-alert-over-5gb-message =
+ { PLATFORM() ->
+ [windows] { -brand-short-name } sedang kehabisan ruang cakera. Kandungan laman web mungkin tidak dipaparkan dengan betul. Anda boleh mengosongkan data laman yang disimpan dalam Pilihan > Privasi & Keselamatan > Kuki dan Data Laman.
+ *[other] { -brand-short-name } sedang kehabisan ruang cakera. Kandungan laman web mungkin tidak dipaparkan dengan betul. Anda boleh mengosongkan data laman yang disimpan dalam Keutamaan > Privasi & Keselamatan > Kuki dan Data Laman.
+ }
+space-alert-under-5gb-ok-button =
+ .label = OK, Faham
+ .accesskey = K
+space-alert-under-5gb-message = { -brand-short-name } sedang kehabisan ruang cakera. Kandungan laman web mungkin tidak dipaparkan dengan betul. Lawati "Selanjutnya" untuk mengoptimumkan penggunaan cakera anda untuk pengalaman melayar yang lebih baik.
+
+## The following strings are used in the Download section of settings
+
+desktop-folder-name = Desktop
+downloads-folder-name = Muat turun
+choose-download-folder-title = Pilih Folder Muat turun:
+# Variables:
+# $service-name (String) - Name of a cloud storage provider like Dropbox, Google Drive, etc...
+save-files-to-cloud-storage =
+ .label = Simpan fail ke { $service-name }
diff --git a/browser/browser/preferences/selectBookmark.ftl b/browser/browser/preferences/selectBookmark.ftl
new file mode 100644
index 00000000000..057c13b7565
--- /dev/null
+++ b/browser/browser/preferences/selectBookmark.ftl
@@ -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/.
+
+select-bookmark-window =
+ .title = Tetapkan Laman
+ .style = width: 32em;
+select-bookmark-desc = Pilih Tandabuku untuk dijadikan Laman anda. Jika anda pilih folder, Tandabuku dalam folder itu akan dibuka dalam Tab.
diff --git a/browser/browser/preferences/siteDataSettings.ftl b/browser/browser/preferences/siteDataSettings.ftl
new file mode 100644
index 00000000000..415e879f61a
--- /dev/null
+++ b/browser/browser/preferences/siteDataSettings.ftl
@@ -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/.
+
+
+## Settings
+
+site-data-settings-window =
+ .title = Urus Kuki dan Data Laman
+site-data-settings-description = Laman web berikut menyimpan kuki dan data laman dalam komputer anda. { -brand-short-name } menyimpan data dari laman web secara kekal sehinggalah anda membuangnya, dan membuang data dari laman web dengan storan tidak kekal apabila ruang diperlukan.
+site-data-search-textbox =
+ .placeholder = Carian laman web
+ .accesskey = C
+site-data-column-host =
+ .label = Laman
+site-data-column-cookies =
+ .label = Kuki
+site-data-column-storage =
+ .label = Storan
+site-data-column-last-used =
+ .label = Terakhir Digunakan
+site-data-remove-selected =
+ .label = Buang Pilihan
+ .accesskey = u
+site-data-button-cancel =
+ .label = Batal
+ .accesskey = B
+site-data-button-save =
+ .label = Simpan Perubahan
+ .accesskey = i
+# Variables:
+# $value (Number) - Value of the unit (for example: 4.6, 500)
+# $unit (String) - Name of the unit (for example: "bytes", "KB")
+site-usage-pattern = { $value } { $unit }
+site-usage-persistent = { site-usage-pattern } (Persistent)
+site-data-remove-all =
+ .label = Buang Semua
+ .accesskey = u
+site-data-remove-shown =
+ .label = Buang Semua Paparan
+ .accesskey = u
+
+## Removing
+
+site-data-removing-window =
+ .title = { site-data-removing-header }
+site-data-removing-dialog =
+ .title = { site-data-removing-header }
+ .buttonlabelaccept = Buang
+site-data-removing-header = Membuang Kuki dan Data Laman
+site-data-removing-desc = Membuang kuki dan data laman boleh menglog anda keluar dari laman web. Adakah anda pasti mahu membuat perubahan?
+site-data-removing-table = Kuki dan data laman untuk laman web berikut akan dibuang
diff --git a/browser/browser/preferences/syncDisconnect.ftl b/browser/browser/preferences/syncDisconnect.ftl
new file mode 100644
index 00000000000..e9b5483044f
--- /dev/null
+++ b/browser/browser/preferences/syncDisconnect.ftl
@@ -0,0 +1,29 @@
+# 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/.
+
+sync-disconnect-dialog =
+ .title = Putuskan { -sync-brand-short-name }?
+ .style = width: 36em; min-height: 35em;
+sync-disconnect-heading = Adakah anda turut mahu membuang data pelayaran dalam komputer ini? Data { -sync-brand-name } anda akan masih kekal dalam akaun.
+sync-disconnect-remove-sync-caption = Buang Data { -sync-brand-name }
+sync-disconnect-remove-sync-data = Tandabuku, sejarah, kata laluan dsb
+sync-disconnect-remove-other-caption = Buang Data Peribadi Lain
+sync-disconnect-remove-other-data = Kuki, cache, data laman web luar talian, dsb.
+# Shown while the disconnect is in progress
+sync-disconnect-disconnecting = Memutuskanâ¦
+sync-disconnect-cancel =
+ .label = Batal
+ .accesskey = B
+
+## Disconnect confirm Button
+##
+## The 2 labels which may be shown on the single "Disconnect" button, depending
+## on the state of the checkboxes.
+
+sync-disconnect-confirm-disconnect-delete =
+ .label = Putuskan & Buang
+ .accesskey = B
+sync-disconnect-confirm-disconnect =
+ .label = Hanya Putuskan
+ .accesskey = P
diff --git a/browser/browser/preferences/translation.ftl b/browser/browser/preferences/translation.ftl
new file mode 100644
index 00000000000..27afc392b37
--- /dev/null
+++ b/browser/browser/preferences/translation.ftl
@@ -0,0 +1,30 @@
+# 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/.
+
+translation-window =
+ .title = Pengecualian - Terjemahan
+ .style = width: 36em
+translation-close-key =
+ .key = w
+translation-languages-disabled-desc = Terjemahan tidak akan disediakan untuk bahasa berikut
+translation-languages-column =
+ .label = Bahasa
+translation-languages-button-remove =
+ .label = Buang Bahasa
+ .accesskey = B
+translation-languages-button-remove-all =
+ .label = Buang Semua Bahasa
+ .accesskey = u
+translation-sites-disabled-desc = Terjemahan tidak akan disediakan untuk laman berikut
+translation-sites-column =
+ .label = Laman web
+translation-sites-button-remove =
+ .label = Buang Laman
+ .accesskey = L
+translation-sites-button-remove-all =
+ .label = Buang Semua Laman
+ .accesskey = u
+translation-button-close =
+ .label = Tutup
+ .accesskey = u
diff --git a/browser/browser/safeMode.ftl b/browser/browser/safeMode.ftl
new file mode 100644
index 00000000000..0d9fc845577
--- /dev/null
+++ b/browser/browser/safeMode.ftl
@@ -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/.
+
+safe-mode-window =
+ .title = Mod Selamat { -brand-short-name }
+ .style = max-width: 400px
+start-safe-mode =
+ .label = Bermula pada Safe Mode
+refresh-profile =
+ .label = Muat semula { -brand-short-name }
+safe-mode-description = Mode Selamat adalah cara khas { -brand-short-name } yang boleh digunakan untuk pencarisilapan isu.
+safe-mode-description-details = Add-ons dan penyesuaian tetapan anda akan dinyahdayakan sementara, dan ciri { -brand-short-name } mungkin tidak berfungsi seperti kebiasaan.
+refresh-profile-instead = Anda juga boleh melangkau pencarisilapan dan cuba memuat semula { -brand-short-name }.
+# Shown on the safe mode dialog after multiple startup crashes.
+auto-safe-mode-description = { -brand-short-name } ditutup di luar jangkaan sementara bermula. Ini mungkin disebabkan oleh masalah add-ons atau lain-lain. Anda boleh cuba selesaikan masalah ini dengan pencarisilapan dalam Mod Selamat.
diff --git a/browser/browser/safebrowsing/blockedSite.ftl b/browser/browser/safebrowsing/blockedSite.ftl
new file mode 100644
index 00000000000..31ceb0ce2ba
--- /dev/null
+++ b/browser/browser/safebrowsing/blockedSite.ftl
@@ -0,0 +1,30 @@
+# 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/.
+
+safeb-blocked-phishing-page-title = Laman mengelirukan
+safeb-blocked-malware-page-title = Melayari laman web ini boleh membahayakan komputer anda
+safeb-blocked-unwanted-page-title = Laman ini mungkin mengandungi atur cara yang berbahaya
+safeb-blocked-harmful-page-title = Laman berikut mungkin ada perisian hasad
+safeb-blocked-phishing-page-short-desc = { -brand-short-name } menyekat halaman ini kerana boleh memperdayakan anda supaya membuat sesuatu yang berbahaya, seperti memasang perisian atau mendedahkan maklumat peribadi, contohnya kata laluan atau kad kredit.
+safeb-blocked-malware-page-short-desc = { -brand-short-name } menyekat halaman ini kerana cuba memasang perisian hasad yang boleh mencuri atau menghapuskan maklumat peribadi dalam komputer anda.
+safeb-blocked-unwanted-page-short-desc = { -brand-short-name } menyekat halaman ini kerana cuba memperdayakan anda supaya memasang atur cara yang membahayakan pelayaran anda (contohnya, dengan menukar laman atau memaparkan iklan tambahan dalam laman yang dilawati).
+safeb-blocked-harmful-page-short-desc = { -brand-short-name } menyekat halaman ini kerana cuba memasang aplikasi yang mencuri data atau menghapuskan data anda (sebagai contoh, foto, kata laluan, mesej dan kad kredit).
+safeb-palm-advisory-desc = Khidmat nasihat disediakan oleh { $advisoryname }.
+safeb-palm-accept-label = Undur
+safeb-palm-see-details-label = Lihat butiran
+safeb-blocked-phishing-page-error-desc-override = { $sitename } telah dilaporkan sebagai laman mengelirukan. Anda boleh laporkan masalah yang dikesan ini atau abaikan risiko ini dan terus melayari laman yang tidak selamat ini.
+safeb-blocked-phishing-page-error-desc-no-override = { $sitename } telah dilaporkan sebagai laman mengelirukan. Anda boleh laporkan masalah yang dikesan ini.
+safeb-blocked-phishing-page-learn-more = Ketahui lebih lanjut perihal laman mengelirukan dan phishing di www.antiphishing.org. Ketahui lebih lanjut perihal Perlindungan Phishing dan Perisian Hasad { -brand-short-name } di support.mozilla.org.
+safeb-blocked-malware-page-error-desc-override = { $sitename } telah dilaporkan mengandungi perisian hasad. Anda boleh laporkan masalah yang dikesan ini atau abaikan risiko dan terus melayari laman yang tidak selamat ini.
+safeb-blocked-malware-page-error-desc-no-override = { $sitename } telah dilaporkan mengandungi perisian hasad. Anda boleh laporkan masalah yang dikesan ini.
+safeb-blocked-malware-page-learn-more = Ketahui lebih lanjut perihal kandungan web berbahaya termasuk virus dan perisian hasad lain, dan cara melindungi komputer anda di StopBadware.org. Ketahui lebih lanjut perihal Perlindungan Phishing dan Perisian Hasad { -brand-short-name } di support.mozilla.org.
+safeb-blocked-unwanted-page-error-desc-override = { $sitename } telah dilaporkan mengandungi perisian berbahaya. Anda boleh abaikan risiko ini dan terus melayari laman yang tidak selamat ini.
+safeb-blocked-unwanted-page-error-desc-no-override = { $sitename } telah dilaporkan mengandungi perisian berbahaya.
+safeb-blocked-unwanted-page-learn-more = Ketahui lebih lanjut perihal perisian berbahaya dan tidak diingini di Polisi Perisian Tidak Diingini. Ketahui lebih lanjut perihal Perlindungan Phishing dan Perisian Hasad { -brand-short-name } di support.mozilla.org.
+safeb-blocked-harmful-page-error-desc-override = { $sitename } telah dilaporkan mengandungi aplikasi yang berbahaya. Anda boleh abaikan risiko ini dan terus melayari laman yang tidak selamat ini.
+safeb-blocked-harmful-page-error-desc-no-override = { $sitename } telah dilaporkan mengandungi aplikasi yang berbahaya.
+safeb-blocked-harmful-page-learn-more = Ketahui lebih lanjut perihal Perlindungan Phishing dan Perisian Hasad { -brand-short-name } di support.mozilla.org.
+safeb-palm-notdeceptive =
+ .label = Ini bukan laman mengelirukanâ¦
+ .accesskey = m
diff --git a/browser/browser/sanitize.ftl b/browser/browser/sanitize.ftl
new file mode 100644
index 00000000000..707ce25c081
--- /dev/null
+++ b/browser/browser/sanitize.ftl
@@ -0,0 +1,86 @@
+# 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/.
+
+sanitize-prefs =
+ .title = Tetapan untuk Buang Sejarah
+ .style = width: 34em
+sanitize-prefs-style =
+ .style = width: 17em
+dialog-title =
+ .title = Buang Sejarah Terkini
+ .style = width: 34em
+# When "Time range to clear" is set to "Everything", this message is used for the
+# title instead of dialog-title.
+dialog-title-everything =
+ .title = Buang Semua Sejarah
+ .style = width: 34em
+clear-data-settings-label = Apabila ditutup, { -brand-short-name } buang semua secara automatik
+
+## clear-time-duration-prefix is followed by a dropdown list, with
+## values localized using clear-time-duration-value-* messages.
+## clear-time-duration-suffix is left empty in English, but can be
+## used in other languages to change the structure of the message.
+##
+## This results in English:
+## Time range to clear: (Last Hour, Today, etc.)
+
+clear-time-duration-prefix =
+ .value = Julat masa untuk menghapuskan:{ " " }
+ .accesskey = J
+clear-time-duration-value-last-hour =
+ .label = Satu Jam Lepas
+clear-time-duration-value-last-2-hours =
+ .label = Dua Jam Lepas
+clear-time-duration-value-last-4-hours =
+ .label = Empat Jam Lepas
+clear-time-duration-value-today =
+ .label = Hari ini
+clear-time-duration-value-everything =
+ .label = Semua
+clear-time-duration-suffix =
+ .value = { "" }
+
+## These strings are used as section comments and checkboxes
+## to select the items to remove
+
+history-section-label = Sejarah
+item-history-and-downloads =
+ .label = Sejarah Pelayaran & Muat Turun
+ .accesskey = M
+item-cookies =
+ .label = Kuki
+ .accesskey = K
+item-active-logins =
+ .label = Log masuk Aktif
+ .accesskey = L
+item-cache =
+ .label = Cache
+ .accesskey = A
+item-form-search-history =
+ .label = Borang & Sejarah Carian
+ .accesskey = B
+data-section-label = Data
+item-site-preferences =
+ .label = Keutamaan Laman
+ .accesskey = K
+item-offline-apps =
+ .label = Data Laman web Luar talian
+ .accesskey = D
+sanitize-everything-undo-warning = Tindakan ini tidak boleh dibatalkan.
+window-close =
+ .key = w
+sanitize-button-ok =
+ .label = Buang Sekarang
+# The label for the default button between the user clicking it and the window
+# closing. Indicates the items are being cleared.
+sanitize-button-clearing =
+ .label = Membuang
+# Warning that appears when "Time range to clear" is set to "Everything" in Clear
+# Recent History dialog, provided that the user has not modified the default set
+# of history items to clear.
+sanitize-everything-warning = Semua sejarah akan dibuang.
+# Warning that appears when "Time range to clear" is set to "Everything" in Clear
+# Recent History dialog, provided that the user has modified the default set of
+# history items to clear.
+sanitize-selected-warning = Semua item terpilih akan dibuang.
diff --git a/browser/browser/syncedTabs.ftl b/browser/browser/syncedTabs.ftl
new file mode 100644
index 00000000000..3d61558587a
--- /dev/null
+++ b/browser/browser/syncedTabs.ftl
@@ -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/.
+
+synced-tabs-sidebar-title = Tab Sync
+synced-tabs-sidebar-noclients-subtitle = Mahu melihat tab anda daripada peranti lain di sini?
+synced-tabs-sidebar-notsignedin = Daftar masuk untuk papar senarai tab dari peranti anda yang lain.
+synced-tabs-sidebar-unverified = Akaun anda perlu disahkan.
+synced-tabs-sidebar-notabs = Tiada tab terbuka
+synced-tabs-sidebar-openprefs = Buka Keutamaan { -sync-brand-short-name }
+synced-tabs-sidebar-tabsnotsyncing = Mengaktifkan sync tab untuk papar senarai tab dari peranti anda yang lain.
+synced-tabs-sidebar-connect-another-device = Sambung Peranti Lain
+synced-tabs-sidebar-search =
+ .placeholder = Cari tab yang diselaraskan
+synced-tabs-context-open =
+ .label = Buka
+ .accesskey = B
+synced-tabs-context-open-in-new-tab =
+ .label = Buka dalam Tab Baru
+ .accesskey = B
+synced-tabs-context-open-in-new-window =
+ .label = Buka dalam Tetingkap Baru
+ .accesskey = T
+synced-tabs-context-open-in-new-private-window =
+ .label = Buka dalam Tetingkap Peribadi Baru
+ .accesskey = P
+synced-tabs-context-bookmark-single-tab =
+ .label = Tandabuku Tab Iniâ¦
+ .accesskey = T
+synced-tabs-context-copy =
+ .label = Salin
+ .accesskey = S
+synced-tabs-context-open-all-in-tabs =
+ .label = Buka Semua dalam Tab
+ .accesskey = S
+synced-tabs-context-manage-devices =
+ .label = Urus Perantiâ¦
+ .accesskey = P
+fxa-sign-in = Daftar masuk ke { -sync-brand-short-name }
diff --git a/browser/browser/tabContextMenu.ftl b/browser/browser/tabContextMenu.ftl
new file mode 100644
index 00000000000..c35521bab88
--- /dev/null
+++ b/browser/browser/tabContextMenu.ftl
@@ -0,0 +1,70 @@
+# 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/.
+
+reload-tab =
+ .label = Muat Semula Tab
+ .accesskey = M
+select-all-tabs =
+ .label = Pilih Semua Tab
+ .accesskey = S
+duplicate-tab =
+ .label = Duplikasi Tab
+ .accesskey = D
+duplicate-tabs =
+ .label = Duplikasi Tab
+ .accesskey = D
+close-tabs-to-the-end =
+ .label = Tutup Tab ke Kanan
+ .accesskey = k
+close-other-tabs =
+ .label = Tutup Tab Lain
+ .accesskey = u
+reload-tabs =
+ .label = Muat Semula Tab
+ .accesskey = M
+pin-tab =
+ .label = Pin Tab
+ .accesskey = P
+unpin-tab =
+ .label = Buang pin Tab
+ .accesskey = b
+pin-selected-tabs =
+ .label = Pin Tab
+ .accesskey = P
+unpin-selected-tabs =
+ .label = Buang pin Tab
+ .accesskey = b
+bookmark-selected-tabs =
+ .label = Tandabuku Tabâ¦
+ .accesskey = k
+bookmark-tab =
+ .label = Tab Tandabuku
+ .accesskey = T
+reopen-in-container =
+ .label = Buka semula dalam Penyimpan
+ .accesskey = k
+move-to-start =
+ .label = Pindah ke Permulaan
+ .accesskey = P
+move-to-end =
+ .label = Pindah ke Akhir
+ .accesskey = A
+move-to-new-window =
+ .label = Pindah ke Tetingkap Baru
+ .accesskey = T
+undo-close-tab =
+ .label = Batal Tutup Tab
+ .accesskey = B
+close-tab =
+ .label = Tutup Tab
+ .accesskey = b
+close-tabs =
+ .label = Tutup Tab
+ .accesskey = T
+move-tabs =
+ .label = Pindah Tab
+ .accesskey = d
+move-tab =
+ .label = Pindah Tab
+ .accesskey = d
diff --git a/browser/browser/toolbarContextMenu.ftl b/browser/browser/toolbarContextMenu.ftl
new file mode 100644
index 00000000000..e04c3d2da4a
--- /dev/null
+++ b/browser/browser/toolbarContextMenu.ftl
@@ -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/.
+
+toolbar-context-menu-reload-selected-tab =
+ .label = Muat Semula Tab Dipilih
+ .accesskey = M
+toolbar-context-menu-reload-selected-tabs =
+ .label = Muat Semula Tab Dipilih
+ .accesskey = M
+toolbar-context-menu-bookmark-selected-tab =
+ .label = Tandabuku Tab Dipilihâ¦
+ .accesskey = T
+toolbar-context-menu-bookmark-selected-tabs =
+ .label = Tandabuku Tab Yang Dipilihâ¦
+ .accesskey = T
+toolbar-context-menu-select-all-tabs =
+ .label = Pilih Semua Tab
+ .accesskey = P
+toolbar-context-menu-undo-close-tab =
+ .label = Batal Tutup Tab
+ .accesskey = B
diff --git a/browser/chrome/browser-region/region.properties b/browser/chrome/browser-region/region.properties
new file mode 100644
index 00000000000..204c9003a8c
--- /dev/null
+++ b/browser/chrome/browser-region/region.properties
@@ -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/.
+
+# 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=4
+
+# The default set of protocol handlers for mailto:
+gecko.handlerService.schemes.mailto.0.name=Yahoo! Mel
+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
+
+# The default set of protocol handlers for irc:
+gecko.handlerService.schemes.irc.0.name=Mibbit
+gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s
+
+# The default set of protocol handlers for ircs:
+gecko.handlerService.schemes.ircs.0.name=Mibbit
+gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s
+
diff --git a/browser/chrome/browser/aboutPrivateBrowsing.dtd b/browser/chrome/browser/aboutPrivateBrowsing.dtd
new file mode 100644
index 00000000000..2aa0bc7b7de
--- /dev/null
+++ b/browser/chrome/browser/aboutPrivateBrowsing.dtd
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/aboutRobots.dtd b/browser/chrome/browser/aboutRobots.dtd
new file mode 100644
index 00000000000..4ef4de287bc
--- /dev/null
+++ b/browser/chrome/browser/aboutRobots.dtd
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/aboutTabCrashed.dtd b/browser/chrome/browser/aboutTabCrashed.dtd
new file mode 100644
index 00000000000..99c6ee78c3c
--- /dev/null
+++ b/browser/chrome/browser/aboutTabCrashed.dtd
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/accounts.properties b/browser/chrome/browser/accounts.properties
new file mode 100644
index 00000000000..7b130118e12
--- /dev/null
+++ b/browser/chrome/browser/accounts.properties
@@ -0,0 +1,110 @@
+# 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 (reconnectDescription) - %S = Email address of user's Firefox Account
+reconnectDescription = Sambung semula %S
+
+# LOCALIZATION NOTE (verifyDescription) - %S = Email address of user's Firefox Account
+verifyDescription = Sahkan %S
+
+# These strings are shown in a desktop notification after the
+# user requests we resend a verification email.
+verificationSentTitle = Pengesahan Telah Dihantar
+# LOCALIZATION NOTE (verificationSentBody) - %S = Email address of user's Firefox Account
+verificationSentBody = Pautan pengesahan telah dihantar kepada %S.
+verificationNotSentTitle = Gagal Menghantar Pengesahan
+verificationNotSentBody = Kami tidak dapat menghantar e-mel pengesahan pada masa ini, sila cuba lagi selepas ini.
+
+# LOCALIZATION NOTE (deviceConnectedTitle, deviceConnectedBody, deviceConnectedBody.noDeviceName)
+# These strings are used in a notification shown when a new device joins the Sync account.
+# deviceConnectedBody.noDeviceName is shown instead of deviceConnectedBody when we
+# could not get the device name that joined
+deviceConnectedTitle = Firefox Sync
+deviceConnectedBody = Komputer ini sedang diselaraskan dengan %S.
+deviceConnectedBody.noDeviceName = Komputer ini sedang diselaraskan dengan peranti baru.
+
+# LOCALIZATION NOTE (syncStartNotification.title, syncStartNotification.body)
+# These strings are used in a notification shown after Sync is connected.
+syncStartNotification.title = Sync Didayakan
+# %S is brandShortName
+syncStartNotification.body2 = %S akan memulakan sync sebentar lagi.
+
+# LOCALIZATION NOTE (deviceDisconnectedNotification.title, deviceDisconnectedNotification.body)
+# These strings are used in a notification shown after Sync was disconnected remotely.
+deviceDisconnectedNotification.title = Sync Diputuskan
+deviceDisconnectedNotification.body = Komputer ini telah berjaya memutuskan sambungan dengan Firefox Sync.
+
+# LOCALIZATION NOTE (sendToAllDevices.menuitem)
+# Displayed in the Send Tab/Page/Link to Device context menu when right clicking a tab, a page or a link.
+sendToAllDevices.menuitem = Hantar ke Semua Peranti
+
+# LOCALIZATION NOTE (sendTabToDevice.unconfigured, sendTabToDevice.unconfigured.status)
+# Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+# and the Sync account is unconfigured. Redirects to a marketing page.
+sendTabToDevice.unconfigured.status = Tidak bersambung ke Sync
+sendTabToDevice.unconfigured = Belajar Perihal Menghantar Tabâ¦
+
+# LOCALIZATION NOTE (sendTabToDevice.signintosync)
+# Displayed in the Send Tabs context menu and the page action panel when sync is not
+# configured. Allows users to immediately sign into sync via the preferences.
+sendTabToDevice.signintosync = Daftar masuk ke Syncâ¦
+
+# LOCALIZATION NOTE (sendTabToDevice.singledevice, sendTabToDevice.connectdevice,
+# sendTabToDevice.singledevice.status)
+# Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+# and the Sync account has only 1 device. The sendTabToDevice.singledevice link
+# redirects to a marketing page, the sendTabToDevice.connectdevice redirects
+# to an FxAccounts page that tells to you to connect another device.
+sendTabToDevice.singledevice.status = Tiada Peranti Dihubungkan
+sendTabToDevice.singledevice = Belajar Perihal Menghantar Tabâ¦
+
+sendTabToDevice.connectdevice = Sambung Peranti Lainâ¦
+
+# LOCALIZATION NOTE (sendTabToDevice.verify, sendTabToDevice.verify.status)
+# Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+# and the Sync account is unverified. Redirects to the Sync preferences page.
+sendTabToDevice.verify.status = Akaun Tidak Disahkan
+sendTabToDevice.verify = Sahkan Akaun Andaâ¦
+
+# LOCALIZATION NOTE (tabArrivingNotification.title, tabArrivingNotificationWithDevice.title,
+# multipleTabsArrivingNotification.title, unnamedTabsArrivingNotification2.body,
+# unnamedTabsArrivingNotificationMultiple2.body, unnamedTabsArrivingNotificationNoDevice.body)
+# These strings are used in a notification shown when we're opening tab(s) another device sent us to display.
+
+# LOCALIZATION NOTE (tabArrivingNotification.title, tabArrivingNotificationWithDevice.title,
+# multipleTabsArrivingNotification.title, unnamedTabsArrivingNotification2.body,
+# unnamedTabsArrivingNotificationMultiple2.body, unnamedTabsArrivingNotificationNoDevice.body,
+# singleTabArrivingWithTruncatedURL.body)
+# These strings are used in a notification shown when we're opening tab(s) another device sent us to display.
+
+# LOCALIZATION NOTE (tabArrivingNotification.title, tabArrivingNotificationWithDevice.title)
+# The body for these is the URL of the tab recieved
+tabArrivingNotification.title = Tab Diterima
+# LOCALIZATION NOTE (tabArrivingNotificationWithDevice.title) %S is the device name
+tabArrivingNotificationWithDevice.title = Tab dari %S
+
+multipleTabsArrivingNotification.title = Tab Diterima
+# LOCALIZATION NOTE (unnamedTabsArrivingNotification2.body):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs received and #2 is the device name.
+unnamedTabsArrivingNotification2.body = #1 tab diterima dari #2
+# LOCALIZATION NOTE (unnamedTabsArrivingNotificationMultiple2.body):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs received.
+unnamedTabsArrivingNotificationMultiple2.body = #1 tab diterima dari peranti yang dihubungkan
+
+# LOCALIZATION NOTE (unnamedTabsArrivingNotificationNoDevice.body):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs received
+# This version is used when we don't know any device names.
+unnamedTabsArrivingNotificationNoDevice.body = #1 tab telah diterima
+
+# LOCALIZATION NOTE (singleTabArrivingWithTruncatedURL.body):
+# Used when a tab from a remote device arrives but the URL must be truncated.
+# Should display the URL with an indication that it's benen truncated.
+# %S is the portion of the URL that remains after truncation.
+singleTabArrivingWithTruncatedURL.body = %Sâ¦
diff --git a/browser/chrome/browser/activity-stream/newtab.properties b/browser/chrome/browser/activity-stream/newtab.properties
new file mode 100644
index 00000000000..868b97a207d
--- /dev/null
+++ b/browser/chrome/browser/activity-stream/newtab.properties
@@ -0,0 +1,211 @@
+newtab_page_title=Tab Baru
+
+header_top_sites=Laman Teratas
+header_highlights=Serlahan
+# LOCALIZATION NOTE(header_recommended_by): This is followed by the name
+# of the corresponding content provider.
+header_recommended_by=Disyorkan oleh {provider}
+
+# LOCALIZATION NOTE(context_menu_button_sr): This is for screen readers when
+# the context menu button is focused/active. Title is the label or hostname of
+# the site.
+context_menu_button_sr=Buka menu konteks untuk {title}
+
+# LOCALIZATION NOTE(section_context_menu_button_sr): This is for screen readers when
+# the section edit context menu button is focused/active.
+section_context_menu_button_sr=Buka bahagian menu konteks
+
+# LOCALIZATION NOTE (type_label_*): These labels are associated to pages to give
+# context on how the element is related to the user, e.g. type indicates that
+# the page is bookmarked, or is currently open on another device
+type_label_visited=Dilawati
+type_label_bookmarked=Ditandabuku
+type_label_recommended=Sohor kini
+type_label_pocket=Disimpan ke Pocket
+type_label_downloaded=Telah dimuat turun
+
+# LOCALIZATION NOTE (menu_action_*): These strings are displayed in a context
+# menu and are meant as a call to action for a given page.
+# LOCALIZATION NOTE (menu_action_bookmark): Bookmark is a verb, as in "Add to
+# bookmarks"
+menu_action_bookmark=Tandabuku
+menu_action_remove_bookmark=Buang Tandabuku
+menu_action_open_new_window=Buka dalam Tetingkap Baru
+menu_action_open_private_window=Buka dalam Tetingkap Peribadi Baru
+menu_action_dismiss=Abai
+menu_action_delete=Buang daripada Sejarah
+menu_action_pin=Pin
+menu_action_unpin=Nyahpin
+confirm_history_delete_p1=Adakah anda pasti mahu membuang setiap contoh halaman ini daripada sejarah anda?
+# LOCALIZATION NOTE (confirm_history_delete_notice_p2): this string is displayed in
+# the same dialog as confirm_history_delete_p1. "This action" refers to deleting a
+# page from history.
+confirm_history_delete_notice_p2=Tindakan ini tidak boleh dibatalkan.
+menu_action_save_to_pocket=Simpan ke Pocket
+menu_action_delete_pocket=Buang dari Pocket
+menu_action_archive_pocket=Arkib dalam Pocket
+
+# LOCALIZATION NOTE (menu_action_show_file_*): These are platform specific strings
+# found in the context menu of an item that has been downloaded. The intention behind
+# "this action" is that it will show where the downloaded file exists on the file system
+# for each operating system.
+menu_action_show_file_mac_os=Papar dalam Finder
+menu_action_show_file_windows=Buka Kandungan Folder
+menu_action_show_file_linux=Buka Kandungan Folder
+menu_action_show_file_default=Papar Fail
+menu_action_open_file=Buka Fail
+
+# LOCALIZATION NOTE (menu_action_copy_download_link, menu_action_go_to_download_page):
+# "Download" here, in both cases, is not a verb, it is a noun. As in, "Copy the
+# link that belongs to this downloaded item"
+menu_action_copy_download_link=Salin Pautan Muat Turun
+menu_action_go_to_download_page=Pergi ke Halaman Muat Turun
+menu_action_remove_download=Buang daripada Sejarah
+
+# LOCALIZATION NOTE (search_button): This is screenreader only text for the
+# search button.
+search_button=Cari
+
+# LOCALIZATION NOTE (search_header): Displayed at the top of the panel
+# showing search suggestions. {search_engine_name} is replaced with the name of
+# the current default search engine. e.g. 'Google Search'
+search_header={search_engine_name} Cari
+
+# LOCALIZATION NOTE (search_web_placeholder): This is shown in the searchbox when
+# the user hasn't typed anything yet.
+search_web_placeholder=Cari dalam Web
+
+# LOCALIZATION NOTE (section_disclaimer_topstories): This is shown below
+# the topstories section title to provide additional information about
+# how the stories are selected.
+section_disclaimer_topstories=Kisah paling menarik dalam web yang dipilih berdasarkan yang anda baca. Dari Pocket, kini sebahagian daripada Mozilla.
+section_disclaimer_topstories_linktext=Ketahui fungsi ciri ini.
+# LOCALIZATION NOTE (section_disclaimer_topstories_buttontext): The text of
+# the button used to acknowledge, and hide this disclaimer in the future.
+section_disclaimer_topstories_buttontext=Ok, faham
+
+# LOCALIZATION NOTE (prefs_*, settings_*): These are shown in about:preferences
+# for a "Firefox Home" section. "Firefox" should be treated as a brand and kept
+# in English, while "Home" should be localized matching the about:preferences
+# sidebar mozilla-central string for the panel that has preferences related to
+# what is shown for the homepage, new windows, and new tabs.
+prefs_home_header=Kandungan Halaman Utama Firefox
+prefs_home_description=Pilih kandungan yang mahu dalam skrin Halaman Utama Firefox.
+# LOCALIZATION NOTE (prefs_section_rows_option): This is a semi-colon list of
+# plural forms used in a drop down of multiple row options (1 row, 2 rows).
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+prefs_section_rows_option={num} baris
+prefs_search_header=Carian Web
+prefs_topsites_description=Laman yang anda kerap lawati
+prefs_topstories_description2=Kandungan hebat dalam seluruh web, khas untuk anda
+prefs_topstories_options_sponsored_label=Kisah Tajaan
+prefs_topstories_sponsored_learn_more=Ketahui selanjutnya
+prefs_highlights_description=Pilihan laman yang anda sudah simpan atau lawati
+prefs_highlights_options_visited_label=Halaman Dilawati
+prefs_highlights_options_download_label=Muat Turun Terbaru
+prefs_highlights_options_pocket_label=Halaman Disimpan ke Pocket
+prefs_snippets_description=Kemas kini daripada Mozilla dan Firefox
+settings_pane_button_label=Sesuaikan halaman Tab Baru anda
+settings_pane_topsites_header=Laman Teratas
+settings_pane_highlights_header=Serlahan
+settings_pane_highlights_options_bookmarks=Tandabuku
+# LOCALIZATION NOTE(settings_pane_snippets_header): For the "Snippets" feature
+# traditionally on about:home. Alternative translation options: "Small Note" or
+# something that expresses the idea of "a small message, shortened from
+# something else, and non-essential but also not entirely trivial and useless."
+settings_pane_snippets_header=Cebisan
+
+# LOCALIZATION NOTE (edit_topsites_*): This is shown in the Edit Top Sites modal
+# dialog.
+edit_topsites_button_text=Edit
+edit_topsites_edit_button=Edit laman ini
+
+# LOCALIZATION NOTE (topsites_form_*): This is shown in the New/Edit Topsite modal.
+topsites_form_add_header=Laman Teratas Baru
+topsites_form_edit_header=Edit Laman Teratas
+topsites_form_title_label=Tajuk
+topsites_form_title_placeholder=Masukkan tajuk
+topsites_form_url_label=URL
+topsites_form_image_url_label=URL Imej Penyesuaian
+topsites_form_url_placeholder=Taip atau tampal URL
+topsites_form_use_image_link=Guna imej penyesuaianâ¦
+# LOCALIZATION NOTE (topsites_form_*_button): These are verbs/actions.
+topsites_form_preview_button=Previu
+topsites_form_add_button=Tambah
+topsites_form_save_button=Simpan
+topsites_form_cancel_button=Batal
+topsites_form_url_validation=Perlukan URL yang sah
+topsites_form_image_validation=Imej gagal dimuatkan. Cuba URL lain.
+
+# LOCALIZATION NOTE (pocket_read_more): This is shown at the bottom of the
+# trending stories section and precedes a list of links to popular topics.
+pocket_read_more=Topik Popular:
+# LOCALIZATION NOTE (pocket_read_even_more): This is shown as a link at the
+# end of the list of popular topic links.
+pocket_read_even_more=Papar Kisah Selanjutnya
+pocket_more_reccommendations=Saranan Lain
+pocket_learn_more=Ketahui Selanjutnya
+pocket_how_it_works=Cara pelaksanaan
+pocket_cta_button=Dapatkan Pocket
+pocket_cta_text=Simpan cerita yang anda suka dalam Pocket dan jana minda dengan bahan bacaan yang menarik.
+
+highlights_empty_state=Mulakan melayar dan kami akan paparkan beberapa artikel, video dan halaman menarik lain yang sudah anda layari dan tandabuku di sini.
+# LOCALIZATION NOTE (topstories_empty_state): When there are no recommendations,
+# in the space that would have shown a few stories, this is shown instead.
+# {provider} is replaced by the name of the content provider for this section.
+topstories_empty_state=Anda sudah di sini. Tapi sila datang lagi untuk mendapatkan lebih banyak berita hangat daripada {provider}. Tidak boleh tunggu? Pilih topik untuk mendapatkannya dari serata dunia.
+
+# LOCALIZATION NOTE (manual_migration_explanation2): This message is shown to encourage users to
+# import their browser profile from another browser they might be using.
+manual_migration_explanation2=Cuba Firefox dengan tandabuku, sejarah dan kata laluan yang disimpan dalam pelayar lain.
+# LOCALIZATION NOTE (manual_migration_cancel_button): This message is shown on a button that cancels the
+# process of importing another browserâs profile into Firefox.
+manual_migration_cancel_button=Tidak, Terima kasih
+# LOCALIZATION NOTE (manual_migration_import_button): This message is shown on a button that starts the process
+# of importing another browserâs profile profile into Firefox.
+manual_migration_import_button=Import Sekarang
+
+# LOCALIZATION NOTE (error_fallback_default_*): This message and suggested
+# action link are shown in each section of UI that fails to render
+error_fallback_default_info=Ooops, ada kesilapan memuatkan kandungan ini.
+error_fallback_default_refresh_suggestion=Muat semula halaman untuk cuba lagi.
+
+# LOCALIZATION NOTE (section_menu_action_*). These strings are displayed in the section
+# context menu and are meant as a call to action for the given section.
+section_menu_action_remove_section=Buang Seksyen
+section_menu_action_collapse_section=Runtuhkan Seksyen
+section_menu_action_expand_section=Kembangkan Seksyen
+section_menu_action_manage_section=Urus Seksyen
+section_menu_action_manage_webext=Urus Ekstensi
+section_menu_action_add_topsite=Tambah Laman Teratas
+section_menu_action_add_search_engine=Tambah Enjin Carian
+section_menu_action_move_up=Pindah Atas
+section_menu_action_move_down=Pindah Bawah
+section_menu_action_privacy_notice=Notis Privasi
+
+# LOCALIZATION NOTE (firstrun_*). These strings are displayed only once, on the
+# firstrun of the browser, they give an introduction to Firefox and Sync.
+firstrun_title=Bawa Firefox bersama Anda
+firstrun_content=Dapatkan tandabuku, sejarah, kata laluan dan tetapan lain dalam semua peranti anda.
+firstrun_learn_more_link=Ketahui selanjutnya perihal Akaun Firefox
+
+# LOCALIZATION NOTE (firstrun_form_header and firstrun_form_sub_header):
+# firstrun_form_sub_header is a continuation of firstrun_form_header, they are one sentence.
+# firstrun_form_header is displayed more boldly as the call to action.
+firstrun_form_header=Masukkan e-mel anda
+firstrun_form_sub_header=untuk ke Firefox Sync
+
+firstrun_email_input_placeholder=E-mel
+firstrun_invalid_input=Perlu e-mel yang sah
+
+# LOCALIZATION NOTE (firstrun_extra_legal_links): {terms} is equal to firstrun_terms_of_service, and
+# {privacy} is equal to firstrun_privacy_notice. {terms} and {privacy} are clickable links.
+firstrun_extra_legal_links=Dengan meneruskan, anda bersetuju dengan {terms} dan {privacy}.
+firstrun_terms_of_service=Terma Perkhidmatan
+firstrun_privacy_notice=Notis Privasi
+
+firstrun_continue_to_login=Teruskan
+firstrun_skip_login=Langkau langkah ini
+
+# LOCALIZATION NOTE (context_menu_title): Action tooltip to open a context menu
+context_menu_title=Buka menu
diff --git a/browser/chrome/browser/baseMenuOverlay.dtd b/browser/chrome/browser/baseMenuOverlay.dtd
new file mode 100644
index 00000000000..82dfb4e24eb
--- /dev/null
+++ b/browser/chrome/browser/baseMenuOverlay.dtd
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/browser.dtd b/browser/chrome/browser/browser.dtd
new file mode 100644
index 00000000000..bb0b7a9db38
--- /dev/null
+++ b/browser/chrome/browser/browser.dtd
@@ -0,0 +1,1189 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Kuki Terkini">
+Sejarah Terkini">
+Tab dan Tetingkap">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dalam menu .">
diff --git a/browser/chrome/browser/browser.properties b/browser/chrome/browser/browser.properties
new file mode 100644
index 00000000000..6a29d22865d
--- /dev/null
+++ b/browser/chrome/browser/browser.properties
@@ -0,0 +1,1039 @@
+# 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/.
+
+nv_timeout=Tamat Masa
+openFile=Buka Fail
+
+droponhometitle=Tetapkan Laman
+droponhomemsg=Adakah anda mahu dokumen ini menjadi laman baru anda?
+droponhomemsgMultiple=Adakah anda mahu dokumen ini menjadi laman baru anda?
+
+# context menu strings
+
+# LOCALIZATION NOTE (contextMenuSearch): %1$S is the search engine,
+# %2$S is the selection string.
+contextMenuSearch=Cari %1$S untuk "%2$S"
+contextMenuSearch.accesskey=C
+
+# bookmark dialog strings
+
+bookmarkAllTabsDefault=[Nama Folder]
+
+xpinstallPromptMessage=%S menghalang laman ini daripada meminta anda memasang perisian dalam komputer.
+xpinstallPromptMessage.dontAllow=Jangan Izinkan
+xpinstallPromptMessage.dontAllow.accesskey=J
+xpinstallPromptAllowButton=Izinkan
+# Accessibility Note:
+# Be sure you do not choose an accesskey that is used elsewhere in the active context (e.g. main menu bar, submenu of the warning popup button)
+# See http://www.mozilla.org/access/keyboard/accesskey for details
+xpinstallPromptAllowButton.accesskey=I
+xpinstallDisabledMessageLocked=Pemasangan perisian telah dinyahdayakan oleh pentadbir sistem anda.
+xpinstallDisabledMessage=Pemasangan perisian sedang dinyahdayakan. Klik Dayakan dan cuba lagi.
+xpinstallDisabledButton=Dayakan
+xpinstallDisabledButton.accesskey=a
+
+# 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?
+
+webextPerms.unsignedWarning=Amaran. Add-on ini belum disahkan. Add-on berbahaya boleh mencuri maklumat peribadi atau membahayakan komputer anda. Pasang add-on ini jika anda percayakan sumbernya.
+
+# 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.add.accessKey=T
+webextPerms.cancel.label=Batal
+webextPerms.cancel.accessKey=B
+
+# LOCALIZATION NOTE (webextPerms.sideloadMenuItem)
+# %1$S will be replaced with the localized name of the sideloaded add-on.
+# %2$S will be replace with the name of the application (e.g., Firefox, Nightly)
+webextPerms.sideloadMenuItem=%1$S ditambah ke %2$S
+
+# LOCALIZATION NOTE (webextPerms.sideloadHeader)
+# This string is used as a header in the webextension permissions dialog
+# when the extension is side-loaded.
+# %S is replaced with the localized name of the extension being installed.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.sideloadHeader=%S ditambah
+webextPerms.sideloadText2=Atur cara lain dalam komputer anda memasang add-on yang boleh menjejaskan pelayar. Sila semak permintaan keizinan add-on ini dan pilih samada Dayakan atau Batal (biarkannya dinyahdayakan).
+webextPerms.sideloadTextNoPerms=Atur cara lain dalam komputer anda memasang add-on yang boleh menjejaskan pelayar. Sila pilih samada Dayakan atau Batal (biarkannya dinyahdayakan).
+
+webextPerms.sideloadEnable.label=Dayakan
+webextPerms.sideloadEnable.accessKey=D
+webextPerms.sideloadCancel.label=Batal
+webextPerms.sideloadCancel.accessKey=B
+
+# LOCALIZATION NOTE (webextPerms.updateMenuItem)
+# %S will be replaced with the localized name of the extension which
+# has been updated.
+webextPerms.updateMenuItem=%S perlukan keizinan baru
+
+# LOCALIZATION NOTE (webextPerms.updateText)
+# %S is replaced with the localized name of the updated extension.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+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
+webextPerms.updateAccept.accessKey=K
+
+# LOCALIZATION NOTE (webextPerms.optionalPermsHeader)
+# %S is replace with the localized name of the extension requested new
+# permissions.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.optionalPermsHeader=%S perlukan izin tambahan.
+webextPerms.optionalPermsListIntro=Aplikasi ini mahu:
+webextPerms.optionalPermsAllow.label=Izinkan
+webextPerms.optionalPermsAllow.accessKey=I
+webextPerms.optionalPermsDeny.label=Tolak
+webextPerms.optionalPermsDeny.accessKey=T
+
+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.dns=Akses alamat IP dan maklumat nama hos
+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.pkcs11=Sediakan perkhidmatan pengesahan kriptografik
+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.tabHide=Sorok dan papar tab pelayar
+webextPerms.description.topSites=Akses sejarah pelayaran
+webextPerms.description.unlimitedStorage=Simpan data-klien tanpa had
+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
+
+# LOCALIZATION NOTE (webext.defaultSearch.description)
+# %1$S is replaced with the localized named of the extension that is asking to change the default search engine.
+# %2$S is replaced with the name of the current search engine
+# %3$S is replaced with the name of the new search engine
+webext.defaultSearch.description=%1$S mahu menukar enjin carian piawai anda daripada %2$S ke %3$S. Anda setuju?
+webext.defaultSearchYes.label=Ya
+webext.defaultSearchYes.accessKey=Y
+webext.defaultSearchNo.label=Tidak
+webext.defaultSearchNo.accessKey=T
+
+# LOCALIZATION NOTE (webext.remove.confirmation.title)
+# %S is the name of the extension which is about to be removed.
+webext.remove.confirmation.title=Buang %S
+# LOCALIZATION NOTE (webext.remove.confirmation.message)
+# %1$S is the name of the extension which is about to be removed.
+# %2$S is brandShorterName
+webext.remove.confirmation.message=Buang %1$S daripada %2$S?
+webext.remove.confirmation.button=Buang
+
+# LOCALIZATION NOTE (addonPostInstall.message1)
+# %1$S is replaced with the localized named of the extension that was
+# just installed.
+# %2$S is replaced with the localized name of the application.
+addonPostInstall.message1=%1$S telah ditambah ke %2$S.
+addonPostInstall.okay.label=OK
+addonPostInstall.okay.key=O
+
+# LOCALIZATION NOTE (addonDownloadingAndVerifying):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Also see https://bugzilla.mozilla.org/show_bug.cgi?id=570012 for mockups
+addonDownloadingAndVerifying=Memuat turun dan mengesahkan #1 add-onsâ¦
+addonDownloadVerifying=Mengesahkan
+
+addonInstall.unsigned=(Tidak Disahkan)
+addonInstall.cancelButton.label=Batal
+addonInstall.cancelButton.accesskey=B
+addonInstall.acceptButton2.label=Tambah
+addonInstall.acceptButton2.accesskey=T
+
+# LOCALIZATION NOTE (addonConfirmInstallMessage,addonConfirmInstallUnsigned):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is brandShortName
+# #2 is the number of add-ons being installed
+addonConfirmInstall.message=Laman ini mahu memasang #2 add-on dalam #1:
+addonConfirmInstallUnsigned.message=Amaran: Laman ini mahu memasang #2 add-on yang tidak disahkan dalam #1. Teruskan atas risiko anda sendiri.
+
+# LOCALIZATION NOTE (addonConfirmInstallSomeUnsigned.message):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is brandShortName
+# #2 is the total number of add-ons being installed (at least 2)
+addonConfirmInstallSomeUnsigned.message=Amaran: Laman ini mahu memasang #2 add-on dalam #1, ada yang tidak disahkan. Teruskan atas risiko anda sendiri.
+
+# LOCALIZATION NOTE (addonInstalled):
+# %S is the name of the add-on
+addonInstalled=%S telah berjaya dipasang.
+# LOCALIZATION NOTE (addonsGenericInstalled):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of add-ons
+addonsGenericInstalled=#1 add-on telah berjaya dipasang.
+
+# LOCALIZATION NOTE (addonInstallError-1, addonInstallError-2, addonInstallError-3, addonInstallError-4, addonInstallError-5, addonLocalInstallError-1, addonLocalInstallError-2, addonLocalInstallError-3, addonLocalInstallError-4, addonLocalInstallError-5):
+# %1$S is the application name, %2$S is the add-on name
+addonInstallError-1=Add-on tidak dapat dimuat turun kerana kegagalan sambungan rangkaian.
+addonInstallError-2=Add-on ini tidak dapat dipasang kerana tidak sepadan dengan add-on %1$S yang dijangkakan.
+addonInstallError-3=Add-on yang dimuat turun dari laman ini tidak dapat dipasang kerana ada kerosakan.
+addonInstallError-4=%2$S tidak dapat dipasang kerana %1$S tidak boleh mengubahsuai fail yang diperlukan.
+addonInstallError-5=%1$S telah menghalang laman ini daripada memasang add-on yang tidak disahkan.
+addonLocalInstallError-1=Add-on ini tidak dapat dipasang kerana ralat sistem fail.
+addonLocalInstallError-2=Add-on ini tidak dapat dipasang kerana tidak sepadan dengan add-on %1$S yang dijangkakan.
+addonLocalInstallError-3=Add-on ini tidak dapat dipasang kerana ada kerosakan.
+addonLocalInstallError-4=%2$S tidak dapat dipasang kerana %1$S tidak boleh mengubahsuai fail yang diperlukan.
+addonLocalInstallError-5=Add-on ini tidak dapat dipasang kerana belum disahkan.
+
+# LOCALIZATION NOTE (addonInstallErrorIncompatible):
+# %1$S is the application name, %2$S is the application version, %3$S is the add-on name
+addonInstallErrorIncompatible=%3$S tidak dapat dipasang kerana tidak serasi %1$S %2$S.
+
+# LOCALIZATION NOTE (addonInstallErrorBlocklisted): %S is add-on name
+addonInstallErrorBlocklisted=%S tidak dapat dipasang kerana ada risiko tinggi menyebabkan masalah kestabilan dan keselamatan.
+
+unsignedAddonsDisabled.message=Satu atau beberapa add-ons yang dipasang tidak dapat disahkan dan telah dinyahdayakan.
+unsignedAddonsDisabled.learnMore.label=Ketahui Selanjutnya
+unsignedAddonsDisabled.learnMore.accesskey=K
+
+# LOCALIZATION NOTE (lightTheme.name): This is displayed in about:addons -> Appearance
+lightTheme.name=Cerah
+lightTheme.description=Tema dengan skema warna cerah.
+
+# LOCALIZATION NOTE (darkTheme.name): This is displayed in about:addons -> Appearance
+darkTheme.name=Gelap
+darkTheme.description=Tema dengan skema warna gelap.
+
+# LOCALIZATION NOTE (lwthemeInstallRequest.message2): %S will be replaced with
+# the host name of the site.
+lwthemeInstallRequest.message2=Laman ini (%S) cuba memasang tema.
+lwthemeInstallRequest.allowButton2=Izinkan
+lwthemeInstallRequest.allowButton.accesskey2=i
+
+# LOCALIZATION NOTE (popupWarning.message): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is brandShortName and #2 is the number of pop-ups blocked.
+popupWarning.message=#1 menghalang laman ini daripada membuka #2 tetingkap pop-up.
+# LOCALIZATION NOTE (popupWarning.exceeded.message): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is left empty for English, since the number of blocked pop-ups is always greater than 1.
+# #1 is brandShortName and #2 is the number of pop-ups blocked.
+popupWarning.exceeded.message=#1 menghalang laman ini daripada membuka lebih daripada #2 tetingkap pop-up.
+popupWarningButton=Pilihan
+popupWarningButton.accesskey=P
+popupWarningButtonUnix=Keutamaan
+popupWarningButtonUnix.accesskey=K
+popupAllow=Izinkan popup untuk %S
+popupBlock=Sekat popup untuk %S
+popupWarningDontShowFromMessage=Jangan papar mesej ini apabila popup telah disekat
+popupShowPopupPrefix=Papar â%Sâ
+
+# LOCALIZATION NOTE (popupShowBlockedPopupsIndicatorText): Semicolon separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of pop-ups blocked.
+popupShowBlockedPopupsIndicatorText=Papar #1 pop-up disekatâ¦
+
+# Bad Content Blocker Doorhanger Notification
+# %S is brandShortName
+badContentBlocked.blocked.message=%S sedang menyekat kandungan halaman ini.
+badContentBlocked.notblocked.message=%S tidak menyekat kandungan halaman ini.
+
+crashedpluginsMessage.title=Plugin %S telah ranap.
+crashedpluginsMessage.reloadButton.label=Muat semula halaman
+crashedpluginsMessage.reloadButton.accesskey=m
+crashedpluginsMessage.submitButton.label=Hantarkan laporan ranap
+crashedpluginsMessage.submitButton.accesskey=a
+crashedpluginsMessage.learnMore=Ketahui Selanjutnyaâ¦
+
+# Keyword fixup messages
+# LOCALIZATION NOTE (keywordURIFixup.message): Used when the user tries to visit
+# a local host page, by the time the DNS request recognizes it, we have already
+# loaded a search page for the given word. An infobar then asks to the user
+# whether he rather wanted to visit the host. %S is the recognized host.
+keywordURIFixup.message=Adakah anda bermaksud untuk pergi ke %S?
+keywordURIFixup.goTo=Ya, bawa saya ke %S
+keywordURIFixup.goTo.accesskey=Y
+keywordURIFixup.dismiss=Tidak, terima kasih
+keywordURIFixup.dismiss.accesskey=T
+
+## Plugin doorhanger strings
+# LOCALIZATION NOTE (pluginActivate2.message):
+# Used for normal plugin activation if we don't know of a specific security issue.
+# %1$S is the plugin name, %2$S is the domain, and %3$S is brandShortName.
+pluginActivate2.message=Anda mahu izinkan %2$S melaksanakan %1$S? Plugin mungkin memperlahankan %3$S.
+pluginActivateMultiple.message=Izinkan %S untuk jalankan plugin?
+
+# LOCALIZATION NOTE (pluginActivationWarning.message): this should use the
+# same string as "pluginActivationWarning" in pluginproblem.dtd
+pluginActivationWarning.message=Laman ini menggunakan plugin yang mungkin memperlahankan %S.
+
+pluginActivate.learnMore=Ketahui Selanjutnyaâ¦
+# LOCALIZATION NOTE (pluginActivateOutdated.message, pluginActivateOutdated.label):
+# These strings are used when an unsafe plugin has an update available.
+# %1$S is the plugin name, %2$S is the domain, and %3$S is brandShortName.
+pluginActivateOutdated.message=%3$S telah menghalang plugin usang â%1$Sâ daripada dijalankan pada %2$S.
+pluginActivateOutdated.label=Plugin lapuk
+pluginActivate.updateLabel=Kemaskini sekarangâ¦
+# LOCALIZATION NOTE (pluginActivateVulnerable.message):
+# This string is used when an unsafe plugin has no update available.
+# %1$S is the plugin name, %2$S is the domain, and %3$S is brandShortName.
+pluginActivateVulnerable.message=%3$S telah menghalang plugin yang tidak selamat "%1$S" daripada dijalankan pada %2$S.
+
+pluginInfo.unknownPlugin=Tidak diketahui
+
+# LOCALIZATION NOTE (pluginActivateNow.label, pluginActivateAlways.label, pluginBlockNow.label): These should be the same as the matching strings in browser.dtd
+# LOCALIZATION NOTE (pluginActivateNow.label): This button will enable the
+# plugin in the current session for an short time (about an hour), auto-renewed
+# if the site keeps using the plugin.
+pluginActivateNow.label=Izinkan Sekarang
+pluginActivateNow.accesskey=S
+# LOCALIZATION NOTE (pluginActivateAlways.label): This button will enable the
+# plugin for a long while (90 days), auto-renewed if the site keeps using the
+# plugin.
+pluginActivateAlways.label=Izinkan dan Ingat
+pluginActivateAlways.accesskey=n
+pluginBlockNow.label=Sekat Plugin
+pluginBlockNow.accesskey=e
+pluginContinue.label=Terus Izinkan
+pluginContinue.accesskey=T
+
+# Flash activation doorhanger UI
+flashActivate.message=Adakah anda izinkan Adobe Flash digunakan dalam laman ini? Hanya izinkan Adobe Flash dalam laman yang anda percayai.
+flashActivate.outdated.message=Adakah anda izinkan versi Adobe Flash yang lapuk digunakan dalam laman ini? Versi yang lapuk boleh menjejaskan prestasi dan keselamatan pelayar.
+flashActivate.remember=Ingati keputusan ini
+flashActivate.noAllow=Jangan Izinkan
+flashActivate.allow=Izinkan
+flashActivate.noAllow.accesskey=J
+flashActivate.allow.accesskey=I
+
+# in-page UI
+# LOCALIZATION NOTE (PluginClickToActivate2): Two changes were done to the
+# previous version of the string. The first is that we changed the wording from
+# "Activate" to "Run", because it's shorter and feels less technical in English.
+# Feel free to keep using the previous wording in your language if it's already
+# the best one.
+# The second change is that we removed the period at the end of the phrase, because
+# it's not natural in our UI, and the underline was removed from this, so it doesn't
+# look like a link anymore. We suggest that everyone removes that period too.
+PluginClickToActivate2=Mulakan %S
+PluginVulnerableUpdatable=Plugin ini rentan dan perlu dikemaskini.
+PluginVulnerableNoUpdate=Plugin ini ada kelemahan keselamatan.
+
+# infobar UI
+pluginContinueBlocking.label=Teruskan Sekatan
+pluginContinueBlocking.accesskey=T
+# LOCALIZATION NOTE (pluginActivateTrigger): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+pluginActivateTrigger.label=Izinkanâ¦
+pluginActivateTrigger.accesskey=I
+
+# Sanitize
+# LOCALIZATION NOTE (sanitizeDialog2.everything.title): When "Time range to
+# clear" is set to "Everything", the Clear Recent History dialog's title is
+# changed to this. See UI mockup and comment 11 at bug 480169 -->
+sanitizeDialog2.everything.title=Buang Semua Sejarah
+sanitizeButtonOK=Buang Sekarang
+# LOCALIZATION NOTE (sanitizeButtonClearing): The label for the default
+# button between the user clicking it and the window closing. Indicates the
+# items are being cleared.
+sanitizeButtonClearing=Membuang
+
+# LOCALIZATION NOTE (sanitizeEverythingWarning2): Warning that appears when
+# "Time range to clear" is set to "Everything" in Clear Recent History dialog,
+# provided that the user has not modified the default set of history items to clear.
+sanitizeEverythingWarning2=Semua sejarah akan dibuang.
+# LOCALIZATION NOTE (sanitizeSelectedWarning): Warning that appears when
+# "Time range to clear" is set to "Everything" in Clear Recent History dialog,
+# provided that the user has modified the default set of history items to clear.
+sanitizeSelectedWarning=Semua item terpilih akan dibuang.
+
+# Sanitize
+# LOCALIZATION NOTE (update.downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=Kemaskini ke %S
+update.downloadAndInstallButton.accesskey=K
+
+menuOpenAllInTabs.label=Buka Semua dalam Tab
+
+# History menu
+menuRestoreAllTabs.label=Pulih Semua Tab
+# LOCALIZATION NOTE (menuRestoreAllTabsSubview.label): like menuRestoreAllTabs.label,
+# but used in the history subview in the panel UI, so needs to mention these are *closed* tabs.
+menuRestoreAllTabsSubview.label=Pulih Tab Ditutup
+# LOCALIZATION NOTE (menuRestoreAllWindows, menuUndoCloseWindowLabel, menuUndoCloseWindowSingleTabLabel):
+# see bug 394759
+menuRestoreAllWindows.label=Pulih Semua Tetingkap
+# LOCALIZATION NOTE (menuRestoreAllWindowsSubview.label): like menuRestoreAllWindows.label,
+# but used in the history subview in the panel UI, so needs to mention these are *closed* windows.
+menuRestoreAllWindowsSubview.label=Pulih Tetingkap Ditutup
+# LOCALIZATION NOTE (menuUndoCloseWindowLabel): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 Window Title, #2 Number of tabs
+menuUndoCloseWindowLabel=#1 (dan #2 tab lain)
+menuUndoCloseWindowSingleTabLabel=#1
+
+# Unified Back-/Forward Popup
+tabHistory.current=Kekal dalam laman ini
+tabHistory.goBack=Undur ke halaman ini
+tabHistory.goForward=Maju Hadapan ke laman ini
+
+# URL Bar
+pasteAndGo.label=Tampal & Lancarkan
+# LOCALIZATION NOTE (reloadButton.tooltip):
+# %S is the keyboard shortcut for reloading the current page
+reloadButton.tooltip=Muat semula halaman semasa (%S)
+# LOCALIZATION NOTE (stopButton.tooltip):
+# %S is the keyboard shortcut for stopping loading the page
+stopButton.tooltip=Hentikan memuatkan halaman ini (%S)
+# LOCALIZATION NOTE (urlbar-zoom-button.tooltip):
+# %S is the keyboard shortcut for resetting the zoom level to 100%
+urlbar-zoom-button.tooltip=Set semula paras zum (%S)
+# LOCALIZATION NOTE (reader-mode-button.tooltip):
+# %S is the keyboard shortcut for entering/exiting reader view
+reader-mode-button.tooltip=Togol paparan pembaca (%S)
+# LOCALIZATION NOTE (urlbar.placeholder):
+# %S is the name of the user's current search engine
+urlbar.placeholder=Cari dengan %S atau masukkan alamat
+# LOCALIZATION NOTE (urlbarSearchTip.onboarding):
+# %S is the name of the user's current search engine
+urlbarSearchTip.onboarding=Taip sedikit, cari selanjutnya: Carian %S dari bar alamat anda.
+# LOCALIZATION NOTE (urlbarSearchTip.engineIsCurrentPage):
+# %S is the name of the user's current search engine
+urlbarSearchTip.engineIsCurrentPage=Mulakan carian anda di sini untuk melihat cadangan daripada %S dan sejarah pelayaran anda.
+
+# LOCALIZATION NOTE(zoom-button.label): %S is the current page zoom level,
+# %% will be displayed as a single % character (% is commonly used to define
+# format specifiers, so it needs to be escaped).
+zoom-button.label = %S%%
+
+# Block autorefresh
+refreshBlocked.goButton=Izinkan
+refreshBlocked.goButton.accesskey=I
+refreshBlocked.refreshLabel=%S menghalang halaman ini daripada dimuatkan secara automatik.
+refreshBlocked.redirectLabel=%S menghalang halaman ini daripada dialihkan ke halaman lain secara automatik.
+
+# General bookmarks button
+# LOCALIZATION NOTE (bookmarksMenuButton.tooltip):
+# %S is the keyboard shortcut for "Show All Bookmarks"
+bookmarksMenuButton.tooltip=Papar tandabuku anda (%S)
+# Star button
+starButtonOn.tooltip2=Edit tandabuku ini (%S)
+starButtonOff.tooltip2=Tandabuku halaman Ini (%S)
+
+# Downloads button tooltip
+# LOCALIZATION NOTE (downloads.tooltip):
+# %S is the keyboard shortcut for "Downloads"
+downloads.tooltip=Papar kemajuan muat turun sedang berlangsung (%S)
+
+# Print button tooltip on OS X
+# LOCALIZATION NOTE (printButton.tooltip):
+# Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+# %S is the keyboard shortcut for "Print"
+printButton.tooltip=Cetak laman ini⦠(%S)
+
+# New Window button tooltip
+# LOCALIZATION NOTE (newWindowButton.tooltip):
+# %S is the keyboard shortcut for "New Window"
+newWindowButton.tooltip=Buka tetingkap baharu (%S)
+
+# New Tab button tooltip
+# LOCALIZATION NOTE (newTabButton.tooltip):
+# %S is the keyboard shortcut for "New Tab"
+newTabButton.tooltip=Buka tab baru (%S)
+
+# Offline web applications
+offlineApps.available2=Anda izinkan %S untuk menyimpan data dalam komputer anda?
+offlineApps.allowStoring.label=Izinkan Penyimpanan Data
+offlineApps.allowStoring.accesskey=I
+offlineApps.dontAllow.label=Jangan Izinkan
+offlineApps.dontAllow.accesskey=k
+
+offlineApps.usage=Laman web (%S) ini sekarang menyimpan lebih dari %SMB data di dalam komputer anda untuk kegunaan di luar talian.
+offlineApps.manageUsage=Papar tetapan
+offlineApps.manageUsageAccessKey=S
+
+# Canvas permission prompt
+# LOCALIZATION NOTE (canvas.siteprompt): %S is hostname
+canvas.siteprompt=Adakah anda izinkan %S untuk menggunakan data imej kanvas HTML5? Ini digunakan untuk mengenal pasti komputer anda.
+canvas.notAllow=Jangan Izinkan
+canvas.notAllow.accesskey=n
+canvas.allow=Izinkan Akses Data
+canvas.allow.accesskey=A
+canvas.remember=Sentiasa ingat keputusan ini
+
+# WebAuthn prompts
+# LOCALIZATION NOTE (webauthn.registerPrompt2): %S is hostname
+webauthn.registerPrompt2=%S mahu mendaftar akaun dengan salah satu kunci keselamatan. Anda boleh sambung dan izinkan sekarang, atau batalkan.
+# LOCALIZATION NOTE (webauthn.registerDirectPrompt2):
+# %1$S is hostname. %2$S is brandShortName.
+# The website is asking for extended information about your
+# hardware authenticator that shouldn't be generally necessary. Permitting
+# this is safe if you only use one account at this website. If you have
+# multiple accounts at this website, and you use the same hardware
+# authenticator, then the website could link those accounts together.
+# And this is true even if you use a different profile / browser (or even Tor
+# Browser). To avoid this, you should use different hardware authenticators
+# for different accounts on this website.
+webauthn.registerDirectPrompt2=%1$S meminta maklumat lanjut tentang kunci keselamatan, yang mungkin memberi kesan kepada privasi.\n\n%2$S boleh menjadikannya anonimus, tetapi laman web mungkin menolak kunci ini. Jika ditolak, anda boleh cuba lagi.
+# LOCALIZATION NOTE (webauthn.signPrompt2): %S is hostname
+webauthn.signPrompt2=%S mahu mengesahkan anda menggunakan kunci keselamatan yang didaftarkan. Anda boleh sambung dan sahkan sekarang, atau batalkan.
+webauthn.cancel=Batal
+webauthn.cancel.accesskey=l
+webauthn.proceed=Teruskan
+webauthn.proceed.accesskey=r
+webauthn.anonymize=Anonimus sahaja
+
+# Spoof Accept-Language prompt
+privacy.spoof_english=Menukar tetapan ke Bahasa Inggeris akan membuatkan lebih sukar untuk anda mengenal pasti dan meningkatkan privasi. Adakah anda mahu halaman web ini dalam versi Bahasa Inggeris?
+
+# LOCALIZATION NOTE (identity.headerWithHost):
+# %S is the hostname of the site that is being displayed.
+identity.headerWithHost=Maklumat Laman untuk %S
+identity.identified.verifier=Disahkan oleh: %S
+identity.identified.verified_by_you=Anda telah menambah satu pengecualian keselamatan untuk laman ini.
+identity.identified.state_and_country=%S, %S
+
+# LOCALIZATION NOTE (identity.notSecure.label):
+# Keep this string as short as possible, this is displayed in the URL bar
+# use a synonym for "safe" or "private" if "secure" is too long.
+identity.notSecure.label=Tak Selamat
+
+identity.icon.tooltip=Papar maklumat laman
+identity.extension.label=Ekstensi (%S)
+identity.extension.tooltip=Dimuatkan oleh ekstensi: %S
+identity.showDetails.tooltip=Papar butiran sambungan
+
+contentBlocking.title=Sekatan Kandungan
+contentBlocking.tooltip=Buka Keutamaan Sekatan Kandungan
+contentBlocking.toggle.enable.tooltip=Dayakan Sekatan Kandungan
+contentBlocking.toggle.disable.tooltip=Nyahdayakan Sekatan Kandungan
+
+trackingProtection.intro.title=Bagaimana Perlindungan Penjejakan berfungsi
+# LOCALIZATION NOTE (trackingProtection.intro.description2):
+# %S is brandShortName. This string should match the one from Step 1 of the tour
+# when it starts from the button shown when a new private window is opened.
+trackingProtection.intro.description2=Apabila anda melihat perisai, %S menyekat beberapa bahagian halaman yang boleh mengesan aktiviti pelayaran anda.
+
+# LOCALIZATION NOTE (contentBlocking.intro.title): %S is brandShortName.
+contentBlocking.intro.title=Baru dalam %S: Sekatan Kandungan
+# LOCALIZATION NOTE (contentBlocking.v1.intro.description): %S is brandShortName.
+contentBlocking.intro.v1.description=Apabila anda melihat perisai, %S menyekat beberapa bahagian halaman yang boleh memperlahankan pelayaran atau menjejaki anda atas talian.
+contentBlocking.intro.v2.description=Manfaat privasi daripada Perlindungan Penjejakan kini hanya sebahagian sekatan kandungan. Apabila anda melihat perisai, sekatan kandungan sedang aktif.
+
+trackingProtection.toggle.enable.tooltip=Dayakan Pelindungan Penjejakan
+trackingProtection.toggle.disable.tooltip=Nyahdayakan Pelindungan Penjejakan
+trackingProtection.toggle.enable.pbmode.tooltip=Dayakan Perlindungan Penjejakan dalam Pelayaran Peribadi
+trackingProtection.toggle.disable.pbmode.tooltip=Nyahdayakan Perlindungan Penjejakan dalam Pelayaran Peribadi
+
+# LOCALIZATION NOTE (trackingProtection.intro.step1of3): Indicates that the intro panel is step one of three in a tour.
+trackingProtection.intro.step1of3=1 dari 3
+trackingProtection.intro.nextButton.label=Berikut
+
+trackingProtection.icon.activeTooltip=Percubaan mengesan telah disekat
+trackingProtection.icon.disabledTooltip=Mengesan kandungan penjejakan
+
+# Edit Bookmark UI
+editBookmarkPanel.newBookmarkTitle=Tandabuku Baru
+editBookmarkPanel.editBookmarkTitle=Edit Tandabuku Ini
+editBookmarkPanel.cancel.label=Batal
+editBookmarkPanel.cancel.accesskey=B
+
+# LOCALIZATION NOTE (editBookmark.removeBookmarks.label): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Replacement for #1 is the number of bookmarks to be removed.
+# If this causes problems with localization you can also do "Remove Bookmarks (#1)"
+# instead of "Remove #1 Bookmarks".
+editBookmark.removeBookmarks.label=Buang #1 Tandabuku
+editBookmark.removeBookmarks.accesskey=B
+
+# Post Update Notifications
+pu.notifyButton.label=Butiranâ¦
+pu.notifyButton.accesskey=B
+# LOCALIZATION NOTE %S will be replaced by the short name of the application.
+puNotifyText=%S telah dikemaskini
+puAlertTitle=%S Dikemaskini
+puAlertText=Klik di sini untuk maklumat lanjut
+
+# Application menu
+
+# LOCALIZATION NOTE(zoomReduce-button.tooltip): %S is the keyboard shortcut.
+zoomReduce-button.tooltip = Zum keluar (%S)
+# LOCALIZATION NOTE(zoomReset-button.tooltip): %S is the keyboard shortcut.
+zoomReset-button.tooltip = Set semula paras zum (%S)
+# LOCALIZATION NOTE(zoomEnlarge-button.tooltip): %S is the keyboard shortcut.
+zoomEnlarge-button.tooltip = Zum masuk (%S)
+
+# LOCALIZATION NOTE (cut-button.tooltip): %S is the keyboard shortcut.
+cut-button.tooltip = Potong (%S)
+# LOCALIZATION NOTE (copy-button.tooltip): %S is the keyboard shortcut.
+copy-button.tooltip = Salin (%S)
+# LOCALIZATION NOTE (paste-button.tooltip): %S is the keyboard shortcut.
+paste-button.tooltip = Tampal (%S)
+
+# Geolocation UI
+
+geolocation.allowLocation=Izinkan Akses Lokasi
+geolocation.allowLocation.accesskey=L
+geolocation.dontAllowLocation=Jangan Izinkan
+geolocation.dontAllowLocation.accesskey=k
+geolocation.shareWithSite3=Adakah anda izinkan %S mengakses lokasi anda?
+geolocation.shareWithFile3=Adakah anda izinkan fail lokal ini mengakses lokasi anda?
+geolocation.remember=Ingati keputusan ini
+
+# Persistent storage UI
+persistentStorage.allow=Izinkan
+persistentStorage.allow.accesskey=I
+persistentStorage.dontAllow=Jangan Izinkan
+persistentStorage.dontAllow.accesskey=i
+persistentStorage.neverAllow.label=Jangan sesekali Izinkan
+persistentStorage.neverAllow.accesskey=J
+persistentStorage.notNow.label=Bukan Sekarang
+persistentStorage.notNow.accesskey=g
+persistentStorage.allowWithSite=Adakah anda izinkan %S untuk menyimpan data dalam storan kekal?
+persistentStorage.remember=Ingati keputusan ini
+
+webNotifications.allow=Izinkan Notifikasi
+webNotifications.allow.accesskey=I
+webNotifications.notNow=Bukan Sekarang
+webNotifications.notNow.accesskey=n
+webNotifications.never=Jangan sesekali Izinkan
+webNotifications.never.accesskey=g
+webNotifications.receiveFromSite2=Adakah anda izinkan %S menghantar notifikasi?
+
+# Phishing/Malware Notification Bar.
+# LOCALIZATION NOTE (notADeceptiveSite, notAnAttack)
+# The two button strings will never be shown at the same time, so
+# it's okay for them to have the same access key
+safebrowsing.getMeOutOfHereButton.label=Keluarkan saya dari sini!
+safebrowsing.getMeOutOfHereButton.accessKey=K
+safebrowsing.deceptiveSite=Laman Mengelirukan!
+safebrowsing.notADeceptiveSiteButton.label=Ini bukan laman mengelirukanâ¦
+safebrowsing.notADeceptiveSiteButton.accessKey=D
+safebrowsing.reportedAttackSite=Ini Laman Penyerang!
+safebrowsing.notAnAttackButton.label=Ini bukan laman penyerangâ¦
+safebrowsing.notAnAttackButton.accessKey=P
+safebrowsing.reportedUnwantedSite=Ini Laman Perisian Yang Tidak Diingini!
+safebrowsing.reportedHarmfulSite=Ini Laman Berbahaya!
+
+# Ctrl-Tab
+# LOCALIZATION NOTE (ctrlTab.listAllTabs.label): #1 represents the number
+# of tabs in the current browser window. It will always be 2 at least.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+ctrlTab.listAllTabs.label=Senarai #1 Tab
+
+# LOCALIZATION NOTE (addKeywordTitleAutoFill): %S will be replaced by the page's title
+# Used as the bookmark name when saving a keyword for a search field.
+addKeywordTitleAutoFill=Cari %S
+
+# safeModeRestart
+safeModeRestartPromptTitle=Mula semula dengan Add-ons Dinyahdayakan
+safeModeRestartPromptMessage=Adakah anda pasti mahu menyahdayakan semua add-ons dan muat semula?
+safeModeRestartButton=Mula semula
+
+# LOCALIZATION NOTE (browser.menu.showCharacterEncoding): Set to the string
+# "true" (spelled and capitalized exactly that way) to show the "Text
+# Encoding" menu in the main Firefox button on Windows. Any other value will
+# hide it. Regardless of the value of this setting, the "Text Encoding"
+# menu will always be accessible via the "Web Developer" menu.
+# This is not a string to translate; it just controls whether the menu shows
+# up in the Firefox button. If users frequently use the "Text Encoding"
+# menu, set this to "true". Otherwise, you can leave it as "false".
+browser.menu.showCharacterEncoding=false
+
+# Mozilla data reporting notification (Telemetry, Firefox Health Report, etc)
+dataReportingNotification.message = %1$S secara automatik menghantar data ke %2$S supaya kami boleh menambah baik pengalaman anda.
+dataReportingNotification.button.label = Pilih Apa Yang Saya Kongsi
+dataReportingNotification.button.accessKey = P
+
+# Process hang reporter
+processHang.label = Sebuah laman web memperlahankan pelayar anda. Apa yang anda ingin lakukan?
+# LOCALIZATION NOTE (processHang.add-on.label): %1$S is the name of the
+# extension. %2$S is the name of the product (e.g., Firefox)
+processHang.add-on.label = Skrip dalam ekstensi â%1$Sâ menyebabkan %2$S menjadi perlahan.
+processHang.add-on.learn-more.text = Ketahui selanjutnya
+processHang.button_stop.label = Berhenti
+processHang.button_stop.accessKey = B
+processHang.button_stop_sandbox.label = Ekstensi Dinyahdayakan Sementara Dalam Halaman
+processHang.button_stop_sandbox.accessKey = S
+processHang.button_wait.label = Tunggu
+processHang.button_wait.accessKey = T
+processHang.button_debug.label = Nyahpepipat Skrip
+processHang.button_debug.accessKey = N
+
+# LOCALIZATION NOTE (fullscreenButton.tooltip): %S is the keyboard shortcut for full screen
+fullscreenButton.tooltip=Papar tetingkap dalam skrin penuh (%S)
+
+# These are visible when opening the popup inside the bookmarks sidebar
+sidebar.moveToLeft=Alih bar sisi ke kiri
+sidebar.moveToRight=Alih bar sisi ke kanan
+
+# LOCALIZATION NOTE (getUserMedia.shareCamera2.message,
+# getUserMedia.shareMicrophone2.message,
+# getUserMedia.shareScreen3.message,
+# getUserMedia.shareCameraAndMicrophone2.message,
+# getUserMedia.shareCameraAndAudioCapture2.message,
+# getUserMedia.shareScreenAndMicrophone3.message,
+# getUserMedia.shareScreenAndAudioCapture3.message,
+# getUserMedia.shareAudioCapture2.message):
+# %S is the website origin (e.g. www.mozilla.org)
+getUserMedia.shareCamera2.message = Anda izinkan %S menggunakan kamera anda?
+getUserMedia.shareMicrophone2.message = Anda izinkan %S menggunakan mikrofon anda?
+getUserMedia.shareScreen3.message = Anda izinkan %S menggunakan skrin anda?
+getUserMedia.shareCameraAndMicrophone2.message = Anda izinkan %S menggunakan kamera dan mikrofon anda?
+getUserMedia.shareCameraAndAudioCapture2.message = Anda izinkan %S menggunakan kamera anda dan mendengar audio tab ini?
+getUserMedia.shareScreenAndMicrophone3.message = Anda izinkan %S menggunakan mikrofon anda dan melihat skrin anda?
+getUserMedia.shareScreenAndAudioCapture3.message = Anda izinkan %S mendengar audio tab ini dan melihat skrin anda?
+getUserMedia.shareAudioCapture2.message = Anda izinkan %S mendengar audio tab ini?
+# LOCALIZATION NOTE (getUserMedia.shareScreenWarning.message): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+# %S will be the 'learn more' link
+getUserMedia.shareScreenWarning.message = Kongsi skrin dengan laman yang anda percayai sahaja. Perkongsian membolehkan laman yang berbahaya tersebut melayar bagi pihak anda dan mencuri data peribadi anda. %S
+# LOCALIZATION NOTE (getUserMedia.shareFirefoxWarning.message): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+# %1$S is brandShortName (eg. Firefox)
+# %2$S will be the 'learn more' link
+getUserMedia.shareFirefoxWarning.message = Kongsi %1$S dengan laman yang anda percayai sahaja. Perkongsian membolehkan laman yang berbahaya tersebut melayar bagi pihak anda dan mencuri data peribadi anda. %2$S
+# LOCALIZATION NOTE(getUserMedia.shareScreen.learnMoreLabel): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+getUserMedia.shareScreen.learnMoreLabel = Ketahui Selanjutnya
+getUserMedia.selectWindow.label=Tetingkap untuk dikongsi:
+getUserMedia.selectWindow.accesskey=T
+getUserMedia.selectScreen.label=Skrin untuk dikongsi:
+getUserMedia.selectScreen.accesskey=S
+getUserMedia.selectApplication.label=Aplikasi untuk dikongsi:
+getUserMedia.selectApplication.accesskey=A
+getUserMedia.pickApplication.label = Pilih Aplikasi
+getUserMedia.pickScreen.label = Pilih Skrin
+getUserMedia.pickWindow.label = Pilih Tetingkap
+getUserMedia.shareEntireScreen.label = Keseluruhan skrin
+# LOCALIZATION NOTE (getUserMedia.shareMonitor.label):
+# %S is screen number (digits 1, 2, etc)
+# Example: Screen 1, Screen 2,..
+getUserMedia.shareMonitor.label = Skrin %S
+# LOCALIZATION NOTE (getUserMedia.shareApplicationWindowCount.label):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Replacement for #1 is the name of the application.
+# Replacement for #2 is the number of windows currently displayed by the application.
+getUserMedia.shareApplicationWindowCount.label=#1 (#2 tetingkap)
+# LOCALIZATION NOTE (getUserMedia.allow.label,
+# getUserMedia.dontAllow.label):
+# These two buttons are the possible answers to the various prompts in the
+# "getUserMedia.share{device}.message" strings.
+getUserMedia.allow.label = Izinkan
+getUserMedia.allow.accesskey = I
+getUserMedia.dontAllow.label = Jangan Izinkan
+getUserMedia.dontAllow.accesskey = J
+getUserMedia.remember=Ingati keputusan ini
+# LOCALIZATION NOTE (getUserMedia.reasonForNoPermanentAllow.screen3,
+# getUserMedia.reasonForNoPermanentAllow.audio,
+# getUserMedia.reasonForNoPermanentAllow.insecure):
+# %S is brandShortName
+getUserMedia.reasonForNoPermanentAllow.screen3=%S tidak mengizinkan akses tetap ke skrin anda.
+getUserMedia.reasonForNoPermanentAllow.audio=%S tidak dibenarkan terus mengakses audio tab anda tanpa memberitahu tab yang mahu dikongsi.
+getUserMedia.reasonForNoPermanentAllow.insecure=Sambungan ke laman ini tidak selamat. Untuk melindungi anda, %S hanya akan mengizinkan akses untuk sesi ini.
+
+getUserMedia.sharingMenu.label = Peranti perkongsian tab
+getUserMedia.sharingMenu.accesskey = a
+# LOCALIZATION NOTE (getUserMedia.sharingMenuCamera
+# getUserMedia.sharingMenuMicrophone,
+# getUserMedia.sharingMenuAudioCapture,
+# getUserMedia.sharingMenuApplication,
+# getUserMedia.sharingMenuScreen,
+# getUserMedia.sharingMenuWindow,
+# getUserMedia.sharingMenuBrowser,
+# getUserMedia.sharingMenuCameraMicrophone,
+# getUserMedia.sharingMenuCameraMicrophoneApplication,
+# getUserMedia.sharingMenuCameraMicrophoneScreen,
+# getUserMedia.sharingMenuCameraMicrophoneWindow,
+# getUserMedia.sharingMenuCameraMicrophoneBrowser,
+# getUserMedia.sharingMenuCameraAudioCapture,
+# getUserMedia.sharingMenuCameraAudioCaptureApplication,
+# getUserMedia.sharingMenuCameraAudioCaptureScreen,
+# getUserMedia.sharingMenuCameraAudioCaptureWindow,
+# getUserMedia.sharingMenuCameraAudioCaptureBrowser,
+# getUserMedia.sharingMenuCameraApplication,
+# getUserMedia.sharingMenuCameraScreen,
+# getUserMedia.sharingMenuCameraWindow,
+# getUserMedia.sharingMenuCameraBrowser,
+# getUserMedia.sharingMenuMicrophoneApplication,
+# getUserMedia.sharingMenuMicrophoneScreen,
+# getUserMedia.sharingMenuMicrophoneWindow,
+# getUserMedia.sharingMenuMicrophoneBrowser,
+# getUserMedia.sharingMenuAudioCaptureApplication,
+# getUserMedia.sharingMenuAudioCaptureScreen,
+# getUserMedia.sharingMenuAudioCaptureWindow,
+# getUserMedia.sharingMenuAudioCaptureBrowser):
+# %S is the website origin (e.g. www.mozilla.org)
+getUserMedia.sharingMenuCamera = %S (kamera)
+getUserMedia.sharingMenuMicrophone = %S (mikrofon)
+getUserMedia.sharingMenuAudioCapture = %S (audio tab)
+getUserMedia.sharingMenuApplication = %S (aplikasi)
+getUserMedia.sharingMenuScreen = %S (skrin)
+getUserMedia.sharingMenuWindow = %S (tetingkap)
+getUserMedia.sharingMenuBrowser = %S (tab)
+getUserMedia.sharingMenuCameraMicrophone = %S (kamera dan mikrofon)
+getUserMedia.sharingMenuCameraMicrophoneApplication = %S (kamera, mikrofon dan aplikasi)
+getUserMedia.sharingMenuCameraMicrophoneScreen = %S (kamera, mikrofon dan skrin)
+getUserMedia.sharingMenuCameraMicrophoneWindow = %S (kamera, mikrofon dan tetingkap)
+getUserMedia.sharingMenuCameraMicrophoneBrowser = %S (kamera, mikrofon dan tab)
+getUserMedia.sharingMenuCameraAudioCapture = %S (kamera dan audio tab)
+getUserMedia.sharingMenuCameraAudioCaptureApplication = %S (kamera, audio tab dan aplikasi)
+getUserMedia.sharingMenuCameraAudioCaptureScreen = %S (kamera, audio tab dan skrin)
+getUserMedia.sharingMenuCameraAudioCaptureWindow = %S (kamera, audio tab dan tetingkap)
+getUserMedia.sharingMenuCameraAudioCaptureBrowser = %S (kamera, audio tab dan tab)
+getUserMedia.sharingMenuCameraApplication = %S (kamera dan aplikasi)
+getUserMedia.sharingMenuCameraScreen = %S (kamera dan skrin)
+getUserMedia.sharingMenuCameraWindow = %S (kamera dan tetingkap)
+getUserMedia.sharingMenuCameraBrowser = %S (kamera dan tab)
+getUserMedia.sharingMenuMicrophoneApplication = %S (mikrofon dan aplikasi)
+getUserMedia.sharingMenuMicrophoneScreen = %S (mikrofon dan skrin)
+getUserMedia.sharingMenuMicrophoneWindow = %S (mikrofon dan tetingkap)
+getUserMedia.sharingMenuMicrophoneBrowser = %S (mikrofon dan tab)
+getUserMedia.sharingMenuAudioCaptureApplication = %S (audio tab dan aplikasi)
+getUserMedia.sharingMenuAudioCaptureScreen = %S (audio tab dan skrin)
+getUserMedia.sharingMenuAudioCaptureWindow = %S (audio tab dan tetingkap)
+getUserMedia.sharingMenuAudioCaptureBrowser = %S (audio tab dan tab)
+# LOCALIZATION NOTE(getUserMedia.sharingMenuUnknownHost): this is used for the website
+# origin for the sharing menu if no readable origin could be deduced from the URL.
+getUserMedia.sharingMenuUnknownHost = Origin tidak diketahui
+
+# LOCALIZATION NOTE(emeNotifications.drmContentPlaying.message2): %S is brandShortName.
+emeNotifications.drmContentPlaying.message2 = Beberapa audio atau video pada laman ini menggunakan perisian DRM, yang mungkin mengehadkan penggunaan anda dengan %S.
+emeNotifications.drmContentPlaying.button.label = Konfigurasiâ¦
+emeNotifications.drmContentPlaying.button.accesskey = K
+
+# LOCALIZATION NOTE(emeNotifications.drmContentDisabled.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S will be the 'learn more' link
+emeNotifications.drmContentDisabled.message = Anda perlu dayakan DRM untuk mainkan audio atau video pada halaman ini. %S
+emeNotifications.drmContentDisabled.button.label = Dayakan DRM
+emeNotifications.drmContentDisabled.button.accesskey = D
+# LOCALIZATION NOTE(emeNotifications.drmContentDisabled.learnMoreLabel): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+emeNotifications.drmContentDisabled.learnMoreLabel = Ketahui Selanjutnya
+
+# LOCALIZATION NOTE(emeNotifications.drmContentCDMInstalling.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S is brandShortName
+emeNotifications.drmContentCDMInstalling.message = %S sedang memasang komponen yang diperlukan untuk memainkan audio atau video pada laman ini. Sila cuba lagi kemudian.
+
+emeNotifications.unknownDRMSoftware = Tidak diketahui
+
+# LOCALIZATION NOTE - %S is brandShortName
+slowStartup.message = %S seperti lambat⦠untuk⦠dimulakan.
+slowStartup.helpButton.label = Ketahui Cara untuk Menjadikannya Pantas
+slowStartup.helpButton.accesskey = K
+slowStartup.disableNotificationButton.label = Jangan Beritahu Saya Lagi
+slowStartup.disableNotificationButton.accesskey = J
+
+# LOCALIZATION NOTE - %S is brandShortName
+flashHang.message = %S mengubah beberapa tetapan Adobe Flash untuk memperbaiki prestasi.
+flashHang.helpButton.label = Ketahui Selanjutnyaâ¦
+flashHang.helpButton.accesskey = K
+
+# LOCALIZATION NOTE (customizeMode.tabTitle): %S is brandShortName
+customizeMode.tabTitle = Penyesuaian %S
+
+# LOCALIZATION NOTE (e10s.accessibilityNotice.mainMessage,
+# e10s.accessibilityNotice.enableAndRestart.label,
+# e10s.accessibilityNotice.enableAndRestart.accesskey):
+# These strings are related to the messages we display to offer e10s (Multi-process) to users
+# on the pre-release channels. They won't be used in release but they will likely be used in
+# beta starting from version 41, so it's still useful to have these strings properly localized.
+# %S is brandShortName
+e10s.accessibilityNotice.mainMessage2 = Sokongan ketercapaian sebahagiannya dinyahdayakan kerana isu keserasian dengan ciri %S baru.
+e10s.accessibilityNotice.acceptButton.label = OK
+e10s.accessibilityNotice.acceptButton.accesskey = O
+e10s.accessibilityNotice.enableAndRestart.label = Dayakan (Perlu Mula semula)
+e10s.accessibilityNotice.enableAndRestart.accesskey = D
+
+# LOCALIZATION NOTE (e10s.accessibilityNotice.jawsMessage): %S is brandShortName
+e10s.accessibilityNotice.jawsMessage = Paparan kandungan tab dinyahaktifkan kerana tiada keserasian antara %S dengan perisian anda. Sila kemaskini pembaca skrin anda atau tukar kepada Firefox Extended Support Release.
+
+# 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.
+userContextPersonal.label = Peribadi
+userContextWork.label = Kerja
+userContextBanking.label = Perbankan
+userContextShopping.label = Beli-belah
+userContextNone.label = Tiada Penyimpan
+
+userContextPersonal.accesskey = P
+userContextWork.accesskey = K
+userContextBanking.accesskey = P
+userContextShopping.accesskey = B
+userContextNone.accesskey = T
+
+userContext.aboutPage.label = Urus Penyimpan
+userContext.aboutPage.accesskey = U
+
+userContextOpenLink.label = Buka Pautan dalam Tab Baru %S
+
+muteTab.label = Tab Senyap
+muteTab.accesskey = S
+unmuteTab.label = Nyah-senyap Tab
+unmuteTab.accesskey = a
+playTab.label = Mainkan Tab
+playTab.accesskey = M
+
+muteSelectedTabs.label = Senyapkan Tab
+muteSelectedTabs.accesskey = p
+unmuteSelectedTabs.label = Nyahsenyap Tab
+unmuteSelectedTabs.accesskey = b
+
+muteSelectedTabs2.label = Senyapkan Tab
+# LOCALIZATION NOTE (muteSelectedTabs2.accesskey): The accesskey should
+# match the accesskey for muteTab.accesskey
+unmuteSelectedTabs2.label = Nyahsenyap Tab
+# LOCALIZATION NOTE (unmuteSelectedTabs2.accesskey): The accesskey should
+# match the accesskey for unmuteTab.accesskey
+playTabs.label = Mainkan Tab
+playTabs.accesskey = n
+
+# LOCALIZATION NOTE (sendTabsToDevice.label):
+# Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs sent to the device.
+sendTabsToDevice.label = Hantar #1 Tab ke Peranti
+sendTabsToDevice.accesskey = n
+
+# LOCALIZATION NOTE (pageAction.sendTabsToDevice.label):
+# Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs sent to the device.
+pageAction.sendTabsToDevice.label = Hantar #1 Tab ke Peranti
+
+# LOCALIZATION NOTE (certErrorDetails*.label): These are text strings that
+# appear in the about:certerror page, so that the user can copy and send them to
+# the server administrators for troubleshooting.
+certErrorDetailsHSTS.label = HTTP Keselamatan Pengangkutan Rapi: %S
+certErrorDetailsKeyPinning.label = HTTP Penyematan Kunci Awam: %S
+certErrorDetailsCertChain.label = Rantaian sijil:
+
+# LOCALIZATION NOTE (pendingCrashReports2.label): Semi-colon list of plural forms
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of pending crash reports
+pendingCrashReports2.label = Anda ada #1 laporan ranap yang masih belum dihantar
+pendingCrashReports.viewAll = Papar
+pendingCrashReports.send = Hantar
+pendingCrashReports.alwaysSend = Sentiasa Hantar
+
+decoder.noCodecs.button = Ketahui caranya
+decoder.noCodecs.accesskey = K
+decoder.noCodecs.message = Untuk memainkan video, anda mungkin perlu memasang Ciri Media Pek Microsoft.
+decoder.noCodecsLinux.message = Untuk memainkan video, anda mungkin perlu memasang kodek video yang diperlukan.
+decoder.noHWAcceleration.message = Untuk memainkan video, anda mungkin perlu memasang Ciri Media Pek Microsoft.
+decoder.noPulseAudio.message = Untuk memainkan audio, anda perlu memasang perisian PulseAudio yang diperlukan.
+decoder.unsupportedLibavcodec.message = libavcodec mungkin rosak atau tidak disokong, anda perlu mengemaskini untuk memainkan video.
+
+decoder.decodeError.message = Ada ralat semasa menyahkod sumber media.
+decoder.decodeError.button = Laporkan Isu Laman
+decoder.decodeError.accesskey = L
+decoder.decodeWarning.message = Ada ralat yang boleh dpulihkan semasa menyahkod sumber media.
+
+# LOCALIZATION NOTE (captivePortal.infoMessage3):
+# Shown in a notification bar when we detect a captive portal is blocking network access
+# and requires the user to log in before browsing.
+captivePortal.infoMessage3 = Anda perlu log masuk ke rangkaian ini sebelum anda boleh mengakses Internet.
+# LOCALIZATION NOTE (captivePortal.showLoginPage2):
+# The label for a button shown in the info bar in all tabs except the login page tab.
+# The button shows the portal login page tab when clicked.
+captivePortal.showLoginPage2 = Buka Halaman Log Masuk Rangkaian
+
+permissions.remove.tooltip = Buang izin ini dan minta lagi
+
+# LOCALIZATION NOTE (aboutDialog.architecture.*):
+# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the
+# current Firefox build: 32-bit or 64-bit. These strings are used in parentheses
+# between the Firefox version and the "What's new" link in the About dialog,
+# e.g.: "48.0.2 (32-bit) " or "51.0a1 (2016-09-05) (64-bit)".
+aboutDialog.architecture.sixtyFourBit = 64-bit
+aboutDialog.architecture.thirtyTwoBit = 32-bit
+
+# LOCALIZATION NOTE (certImminentDistrust.message):
+# Shown in the browser console when visiting a website that is trusted today,
+# but won't be in the future unless the site operator makes a change.
+certImminentDistrust.message = Sijil keselamatan yang digunakan di laman web ini tidak lagi boleh dipercayai dalam keluaran akan datang. Untuk maklumat lanjut, layari https://wiki.mozilla.org/CA/Upcoming_Distrust_Actions
+
+midi.Allow.label = Izinkan
+midi.Allow.accesskey = I
+midi.DontAllow.label = Jangan Izinkan
+midi.DontAllow.accesskey = J
+midi.remember=Ingati keputusan ini
+midi.shareWithFile.message = Adakah anda akan izinkan fail lokal ini untuk mengakses peranti MIDI?
+# LOCALIZATION NOTE (midi.shareWithSite.message): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareWithSite.message = Adakah anda akan izinkan %S untuk mengakses Peranti MIDI?
+midi.shareSysexWithFile.message = Adakah anda akan izinkan fail lokal ini untuk mengakses peranti MIDI dan menghantar/menerima mesej SysEx?
+# LOCALIZATION NOTE (midi.shareSysexWithSite.message): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareSysexWithSite.message = Adakah anda akan %S untuk mengakses peranti MIDI dan menghantar/menerima mesej SysEx?
+
+autoplay.Allow2.label = Izinkan
+autoplay.Allow2.accesskey = I
+autoplay.DontAllow.label = Jangan Izinkan
+autoplay.DontAllow.accesskey = n
+autoplay.remember = Ingati keputusan ini
+autoplay.remember-private = Ingati untuk sesi ini
+# LOCALIZATION NOTE (autoplay.message): %S is the name of the site URL (https://...) trying to autoplay media
+autoplay.message = Adakah anda izinkan %S untuk automain media dengan suara?
+autoplay.messageWithFile = Adakah anda izinkan fail ini untuk automain media dengan suara?
+# LOCALIZATION NOTE (panel.back):
+# This is used by screen readers to label the "back" button in various browser
+#Â popup panels, including the sliding subviews of the main menu.
+panel.back = Undur
+
+confirmationHint.sendToDevice.label = Sudah dihantar!
+confirmationHint.sendToDeviceOffline.label = Susunan (luar talian)
+confirmationHint.copyURL.label = Disalin ke klipbod!
+confirmationHint.pageBookmarked.label = Disimpan ke Pustaka!
+confirmationHint.addSearchEngine.label = Enjin carian ditambah!
+
+# LOCALIZATION NOTE (livebookmarkMigration.title):
+# Used by the export of user's live bookmarks to an OPML file as a title for the file.
+# %S will be replaced with brandShortName
+livebookmarkMigration.title = %S Live Bookmarks
diff --git a/browser/chrome/browser/customizableui/customizableWidgets.properties b/browser/chrome/browser/customizableui/customizableWidgets.properties
new file mode 100644
index 00000000000..78b3cb63ee6
--- /dev/null
+++ b/browser/chrome/browser/customizableui/customizableWidgets.properties
@@ -0,0 +1,112 @@
+# 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/.
+
+history-panelmenu.label = Sejarah
+# LOCALIZATION NOTE(history-panelmenu.tooltiptext2): %S is the keyboard shortcut
+history-panelmenu.tooltiptext2 = Papar sejarah anda (%S)
+
+remotetabs-panelmenu.label = Tab Sync
+remotetabs-panelmenu.tooltiptext2 = Papar tab dari peranti lain
+
+privatebrowsing-button.label = Tetingkap Peribadi Baru
+# LOCALIZATION NOTE(privatebrowsing-button.tooltiptext): %S is the keyboard shortcut
+privatebrowsing-button.tooltiptext = Buka tetingkap Pelayaran Peribadi baharu (%S)
+
+save-page-button.label = Simpan Halaman
+# LOCALIZATION NOTE(save-page-button.tooltiptext3): %S is the keyboard shortcut
+save-page-button.tooltiptext3 = Simpan halaman ini (%S)
+
+find-button.label = Cari
+# LOCALIZATION NOTE(find-button.tooltiptext3): %S is the keyboard shortcut.
+find-button.tooltiptext3 = Cari dalam halaman ini (%S)
+
+open-file-button.label = Buka Fail
+# LOCALIZATION NOTE (open-file-button.tooltiptext3): %S is the keyboard shortcut.
+open-file-button.tooltiptext3 = Buka fail (%S)
+
+developer-button.label = Pembangun
+# LOCALIZATION NOTE(developer-button.tooltiptext): %S is the keyboard shortcut
+developer-button.tooltiptext2 = Buka alatan pembangun Web (%S)
+
+sidebar-button.label = Bar sebelah
+sidebar-button.tooltiptext2 = Papar bar sisi
+
+add-ons-button.label = Add-ons
+# LOCALIZATION NOTE(add-ons-button.tooltiptext3): %S is the keyboard shortcut
+add-ons-button.tooltiptext3 = Urus add-ons anda (%S)
+
+preferences-button.label = Keutamaan
+preferences-button.tooltiptext2 = Buka keutamaan
+preferences-button.tooltiptext.withshortcut = Buka keutamaan (%S)
+# LOCALIZATION NOTE (preferences-button.labelWin): Windows-only label for Options
+preferences-button.labelWin = Pilihan
+# LOCALIZATION NOTE (preferences-button.tooltipWin): Windows-only tooltip for Options
+preferences-button.tooltipWin2 = Buka pilihan
+
+zoom-controls.label = Kawalan Zum
+zoom-controls.tooltiptext2 = Kawalan zum
+
+zoom-out-button.label = Zum ke luar
+# LOCALIZATION NOTE(zoom-out-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-out-button.tooltiptext2 = Zum keluar (%S)
+
+# LOCALIZATION NOTE(zoom-reset-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-reset-button.tooltiptext2 = Set semula paras zum (%S)
+
+zoom-in-button.label = Zum ke dalam
+# LOCALIZATION NOTE(zoom-in-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-in-button.tooltiptext2 = Zum masuk (%S)
+
+edit-controls.label = Edit Kawalan
+edit-controls.tooltiptext2 = Edit kawalan
+
+cut-button.label = Potong
+# LOCALIZATION NOTE(cut-button.tooltiptext2): %S is the keyboard shortcut.
+cut-button.tooltiptext2 = Potong (%S)
+
+copy-button.label = Salin
+# LOCALIZATION NOTE(copy-button.tooltiptext2): %S is the keyboard shortcut.
+copy-button.tooltiptext2 = Salin (%S)
+
+paste-button.label = Tampal
+# LOCALIZATION NOTE(paste-button.tooltiptext2): %S is the keyboard shortcut.
+paste-button.tooltiptext2 = Tampal (%S)
+
+feed-button.label = Langgan
+feed-button.tooltiptext2 = Langgani laman ini
+
+containers-panelmenu.label = Buka Tab Penyimpan
+containers-panelmenu.tooltiptext = Buka Tab Penyimpan
+
+# LOCALIZATION NOTE (characterencoding-button2.label): The \u00ad text at the beginning
+# of the string is used to disable auto hyphenation on the button text when it is displayed
+# in the menu panel.
+characterencoding-button2.label = Pengekodan Teks
+characterencoding-button2.tooltiptext = Papar pilihan pengekodan teks
+
+email-link-button.label = E-mel Pautan
+email-link-button.tooltiptext3 = E-mel pautan ke halaman ini
+
+# LOCALIZATION NOTE(quit-button.tooltiptext.linux2): %1$S is the brand name (e.g. Firefox),
+# %2$S is the keyboard shortcut
+quit-button.tooltiptext.linux2 = Keluar %1$S (%2$S)
+# LOCALIZATION NOTE(quit-button.tooltiptext.mac): %1$S is the brand name (e.g. Firefox),
+# %2$S is the keyboard shortcut
+quit-button.tooltiptext.mac = Keluar %1$S (%2$S)
+
+panic-button.label = Lupakan
+panic-button.tooltiptext = Lupakan beberapa sejarah pelayaran
+
+# LOCALIZATION NOTE(devtools-webide-button.label, devtools-webide-button.tooltiptext):
+# widget is only visible after WebIDE has been started once (Tools > Web Developers > WebIDE)
+# %S is the keyboard shortcut
+devtools-webide-button2.label = WebIDE
+devtools-webide-button2.tooltiptext = Buka WebIDE (%S)
+
+e10s-button.label = Tetingkap Non-e10s Baru
+e10s-button.tooltiptext = Buka Tetingkap Non-e10s yang baru
+
+toolbarspring.label = Ruang Fleksibel
+toolbarseparator.label = Pemisah
+toolbarspacer.label = Ruang
diff --git a/browser/chrome/browser/downloads/downloads.dtd b/browser/chrome/browser/downloads/downloads.dtd
new file mode 100644
index 00000000000..d983712b438
--- /dev/null
+++ b/browser/chrome/browser/downloads/downloads.dtd
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/downloads/downloads.properties b/browser/chrome/browser/downloads/downloads.properties
new file mode 100644
index 00000000000..444a28e3ec3
--- /dev/null
+++ b/browser/chrome/browser/downloads/downloads.properties
@@ -0,0 +1,118 @@
+# 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 (stateStarting):
+# Indicates that the download is starting.
+stateStarting=Memulakanâ¦
+# LOCALIZATION NOTE (stateScanning):
+# Indicates that an external program is scanning the download for viruses.
+stateScanning=Mengimbas virusâ¦
+# LOCALIZATION NOTE (stateFailed):
+# Indicates that the download failed because of an error.
+stateFailed=Gagal
+# LOCALIZATION NOTE (statePaused):
+# Indicates that the download was paused by the user.
+statePaused=Dijeda
+# LOCALIZATION NOTE (stateCanceled):
+# Indicates that the download was canceled by the user.
+stateCanceled=Dibatalkan
+# LOCALIZATION NOTE (stateCompleted):
+# Indicates that the download was completed.
+stateCompleted=Selesai
+# LOCALIZATION NOTE (stateBlockedParentalControls):
+# Indicates that the download was blocked by the Parental Controls feature of
+# Windows. "Parental Controls" should be consistently named and capitalized
+# with the display of this feature in Windows. The following article can
+# provide a reference for the translation of "Parental Controls" in various
+# languages:
+# http://windows.microsoft.com/en-US/windows-vista/Set-up-Parental-Controls
+stateBlockedParentalControls=Disekat oleh Kawalan Ibu Bapa
+# LOCALIZATION NOTE (stateBlockedPolicy):
+# Indicates that the download was blocked on Windows because of the "Launching
+# applications and unsafe files" setting of the "security zone" associated with
+# the target site. "Security zone" should be consistently named and capitalized
+# with the display of this feature in Windows. The following article can
+# provide a reference for the translation of "security zone" in various
+# languages:
+# http://support.microsoft.com/kb/174360
+stateBlockedPolicy=Disekat oleh polisi zon sekuriti anda
+# LOCALIZATION NOTE (stateDirty):
+# Indicates that the download was blocked after scanning.
+stateDirty=Disekat: Mungkin mengandungi virus atau pengintip
+
+# LOCALIZATION NOTE (blockedMalware, blockedPotentiallyUnwanted,
+# blockedUncommon2):
+# These strings are shown in the panel for some types of blocked downloads, and
+# are immediately followed by the "Learn More" link, thus they must end with a
+# period. You may need to adjust "downloadDetails.width" in "downloads.dtd" if
+# this turns out to be longer than the other existing status strings.
+# Note: These strings don't exist in the UI yet. See bug 1053890.
+blockedMalware=Fail ini mengandungi virus atau perisian hasad.
+blockedPotentiallyUnwanted=Fail ini mungkin membahayakan komputer anda.
+blockedUncommon2=Fail ini tidak biasa dimuat turun.
+
+# LOCALIZATION NOTE (fileMovedOrMissing):
+# Displayed when a complete download which is not at the original folder.
+fileMovedOrMissing=Fail telah dialih atau hilang
+
+# LOCALIZATION NOTE (unblockHeaderUnblock, unblockHeaderOpen,
+# unblockTypeMalware, unblockTypePotentiallyUnwanted2,
+# unblockTypeUncommon2, unblockTip2, unblockButtonOpen,
+# unblockButtonUnblock, unblockButtonConfirmBlock):
+# These strings are displayed in the dialog shown when the user asks a blocked
+# download to be unblocked. The severity of the threat is expressed in
+# descending order by the unblockType strings, it is higher for files detected
+# as malware and lower for uncommon downloads.
+unblockHeaderUnblock=Adakah anda pasti mahu mengizinkan muat turun ini?
+unblockHeaderOpen=Adakah anda pasti mahu membuka fail ini?
+unblockTypeMalware=Fail ini mengandungi virus atau perisian hasad lain yang akan membahayakan komputer anda.
+unblockTypePotentiallyUnwanted2=Fail ini digambarkan sebagai muat turun fail yang bermanfaat, tetapi tanpa anda jangka, fail ini boleh mengubah atur cara dan tetapan anda.
+unblockTypeUncommon2=Fail ini tidak biasa dimuat turun dan mungkin tidak selamat untuk dibuka. Fail ini mungkin mengandungi virus atau boleh mengubah atur cara dan tetapan anda.
+unblockTip2=Anda boleh cari sumber muat turun ganti atau cuba lagi kemudian.
+unblockButtonOpen=Buka
+unblockButtonUnblock=Izinkan muat turun
+unblockButtonConfirmBlock=Buang fail
+
+# LOCALIZATION NOTE (sizeWithUnits):
+# %1$S is replaced with the size number, and %2$S with the measurement unit.
+sizeWithUnits=%1$S %2$S
+sizeUnknown=Saiz tidak diketahui
+
+# LOCALIZATION NOTE (statusSeparator, statusSeparatorBeforeNumber):
+# These strings define templates for the separation of different elements in the
+# status line of a download item. As a separator, by default we use the Unicode
+# character U+2014 'EM DASH' (long dash). Examples of status lines include
+# "Canceled - 222.net", "1.1 MB - website2.com", or "Paused - 1.1 MB". Note
+# that we use a wider space after the separator when it is followed by a number,
+# just to avoid visually confusing it with with a minus sign with some fonts.
+# If you use a different separator, this might not be necessary. However, there
+# is usually no need to change the separator or the order of the substitutions,
+# even for right-to-left languages, unless the defaults are not suitable.
+statusSeparator=%1$S \u2014 %2$S
+statusSeparatorBeforeNumber=%1$S â %2$S
+
+fileExecutableSecurityWarning=â%Sâ adalah fail boleh laku. Fail boleh laku mungkin mengandungi virus atau kod berbahaya lain yang boleh membahayakan komputer anda. Berhati-hati apabila membuka fail ini. Adakah anda pasti mahu melancarkan â%Sâ?
+fileExecutableSecurityWarningTitle=Buka Fail Boleh Laku?
+fileExecutableSecurityWarningDontAsk=Jangan tanya lagi
+
+# LOCALIZATION NOTE (otherDownloads3):
+# This is displayed in an item at the bottom of the Downloads Panel when
+# there are more downloads than can fit in the list in the panel. Use a
+# semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+otherDownloads3=%1$S fail dimuat turun
+
+# LOCALIZATION NOTE (showLabel, showMacLabel):
+# This is displayed when you hover a download item in the Library widget view.
+# showMacLabel is only shown on Mac OSX.
+showLabel=Buka Kandungan Folder
+showMacLabel=Buka Dalam Finder
+# LOCALIZATION NOTE (openFileLabel):
+# Displayed when hovering a complete download, indicates that it's possible to
+# open the file using an app available in the system.
+openFileLabel=Buka Fail
+# LOCALIZATION NOTE (retryLabel):
+# Displayed when hovering a download which is able to be retried by users,
+# indicates that it's possible to download this file again.
+retryLabel=Muat turun Sekali lagi
diff --git a/browser/chrome/browser/feeds/subscribe.properties b/browser/chrome/browser/feeds/subscribe.properties
new file mode 100644
index 00000000000..33ad4f812ae
--- /dev/null
+++ b/browser/chrome/browser/feeds/subscribe.properties
@@ -0,0 +1,57 @@
+# 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/.
+
+linkTitleTextFormat=Pergi ke %S
+addHandler=Tambah "%S" (%S) sebagai Suapan Bacaan?
+addHandlerAddButton=Tambah Pembaca Suapan
+addHandlerAddButtonAccesskey=A
+handlerRegistered="%S" sudah pun didaftarkan sebagai Suapan Bacaan
+liveBookmarks=Live Bookmarks
+subscribeNow=Langgan Sekarang
+chooseApplicationMenuItem=Pilih Aplikasiâ¦
+chooseApplicationDialogTitle=Pilih Aplikasi
+alwaysUse=Sentiasa gunakan %S untuk melanggan suapan
+mediaLabel=Fail media
+
+# LOCALIZATION NOTE: The next string is for the size of the enclosed media.
+# e.g. enclosureSizeText : "50.23 MB"
+# %1$S = size (in bytes or megabytes, ...)
+# %2$S = unit of measure (bytes, KB, MB, ...)
+enclosureSizeText=%1$S %2$S
+
+bytes=bait
+kilobyte=KB
+megabyte=MB
+gigabyte=GB
+
+# LOCALIZATION NOTE: The next three strings explains to the user what they're
+# doing.
+# e.g. alwaysUseForVideoPodcasts : "Always use Miro to subscribe to video podcasts."
+# %S = application to use (Miro, iTunes, ...)
+alwaysUseForFeeds=Sentiasa gunakan %S untuk melanggan suapan.
+alwaysUseForAudioPodcasts=Sentiasa gunakan %S untuk melanggan podcast.
+alwaysUseForVideoPodcasts=Sentiasa gunakan %S untuk melanggan podcast video.
+
+subscribeFeedUsing=Langgan suapan ini menggunakan
+subscribeAudioPodcastUsing=Langgan podcast ini menggunakan
+subscribeVideoPodcastUsing=Langgan podcast video ini menggunakan
+
+feedSubscriptionFeed1=Ini adalah "feed" yang kerap kali berubah kandungannya pada laman ini.
+feedSubscriptionAudioPodcast1=Ini adalah "podcast" yang kandungannya kerap berubah pada laman ini.
+feedSubscriptionVideoPodcast1=Ini adalah âvideo podcastâ yang kandungannya kerap berubah dalam laman ini.
+
+feedSubscriptionFeed2=Anda boleh langgan suapan ini untuk menerima kemaskini apabila kandungannya berubah.
+feedSubscriptionAudioPodcast2=Anda boleh langgan podcast ini untuk menerima kemaskini apabila kandungannya berubah.
+feedSubscriptionVideoPodcast2=Anda boleh langgan video podcast ini untuk menerima kemaskini apabila kandungannya berubah.
+
+# Protocol Handling
+# "Add %appName (%appDomain) as an application for %protocolType links?"
+addProtocolHandler=Tambah %S (%S) sebagai aplikasi untuk pautan %S?
+
+# LOCALIZATION NOTE (addProtocolHandlerMessage):
+# Message displayed when adding a protocol handler:
+# %1$S is the application's domain, %2$S is the type of protocol
+addProtocolHandlerMessage=Tambah â%1$Sâ sebagai aplikasi untuk pautan %2$S?
+addProtocolHandlerAddButton=Tambah Aplikasi
+addProtocolHandlerAddButtonAccesskey=A
diff --git a/browser/chrome/browser/lightweightThemes.properties b/browser/chrome/browser/lightweightThemes.properties
new file mode 100644
index 00000000000..dd6981bc6c6
--- /dev/null
+++ b/browser/chrome/browser/lightweightThemes.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/.
+
+lightweightThemes.recommended-1.name=A Web Browser Renaissance
+lightweightThemes.recommended-1.description=A Web Browser Renaissance adalah (C) Sean.Martell.Tersedia di bawah CC-BY-SA. Tiada jaminan.
+
+lightweightThemes.recommended-2.name=Space Fantasy
+lightweightThemes.recommended-2.description=Space Fantasy adalah (C) fx5800p. Tersedia di bawah CC-BY-SA. Tiada jaminan.
+
+lightweightThemes.recommended-4.name=Pastel Gradient
+lightweightThemes.recommended-4.description=Pastel Gradient adalah (C) darrinhenein. Tersedia di bawah CC-BY. Tiada jaminan.
diff --git a/browser/chrome/browser/migration/migration.dtd b/browser/chrome/browser/migration/migration.dtd
new file mode 100644
index 00000000000..dfdaec97c0d
--- /dev/null
+++ b/browser/chrome/browser/migration/migration.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/migration/migration.properties b/browser/chrome/browser/migration/migration.properties
new file mode 100644
index 00000000000..bc0e7f8d5ab
--- /dev/null
+++ b/browser/chrome/browser/migration/migration.properties
@@ -0,0 +1,89 @@
+# 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/.
+
+profileName_format=%S %S
+
+# Browser Specific
+sourceNameIE=Internet Explorer
+sourceNameEdge=Microsoft Edge
+sourceNameSafari=Safari
+sourceNameCanary=Google Chrome Canary
+sourceNameChrome=Google Chrome
+sourceNameChromeBeta=Google Chrome Beta
+sourceNameChromeDev=Google Chrome Dev
+sourceNameChromium=Chromium
+sourceNameFirefox=Mozilla Firefox
+sourceName360se=360 Pelayar Selamat
+
+importedBookmarksFolder=Dari %S
+
+importedSafariReadingList=Senarai Membaca (Dari Safari)
+importedEdgeReadingList=Senarai Membaca (Dari Safari)
+
+# Import Sources
+# Note: When adding an import source for profile reset, add the string name to
+# resetProfile.js if it should be listed in the reset dialog.
+1_ie=Pilihan Internet
+1_edge=Tetapan
+1_safari=Keutamaan
+1_chrome=Keutamaan
+1_360se=Keutamaan
+
+2_ie=Kuki
+2_edge=Kuki
+2_safari=Kuki
+2_chrome=Kuki
+2_firefox=Kuki
+2_360se=Kuki
+
+4_ie=Sejarah Pelayaran
+4_edge=Sejarah Pelayaran
+4_safari=Sejarah Pelayaran
+4_chrome=Sejarah Pelayaran
+4_firefox_history_and_bookmarks=Sejarah Pelayaran dan Tandabuku
+4_360se=Sejarah Pelayaran
+
+8_ie=Sejarah Borang Disimpan
+8_edge=Sejarah Borang Disimpan
+8_safari=Sejarah Borang Disimpan
+8_chrome=Sejarah Borang Disimpan
+8_firefox=Sejarah Borang Disimpan
+8_360se=Sejarah Borang Disimpan
+
+16_ie=Kata laluan Disimpan
+16_edge=Kata laluan Disimpan
+16_safari=Kata laluan Disimpan
+16_chrome=Kata laluan Disimpan
+16_firefox=Kata laluan Disimpan
+16_360se=Kata laluan Disimpan
+
+32_ie=Kegemaran
+32_edge=Kegemaran
+32_safari=Tandabuku
+32_chrome=Tandabuku
+32_360se=Tandabuku
+
+64_ie=Data Lain
+64_edge=Data Lain
+64_safari=Data Lain
+64_chrome=Data Lain
+64_firefox_other=Data Lain
+64_360se=Data Lain
+
+128_firefox=Tetingkap dan Tab
+
+# Automigration undo notification.
+# %1$S will be replaced with brandShortName, %2$S will be replaced with the name of the browser we imported from
+automigration.undo.message2.all = Terus ke %1$S! Import laman kegemaran, tandabuku, sejarah dan kata laluan anda dari %2$S.
+automigration.undo.message2.bookmarks = Terus ke %1$S! Import laman kegemaran dan tandabuku anda dari %2$S.
+automigration.undo.message2.bookmarks.logins = Terus ke %1$S! Import laman kegemaran, tandabuku dan kata laluan anda dari %2$S.
+automigration.undo.message2.bookmarks.visits = Terus ke %1$S! Import laman kegemaran, tandabuku dan sejarah anda dari %2$S.
+automigration.undo.message2.logins = Terus ke %1$S! Import kata laluan anda dari %2$S.
+automigration.undo.message2.logins.visits = Terus ke %1$S! Import laman kegemaran, sejatah dan kata laluan anda dari %2$S.
+automigration.undo.message2.visits = Terus ke %1$S! Import laman kegemaran dan sejarah anda dari %2$S.
+automigration.undo.keep2.label = OK, Faham
+automigration.undo.keep2.accesskey = O
+automigration.undo.dontkeep2.label = Tidak, Terima kasih
+automigration.undo.dontkeep2.accesskey = T
+automigration.undo.unknownbrowser = Pelayar Tidak Dikenali
diff --git a/browser/chrome/browser/pageInfo.dtd b/browser/chrome/browser/pageInfo.dtd
new file mode 100644
index 00000000000..ad344a03f9d
--- /dev/null
+++ b/browser/chrome/browser/pageInfo.dtd
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/pageInfo.properties b/browser/chrome/browser/pageInfo.properties
new file mode 100644
index 00000000000..4d80524e2c8
--- /dev/null
+++ b/browser/chrome/browser/pageInfo.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/.
+
+pageInfo.page.title=Info Halaman - %S
+pageInfo.frame.title=Info Bingkai- %S
+
+noPageTitle=Halaman Tak Bertajuk:
+unknown=Tidak diketahui
+notset=Tidak dinyatakan
+yes=Ya
+no=Tidak
+
+mediaImg=Imej
+mediaVideo=Video
+mediaAudio=Audio
+mediaBGImg=Latar Belakang
+mediaBorderImg=Sempadan
+mediaListImg=Peluru
+mediaCursor=Kursor
+mediaObject=Objek
+mediaEmbed=Benam
+mediaLink=Ikon
+mediaInput=Input
+mediaFileSize=%S KB
+mediaSize=%Spx \u00D7 %Spx
+mediaSelectFolder=Pilih Folder untuk Simpan Imej
+mediaBlockImage=Sekat imej dari %S
+mediaUnknownNotCached=Tidak diketahui (tiada cache)
+mediaImageType=Imej %S
+mediaAnimatedImageType=%S Imej (dianimasikan, %S bingkai)
+mediaDimensions=%Spx \u00D7 %Spx
+mediaDimensionsScaled=%Spx à %Spx (berskala %Spx à %Spx)
+
+generalQuirksMode=Mod kekhasan
+generalStrictMode=Mod pematuhan piawai
+generalSize=%S KB (%S bait)
+generalMetaTag=Meta (1 tag)
+generalMetaTags=Meta (%S tag)
+
+feedRss=RSS
+feedAtom=Atom
+feedXML=XML
+
+feedSubscribe=Langgan
+feedSubscribe.accesskey=n
+
+securityNoOwner=Laman web ini tidak menyediakan maklumat pemilik.
+securityOneVisit=Ya, sekali
+securityNVisits=Ya, %S kali
+
+# LOCALIZATION NOTE (securityVisitsNumber):
+# Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of visits and can be used in all plural forms as needed, e.g.
+# for '1': 'Yes, #1 time'
+securityVisitsNumber=Ya, #1 kali
+securityNoVisits=Tidak
+
+# LOCALIZATION NOTE: The next string is for the disk usage of the
+# database
+# e.g. indexedDBUsage : "50.23 MB"
+# %1$S = size (in bytes or megabytes, ...)
+# %2$S = unit of measure (bytes, KB, MB, ...)
+indexedDBUsage=Laman web ini menggunakan %1$S %2$S
+
+# LOCALIZATION NOTE(securitySiteDataCookies,securitySiteDataOnly): This is for site data disk usage.
+# It confirms that a website is indeed using this much space.
+# e.g. Is this website storing site data? "Yes, 50.23 MB"
+# %1$S = size (in bytes or megabytes, ...)
+# %2$S = unit of measure (bytes, KB, MB, ...)
+securitySiteDataCookies=Ya, kuki dan %1$S %2$S data laman
+securitySiteDataOnly=Ya, %1$S %2$S data laman
+# LOCALIZATION NOTE(securitySiteDataCookiesOnly,securitySiteDataNo):
+# This is for site data and cookies usage. It answers the question "Is this website storing cookies and/or site data?"
+securitySiteDataCookiesOnly=Ya, kuki
+securitySiteDataNo=Tidak
+
+permissions.useDefault=Guna Piawai
diff --git a/browser/chrome/browser/places/bookmarkProperties.properties b/browser/chrome/browser/places/bookmarkProperties.properties
new file mode 100644
index 00000000000..797151874a8
--- /dev/null
+++ b/browser/chrome/browser/places/bookmarkProperties.properties
@@ -0,0 +1,19 @@
+# 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/.
+
+dialogAcceptLabelAddItem=Tambah
+dialogAcceptLabelSaveItem=Simpan
+dialogAcceptLabelAddLivemark=Langgan
+dialogAcceptLabelAddMulti=Tambah Tandabuku
+dialogAcceptLabelEdit=Simpan
+dialogTitleAddBookmark=Tandabuku Baru
+dialogTitleAddLivemark=Langgan dengan Live Bookmark
+dialogTitleAddFolder=Folder Baru
+dialogTitleAddMulti=Tandabuku Baru
+dialogTitleEdit=Sifat untuk â%Sâ
+
+bookmarkAllTabsDefault=[Nama Folder]
+newFolderDefault=Folder Baru
+newBookmarkDefault=Tandabuku Baru
+newLivemarkDefault=Live Bookmark Baru
diff --git a/browser/chrome/browser/places/editBookmarkOverlay.dtd b/browser/chrome/browser/places/editBookmarkOverlay.dtd
new file mode 100644
index 00000000000..2505f78c89a
--- /dev/null
+++ b/browser/chrome/browser/places/editBookmarkOverlay.dtd
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/places/places.dtd b/browser/chrome/browser/places/places.dtd
new file mode 100644
index 00000000000..722e5d4579c
--- /dev/null
+++ b/browser/chrome/browser/places/places.dtd
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Z">
+
+ A">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/places/places.properties b/browser/chrome/browser/places/places.properties
new file mode 100644
index 00000000000..fe101377ecd
--- /dev/null
+++ b/browser/chrome/browser/places/places.properties
@@ -0,0 +1,118 @@
+# 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/.
+
+load-js-data-url-error=Untuk keselamatan, javascript atau data url tidak boleh dimuatkan daripada sejarah tetingkap atau bar sisi.
+noTitle=(tiada tajuk)
+
+bookmarksMenuEmptyFolder=(Kosong)
+
+bookmarksBackupTitle=Tandabuku nama fail sandaran
+
+bookmarksRestoreAlertTitle=Balikan Tandabuku
+bookmarksRestoreAlert=Ini akan menggantikan semua tandabuku semasa dengan sandaran. Anda pasti?
+bookmarksRestoreTitle=Pilih sandaran tandabuku
+bookmarksRestoreFilterName=JSON
+
+bookmarksRestoreFormatError=Jenis fail tidak disokong.
+bookmarksRestoreParseError=Tidak dapat memproses fail sandaran.
+
+bookmarksLivemarkLoading=Memuatkan Live Bookmarkâ¦
+bookmarksLivemarkFailed=Suapan Live Bookmark gagal dimuatkan.
+
+menuOpenLivemarkOrigin.label=Buka "%S"
+
+sortByName=Susun â%Sâ mengikut Nama
+sortByNameGeneric=Susun mengikut Nama
+# LOCALIZATION NOTE (view.sortBy.1.name.label): sortBy properties are versioned.
+# When any of these changes, all of the properties must be bumped, and the
+# change must be annotated here. Both label and accesskey must be updated.
+# - version 1: changed view.sortBy.1.date.
+view.sortBy.1.name.label=Susun mengikut Nama
+view.sortBy.1.name.accesskey=N
+view.sortBy.1.url.label=Susun mengikut Lokasi
+view.sortBy.1.url.accesskey=L
+view.sortBy.1.date.label=Susun mengikut Paling Terkini Dilawati
+view.sortBy.1.date.accesskey=D
+view.sortBy.1.visitCount.label=Susun mengikut Bilangan Lawatan
+view.sortBy.1.visitCount.accesskey=S
+view.sortBy.1.description.label=Susun mengikut Keterangan
+view.sortBy.1.description.accesskey=K
+view.sortBy.1.dateAdded.label=Susun mengikut Ditambah
+view.sortBy.1.dateAdded.accesskey=e
+view.sortBy.1.lastModified.label=Susun mengikut Terakhir Diubah
+view.sortBy.1.lastModified.accesskey=S
+view.sortBy.1.tags.label=Susun mengikut Tag
+view.sortBy.1.tags.accesskey=T
+
+searchBookmarks=Cari Tandabuku
+searchHistory=Sejarah Carian
+searchDownloads=Cari Muat turun
+
+tabs.openWarningTitle=Sahkan membuka
+tabs.openWarningMultipleBranded=Anda akan membuka tab %S. Ini mungkin memperlahankan %S semasa memuatkan halaman. Adakah anda pasti mahu meneruskan?
+tabs.openButtonMultiple=Buka tab
+tabs.openWarningPromptMeBranded=Ingatkan saya semasa membuka berbilang tab yang mungkin akan memperlahankan %S
+
+SelectImport=Import Fail Tandabuku
+EnterExport=Eksport Fail Tandabuku
+
+detailsPane.noItems=Tiada item
+# LOCALIZATION NOTE (detailsPane.itemsCountLabel): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of items
+# example: 111 items
+detailsPane.itemsCountLabel=#1 item
+
+mostVisitedTitle=Paling Dilawati
+recentTagsTitle=Tag Terkini
+
+OrganizerQueryHistory=Sejarah
+OrganizerQueryDownloads=Muat turun
+OrganizerQueryAllBookmarks=Semua Tandabuku
+OrganizerQueryTags=Tag
+
+# LOCALIZATION NOTE (tagResultLabel, bookmarkResultLabel, switchtabResultLabel,
+# keywordResultLabel, searchengineResultLabel)
+# Noun used to describe the location bar autocomplete result type
+# to users with screen readers
+# See createResultLabel() in urlbarBindings.xml
+tagResultLabel=Tag
+bookmarkResultLabel=Tandabuku
+switchtabResultLabel=Tab
+keywordResultLabel=Kata kunci
+searchengineResultLabel=Cari
+
+
+# LOCALIZATION NOTE (lockPrompt.text)
+# %S will be replaced with the application name.
+lockPrompt.title=Ralat permulaan Pelayar
+lockPrompt.text=Tandabuku dan sistem sejarah tidak akan berfungsi kerana salah satu fail %S sedang digunakan oleh aplikasi lain. Sesetengah sekuriti perisian boleh menyebabkan masalah ini.
+lockPromptInfoButton.label=Ketahui Selanjutnya
+lockPromptInfoButton.accessKey=L
+
+# LOCALIZATION NOTE (deletePagesLabel): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+cmd.deletePages.label=Buang Halaman
+cmd.deletePages.accesskey=B
+
+# LOCALIZATION NOTE (bookmarkPagesLabel): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+cmd.bookmarkPages.label=Tandabuku Halaman
+cmd.bookmarkPages.accesskey=T
+
+# LOCALIZATION NOTE (cmd.deleteSinglePage.accesskey,
+# cmd.deleteMultiplePages.accesskey): these accesskeys can use the same
+# character, since they're never displayed at the same time
+cmd.deleteSinglePage.label=Buang Halaman
+cmd.deleteSinglePage.accesskey=B
+cmd.deleteMultiplePages.label=Buang Halaman
+cmd.deleteMultiplePages.accesskey=B
+
+# LOCALIZATION NOTE (cmd.bookmarkSinglePage.accesskey,
+# cmd.bookmarkMultiplePages.accesskey): these accesskeys can use the same
+# character, since they're never displayed at the same time
+cmd.bookmarkSinglePage.label=Tandabuku Halaman
+cmd.bookmarkSinglePage.accesskey=T
+cmd.bookmarkMultiplePages.label=Tandabuku Halaman
+cmd.bookmarkMultiplePages.accesskey=T
diff --git a/browser/chrome/browser/pocket.properties b/browser/chrome/browser/pocket.properties
new file mode 100644
index 00000000000..67a935be854
--- /dev/null
+++ b/browser/chrome/browser/pocket.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/.
+
+addtags = Tambah Tag
+alreadyhaveacct = Sudah menjadi pengguna Poket?
+continueff = Teruskan dengan Firefox
+errorgeneric = Ada ralat semasa cuba menyimpan ke Pocket.
+learnmore = Ketahui Selanjutnya
+loginnow = Log masuk
+maxtaglength = Tag dihadkan hanya 25 aksara
+mustbeconnected = Anda mesti ada sambungan Internet untuk menyimpan ke Pocket. Sila periksa sambungan anda dan cuba lagi.
+onlylinkssaved = Hanya pautan boleh disimpan
+pagenotsaved = Halaman Tidak Disimpan
+pageremoved = Halaman Dialih keluar
+pagesaved = Disimpan ke Pocket
+processingremove = Sedang mengalih keluar Halamanâ¦
+processingtags = Sedang menambah tagâ¦
+removepage = Alih keluar Halaman
+save = Simpan
+saving = Sedang menyimpanâ¦
+signupemail = Daftar dengan e-mel
+signuptosave = Daftar masuk ke Pocket. Percuma.
+suggestedtags = Tag Disyorkan
+tagline = Simpan artikel dan video dari Firefox untuk dilihat dalam Pocket pada apa jua peranti pada bila-bila masa.
+taglinestory_one = Klik butang Pocket untuk menyimpan apa jua artikel, video atau halaman daripada Firefox.
+taglinestory_two = Papar dalam Pocket dalam mana-mana peranti, bila-bila masa saja.
+tagssaved = Tag Ditambah
+tos = Dengan meneruskan, anda setuju dengan Terma Perkhidmatan Pocket dan Polisi Privasi
+tryitnow = Cubanya Sekarang
+signinfirefox = Daftar masuk Firefox
+signupfirefox = Daftar dengan Firefox
+viewlist = Senarai Paparan
+
+# LOCALIZATION NOTE(pocket-button.label, pocket-button.tooltiptext, saveToPocketCmd.label, saveLinkToPocketCmd.label, pocketMenuitem.label):
+# "Pocket" is a brand name.
+pocket-button.label = Pocket
+pocket-button.tooltiptext = Simpan ke Pocket
+saveToPocketCmd.label = Simpan Halaman ke Pocket
+saveToPocketCmd.accesskey = k
+saveLinkToPocketCmd.label = Simpan Pautan ke Pocket
+saveLinkToPocketCmd.accesskey = o
+pocketMenuitem.label = Papar Senarai Pocket
diff --git a/browser/chrome/browser/preferences/preferences.properties b/browser/chrome/browser/preferences/preferences.properties
new file mode 100644
index 00000000000..081da8e022d
--- /dev/null
+++ b/browser/chrome/browser/preferences/preferences.properties
@@ -0,0 +1,171 @@
+# 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/.
+
+#### Security
+
+# LOCALIZATION NOTE: phishBefore uses %S to represent the name of the provider
+# whose privacy policy must be accepted (for enabling
+# check-every-page-as-I-load-it phishing protection).
+phishBeforeText=Memilih pilihan ini, alamat halaman yang anda papar akan dihantar ke %S. Untuk meneruskan, sila kaji semula dan terima terma servis berikut.
+
+#### Fonts
+
+labelDefaultFont=Piawai (%S)
+labelDefaultFontUnnamed=Piawai
+
+veryLargeMinimumFontTitle=Saiz fon minimum besar
+veryLargeMinimumFontWarning=Anda telah memilih saiz fon minimum yang sangat besar (lebih dari 24 piksel). Ini boleh menyukarkan atau mustahil untuk anda menggunakan konfigurasi beberapa halaman penting seperti ini.
+acceptVeryLargeMinimumFont=Kekalkan sahaja perubahan saya
+
+#### Permissions Manager
+
+trackingprotectionpermissionstext2=Anda telah dinyahdayakan Perlindungan Penjejakan di laman web ini.
+trackingprotectionpermissionstitle=Pengecualian - Perlindungan Penjejakan
+cookiepermissionstext1=Anda boleh tentukan laman web yang sentiasa atau tidak akan dizinkan menggunakan kuki dan data laman. Taip alamat sebenar laman yang anda mahu urus dan kemudian klik Sekat, Izin untuk Sesi, atau Izinkan.
+cookiepermissionstitle1=Pengecualian - Kuki dan Data Laman
+addonspermissionstext=Anda boleh tentukan laman web yang diizinkan memasang add-ons. Taip alamat laman yang tepat untuk anda izinkan dan kemudian klik Izinkan.
+addons_permissions_title2=Laman Web Diizinkan - Pemasangan Add-ons
+popuppermissionstext=Anda boleh tentukan laman web yang diizinkan membuka tetingkap popup. Taip alamat laman yang tepat untuk anda izinkan dan kemudian klik Izinkan.
+popuppermissionstitle2=Laman Web Diizinkan - Pop-ups
+notificationspermissionstext6=Laman web berikut telah meminta untuk menghantar notifikasi. Anda boleh tentukan laman web yang diizinkan untuk menghantar notifikasi. Anda juga boleh sekat permintaan baru yang meminta keizinan untuk menghantar notifikasi.
+notificationspermissionstitle2=Tetapan - Keizinan Notifikasi
+notificationspermissionsdisablelabel=Sekat permintaan baru yang meminta izin notifikasi
+notificationspermissionsdisabledescription=Ini akan menghalang mana-mana laman web yang tidak disenaraikan di atas daripada meminta izin untuk menghantar notifikasi. Menyekat notifikasi boleh memecahkan beberapa ciri laman web.
+locationpermissionstext2=Laman web berikut telah meminta akses lokasi anda. Anda boleh tentukan laman web yang diizinkan untuk mengakses lokasi. Anda juga boleh menyekat permintaan baru yang mahu mengakses lokasi.
+locationpermissionstitle=Tetapan - Keizinan Lokasi
+locationpermissionsdisablelabel=Sekat permintaan baru yang meminta akses lokasi
+locationpermissionsdisabledescription=Ini akan menghalang mana-mana laman web yang tidak disenaraikan di atas daripada meminta izin untuk mengakses lokasi. Menyekat notifikasi boleh memecahkan beberapa ciri laman web.
+camerapermissionstext2=Laman web berikut meminta izin untuk mengakses kamera anda. Anda boleh tentukan laman web yang diizinkan untuk mengakses kamera. Anda juga boleh sekat permintaan baru yang mahu mengakses kamera.
+camerapermissionstitle=Tetapan - Keizinan Kamera
+camerapermissionsdisablelabel=Sekat permintaan baru yang mahu mengakses kamera
+camerapermissionsdisabledescription=Ini akan menghalang mana-mana laman web yang tidak disenaraikan di atas daripada meminta izin untuk mengakses kamera. Menyekat akses kamera boleh memecahkan beberapa ciri laman web.
+microphonepermissionstext2=Laman web berikut meminta izin untuk mengakses mikrofon anda. Anda boleh tentukan laman web yang diizinkan untuk mengakses mikrofon. Anda juga boleh sekat permintaan baru yang mahu mengakses mikrofon.
+microphonepermissionstitle=Tetapan - Keizinan Mikrofon
+microphonepermissionsdisablelabel=Sekat permintaan baru yang mahu mengakses mikrofon
+microphonepermissionsdisabledescription=Ini akan menghalang mana-mana laman web yang tidak disenaraikan di atas daripada meminta izin untuk mengakses mikrofon. Menyekat akses mikrofon boleh memecahkan beberapa ciri laman web.
+invalidURI=Sila masukkan nama hos yang sah
+invalidURITitle=Nama Hos Tidak Sah
+savedLoginsExceptions_title=Pengecualian - Log masuk Tersimpan
+savedLoginsExceptions_desc3=Log masuk ke laman berikut tidak akan disimpan
+
+#### Block List Manager
+
+# LOCALIZATION NOTE (mozNameTemplate): This template constructs the name of the
+# block list in the block lists dialog. It combines the list name and
+# description.
+# e.g. mozNameTemplate : "Standard (Recommended). This list does a pretty good job."
+# %1$S = list name (fooName), %2$S = list descriptive text (fooDesc)
+mozNameTemplate=%1$S %2$S
+# LOCALIZATION NOTE (mozstdName, etc.): These labels appear in the tracking
+# protection block lists dialog, mozNameTemplate is used to create the final
+# string. Note that in the future these two strings (name, desc) could be
+# displayed on two different lines.
+mozstdName=Perlindungan asas Disconnect.me (Disyorkan).
+mozstdDesc=Izinkan sesetengah penjejak supaya laman web berfungsi dengan betul.
+mozfullName=Disconnect.me strict protection.
+mozfullDesc2=Sekat penjejak yang diketahui. Sesetengah laman web mungkin tidak akan berfungsi dengan sempurna.
+
+#### Master Password
+
+pw_change2empty_in_fips_mode=Anda kini berada dalam mod FIPS. FIPS memerlukan Kata laluan Induk bukan-kosong.
+pw_change_failed_title=Kata laluan Gagal Ditukar
+
+#### Fonts
+
+# LOCALIZATION NOTE: The string represents a localized locale name
+# followed by the BCP47 locale code.
+#
+# Example: "French (Canada) [fr-ca]"
+# %1$S = locale name, %2$S = locale code
+languageCodeFormat=%1$S [%2$S]
+
+#### Downloads
+
+desktopFolderName=Desktop
+downloadsFolderName=Muat turun
+chooseDownloadFolderTitle=Pilih Folder Muat turun:
+
+#### Applications
+
+fileEnding=Fail %S
+saveFile=Simpan Fail
+
+# LOCALIZATION NOTE (useApp, useDefault): %S = Application name
+useApp=Guna %S
+useDefault=Guna %S (piawai)
+
+useOtherApp=Guna yang lainâ¦
+fpTitleChooseApp=Pilih Aplikasi Helper
+manageApp=Butiran Aplikasiâ¦
+webFeed=Suapan Web
+videoPodcastFeed=Podcast Video
+audioPodcastFeed=Podcast
+alwaysAsk=Sentiasa tanya
+portableDocumentFormat=Portable Document Format (PDF)
+
+# LOCALIZATION NOTE (usePluginIn):
+# %1$S = plugin name (for example "QuickTime Plugin-in 7.2")
+# %2$S = brandShortName from brand.properties (for example "Minefield")
+usePluginIn=Guna %S (dalam %S)
+
+# LOCALIZATION NOTE (previewInApp, addLiveBookmarksInApp): %S = brandShortName
+previewInApp=Previu dalam %S
+addLiveBookmarksInApp=Tambah Tandabuku Live dalam %S
+
+# LOCALIZATION NOTE (typeDescriptionWithType):
+# %1$S = type description (for example "Portable Document Format")
+# %2$S = type (for example "application/pdf")
+typeDescriptionWithType=%S (%S)
+
+#### Permission labels
+
+can=Izinkan
+canAccessFirstParty=Izinkan pihak pertama sahaja
+canSession=Izinkan untuk Sesi
+cannot=Sekat
+prompt=Sentiasa Tanya
+
+#### Site Data Manager
+
+# LOCALIZATION NOTE (totalSiteDataSize2, siteUsage, siteUsagePersistent):
+# This is the total usage of site data, where we insert storage size and unit.
+# e.g., "The total usage is currently 200 MB"
+# %1$S = size
+# %2$S = unit (MB, KB, etc.)
+totalSiteDataSize2=Kuki, data laman dan cache yang disimpan kini menggunakan %1$S %2$S daripada ruang cakera.
+siteUsage=%1$S %2$S
+siteUsagePersistent=%1$S %2$S (Persistent)
+loadingSiteDataSize1=Mengira saiz data dan cache lamanâ¦
+
+acceptRemove=Buang
+# LOCALIZATION NOTE (siteDataSettings3.description): %S = brandShortName
+siteDataSettings3.description=Laman web berikut menyimpan kuki dan data laman dalam komputer anda. %S menyimpan data dari laman web secara kekal sehinggalah anda membuangnya, dan membuang data dari laman web dengan storan tidak kekal apabila ruang diperlukan.
+# LOCALIZATION NOTE (removeAllSiteData, removeAllSiteDataShown):
+# removeAllSiteData and removeAllSiteDataShown are both used on the same one button,
+# never displayed together and can share the same accesskey.
+# When only partial sites are shown as a result of keyword search,
+# removeAllShown is displayed as button label.
+# removeAll is displayed when no keyword search and all sites are shown.
+removeAllSiteData.label=Buang Semua
+removeAllSiteData.accesskey=u
+removeAllSiteDataShown.label=Buang Semua Paparan
+removeAllSiteDataShown.accesskey=u
+
+spaceAlert.learnMoreButton.label=Ketahui Selanjutnya
+spaceAlert.learnMoreButton.accesskey=K
+spaceAlert.over5GB.prefButton.label=Buka Keutamaan
+spaceAlert.over5GB.prefButton.accesskey=B
+# LOCALIZATION NOTE (spaceAlert.over5GB.prefButtonWin.label): On Windows Preferences is called Options
+spaceAlert.over5GB.prefButtonWin.label=Buka Pilihan
+spaceAlert.over5GB.prefButtonWin.accesskey=B
+# LOCALIZATION NOTE (spaceAlert.over5GB.message1): %S = brandShortName
+spaceAlert.over5GB.message1=%S sedang kehabisan ruang cakera. Kandungan laman web mungkin tidak dipaparkan dengan betul. Anda boleh mengosongkan data laman yang disimpan dalam Keutamaan > Privasi & Keselamatan > Kuki dan Data Laman.
+# LOCALIZATION NOTE (spaceAlert.over5GB.messageWin1):
+# - On Windows Preferences is called Options
+# - %S = brandShortName
+spaceAlert.over5GB.messageWin1=%S sedang kehabisan ruang cakera. Kandungan laman web mungkin tidak dipaparkan dengan betul. Anda boleh mengosongkan data laman yang disimpan dalam Pilihan > Privasi & Keselamatan > Kuki dan Data Laman.
+spaceAlert.under5GB.okButton.label=OK, Faham
+spaceAlert.under5GB.okButton.accesskey=K
+# LOCALIZATION NOTE (spaceAlert.under5GB.message): %S = brandShortName
+spaceAlert.under5GB.message=%S sedang kehabisan ruang cakera. Kandungan laman web mungkin tidak dipaparkan dengan betul. Lawati "Selanjutnya" untuk mengoptimumkan penggunaan cakera anda untuk pengalaman melayar yang lebih baik.
diff --git a/browser/chrome/browser/preferences/security.dtd b/browser/chrome/browser/preferences/security.dtd
new file mode 100644
index 00000000000..bb17b2e220b
--- /dev/null
+++ b/browser/chrome/browser/preferences/security.dtd
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/safebrowsing/phishing-afterload-warning-message.dtd b/browser/chrome/browser/safebrowsing/phishing-afterload-warning-message.dtd
new file mode 100644
index 00000000000..42155aed9e2
--- /dev/null
+++ b/browser/chrome/browser/safebrowsing/phishing-afterload-warning-message.dtd
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+.">
+
+
+
+
+
+
+
+ telah dilaporkan mengandungi perisian hasad. Anda boleh laporkan masalah yang dikesan ini atau abaikan risiko dan terus melayari laman yang tidak selamat ini.">
+
+ telah dilaporkan mengandungi perisian hasad. Anda boleh laporkan masalah yang dikesan ini.">
+
+StopBadware.org. Ketahui lebih lanjut perihal Perlindungan Phishing dan Perisian Hasad &brandShortName; di support.mozilla.org.">
+
+
+
+
+
+
+
+ telah dilaporkan mengandungi perisian berbahaya. Anda boleh abaikan risiko ini dan terus melayari laman yang tidak selamat ini.">
+
+ telah dilaporkan mengandungi perisian berbahaya.">
+
+Polisi Perisian Tidak Diingini. Ketahui lebih lanjut perihal Perlindungan Phishing dan Perisian Hasad &brandShortName; di support.mozilla.org.">
+
+
+
+
+
+
+ telah dilaporkan sebagai laman mengelirukan. Anda boleh laporkan masalah yang dikesan ini atau abaikan risiko ini dan terus melayari laman yang tidak selamat ini.">
+
+ telah dilaporkan sebagai laman mengelirukan. Anda boleh laporkan masalah yang dikesan ini.">
+
+www.antiphishing.org. Ketahui lebih lanjut perihal Perlindungan Phishing dan Perisian Hasad &brandShortName; di support.mozilla.org.">
+
+
+
+
+
+
+ telah dilaporkan mengandungi aplikasi yang berbahaya. Anda boleh abaikan risiko ini dan terus melayari laman yang tidak selamat ini.">
+
+ telah dilaporkan mengandungi aplikasi yang berbahaya.">
+
+support.mozilla.org.">
diff --git a/browser/chrome/browser/safebrowsing/report-phishing.dtd b/browser/chrome/browser/safebrowsing/report-phishing.dtd
new file mode 100644
index 00000000000..f62f1b50534
--- /dev/null
+++ b/browser/chrome/browser/safebrowsing/report-phishing.dtd
@@ -0,0 +1,13 @@
+
+
+
+
+
+
diff --git a/browser/chrome/browser/safebrowsing/safebrowsing.properties b/browser/chrome/browser/safebrowsing/safebrowsing.properties
new file mode 100644
index 00000000000..2e6bfcae831
--- /dev/null
+++ b/browser/chrome/browser/safebrowsing/safebrowsing.properties
@@ -0,0 +1,6 @@
+# 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/.
+
+errorReportFalseDeceptiveTitle=Ini bukan laman yang mengelirukan
+errorReportFalseDeceptiveMessage=Laporan ralat tidak dapat dibuat buat masa ini.
diff --git a/browser/chrome/browser/search.properties b/browser/chrome/browser/search.properties
new file mode 100644
index 00000000000..e301e877b32
--- /dev/null
+++ b/browser/chrome/browser/search.properties
@@ -0,0 +1,73 @@
+# 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/.
+
+searchtip=Cari menggunakan %S
+
+# LOCALIZATION NOTE (searchPlaceholder): this is shown in the searchbox when
+# the user hasn't typed anything yet.
+searchPlaceholder=Cari
+
+# LOCALIZATION NOTE (searchHeader): this is displayed at the top of the panel
+# showing search suggestions.
+# %S is replaced with the name of the current default search engine.
+searchHeader=Carian %S
+
+# LOCALIZATION NOTE (cmd_pasteAndSearch): "Search" is a verb, this is the
+# search bar equivalent to the url bar's "Paste & Go"
+cmd_pasteAndSearch=Tampal & Cari
+
+cmd_clearHistory=Buang Sejarah Carian
+cmd_clearHistory_accesskey=S
+
+cmd_showSuggestions=Papar Cadangan
+cmd_showSuggestions_accesskey=S
+
+# LOCALIZATION NOTE (cmd_addFoundEngine): %S is replaced by the name of
+# a search engine offered by a web page. Each engine is displayed as a
+# menuitem at the bottom of the search panel.
+cmd_addFoundEngine=Tambah "%S"
+# LOCALIZATION NOTE (cmd_addFoundEngineMenu): When more than 5 engines
+# are offered by a web page, instead of listing all of them in the
+# search panel using the cmd_addFoundEngine string, they will be
+# grouped in a submenu using cmd_addFoundEngineMenu as a label.
+cmd_addFoundEngineMenu=Tambah enjin carian
+
+# LOCALIZATION NOTE (searchForSomethingWith):
+# This string is used to build the header above the list of one-click
+# search providers: "Search for with:"
+# NB: please leave the and its class exactly as it is in English.
+searchForSomethingWith=Cari dengan:
+
+searchAddFoundEngine2=Tambah Enjin Carian
+searchAddedFoundEngine2=Enjin Carian Ditambah
+
+# LOCALIZATION NOTE (searchForSomethingWith2):
+# This string is used to build the header above the list of one-click
+# search providers: "Search for with:"
+searchForSomethingWith2=Cari %S dengan:
+
+# LOCALIZATION NOTE (searchWithHeader):
+# The wording of this string should be as close as possible to
+# searchForSomethingWith2. This string will be used when the user
+# has not typed anything.
+searchWithHeader=Cari dengan:
+
+# LOCALIZATION NOTE (searchSettings):
+# This is the label for the button that opens Search preferences.
+searchSettings=Ubah Tetapan Carian
+
+# LOCALIZATION NOTE (searchReset.intro):
+# %S is the name of the user's current search engine.
+searchReset.intro=Adakah anda mahu cari menggunakan %S?
+# LOCALIZATION NOTE (searchReset.message):
+# %1$S is brandShortName. %2$S is the name of the user's current search engine.
+searchReset.message=Enjin carian piawai anda telah berubah. Bolehkah %1$S menjadikan %2$S enjin carian piawai?
+# LOCALIZATION NOTE (searchReset.doNotResetButton):
+# This string is used as a button label in a notification popup.
+searchReset.doNotResetButton=Tidak, Terima kasih
+# LOCALIZATION NOTE (searchReset.resetButton):
+# %S is the name of the user's current search engine. This string is used as a
+# button label in a notification popup, where space is limited. If necessary,
+# translate simply as "Yes, Use %S" (e.g., "Yes, use Google")
+searchReset.resetButton=Ya, Gunakan %S untuk Cari
diff --git a/browser/chrome/browser/setDesktopBackground.dtd b/browser/chrome/browser/setDesktopBackground.dtd
new file mode 100644
index 00000000000..6e76beb46e6
--- /dev/null
+++ b/browser/chrome/browser/setDesktopBackground.dtd
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/shellservice.properties b/browser/chrome/browser/shellservice.properties
new file mode 100644
index 00000000000..6ee159a1a28
--- /dev/null
+++ b/browser/chrome/browser/shellservice.properties
@@ -0,0 +1,31 @@
+# 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/.
+
+optionsLabel=&Pilihan %S
+safeModeLabel=&Mod Selamat %S
+
+# LOCALIZATION NOTE (setDefaultBrowserMessage2, setDefaultBrowserConfirm.label):
+# %S will be replaced by brandShortName
+setDefaultBrowserMessage2 = Dapatkan yang terbaik dari %S dengan menetapkannya sebagai pelayar piawai
+setDefaultBrowserConfirm.label = Gunakan %S sebagai pelayar piawai
+setDefaultBrowserConfirm.accesskey = U
+setDefaultBrowserOptions.label = Pilihan
+setDefaultBrowserOptions.accesskey = P
+setDefaultBrowserNotNow.label = Bukan sekarang
+setDefaultBrowserNotNow.accesskey = N
+setDefaultBrowserNever.label = Jangan tanya saya lagi
+setDefaultBrowserNever.accesskey = s
+
+# LOCALIZATION NOTE (setDefaultBrowserTitle, setDefaultBrowserMessage, setDefaultBrowserDontAsk, setDefaultBrowserAlertConfirm.label, setDefaultBrowserAlertNotNow.label):
+# These strings are used as an alternative to the ones above, in a modal dialog.
+# %S will be replaced by brandShortName
+setDefaultBrowserTitle=Pelayar Piawai
+setDefaultBrowserMessage=%S bukan pelayar piawai anda. Adakah anda ingin menjadikan pelayar ini sebagai pelayar piawai?
+setDefaultBrowserDontAsk=Sentiasa menjalankan pemeriksaan ini apabila memulakan %S.
+setDefaultBrowserAlertConfirm.label=Gunakan %S sebagai pelayar piawai
+setDefaultBrowserAlertNotNow.label=Bukan sekarang
+
+desktopBackgroundLeafNameWin=Desktop Background.bmp
+DesktopBackgroundDownloading=Simpan Gambarâ¦
+DesktopBackgroundSet=Tetapkan Latar belakang Desktop
diff --git a/browser/chrome/browser/siteData.properties b/browser/chrome/browser/siteData.properties
new file mode 100644
index 00000000000..32c03c3a55a
--- /dev/null
+++ b/browser/chrome/browser/siteData.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/.
+
+clearSiteDataPromptTitle=Buang semua kuki dan data laman
+# LOCALIZATION NOTE (clearSiteDataPromptText): %S = brandShortName
+clearSiteDataPromptText=Memilih âBuang Sekarangâ akan membuang semua kuki dan data yang disimpan oleh %S. Tindakan ini mungkin akan mendaftar anda keluar daripada laman web dan mengalih keluar kandungan web luar talian.
+clearSiteDataNow=Buang Sekarang
diff --git a/browser/chrome/browser/sitePermissions.properties b/browser/chrome/browser/sitePermissions.properties
new file mode 100644
index 00000000000..e07d75f9f41
--- /dev/null
+++ b/browser/chrome/browser/sitePermissions.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/.
+
+# LOCALIZATION NOTE (state.current.allowed,
+# state.current.allowedForSession,
+# state.current.allowedTemporarily,
+# state.current.blockedTemporarily,
+# state.current.blocked,
+# state.current.hide):
+# This label is used to display active permission states in the site
+# identity popup (which does not have a lot of screen space).
+state.current.allowed = Diizinkan
+state.current.allowedForSession = Diizinkan untuk Sesi
+state.current.allowedTemporarily = Diizinkan Sementara
+state.current.blockedTemporarily = Disekat Sementara
+state.current.blocked = Disekat
+state.current.prompt = Sentiasa Tanya
+state.current.hide = Sorok Prom
+
+# LOCALIZATION NOTE (state.multichoice.alwaysAsk,
+# state.multichoice.allow,
+# state.multichoice.allowForSession,
+# state.multichoice.block):
+# Used to label permission state checkboxes in the page info dialog.
+state.multichoice.alwaysAsk = Sentiasa Tanya
+state.multichoice.allow = Izinkan
+state.multichoice.allowForSession = Izinkan untuk Sesi
+state.multichoice.block = Sekat
+
+permission.autoplay-media.label = Mainkan Media dengan Bunyi secara automatik
+permission.cookie.label = Tetapkan Kuki
+permission.desktop-notification2.label = Terima Notifikasi
+permission.desktop-notification3.label = Hantar Notifikasi
+permission.image.label = Muatkan Imej
+permission.camera.label = Gunakan Kamera
+permission.microphone.label = Gunakan Mikrofon
+permission.screen.label = Kongsi Skrin
+permission.install.label = Pasang Add-ons
+permission.popup.label = Buka Tetingkap Popup
+permission.geo.label = Akses Lokasi Anda
+permission.shortcuts.label = Abai Pintasan Papan Kekunci
+permission.focus-tab-by-prompt.label = Tukar ke Tab ini
+permission.persistent-storage.label = Simpan Data dalam Storan Kekal
+permission.canvas.label = Ekstrak Data Kanvas
+permission.flash-plugin.label = Laksanakan Adobe Flash
+permission.midi.label = Akses Peranti MIDI
+permission.midi-sysex.label = Akses Peranti MIDI dengan Sokongan SysEx
\ No newline at end of file
diff --git a/browser/chrome/browser/syncBrand.dtd b/browser/chrome/browser/syncBrand.dtd
new file mode 100644
index 00000000000..41045bb72aa
--- /dev/null
+++ b/browser/chrome/browser/syncBrand.dtd
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/browser/chrome/browser/syncSetup.properties b/browser/chrome/browser/syncSetup.properties
new file mode 100644
index 00000000000..c7cf79722f0
--- /dev/null
+++ b/browser/chrome/browser/syncSetup.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/.
+
+# Several other strings are used (via Weave.Status.login), but they come from
+# /services/sync
+
+# Firefox Accounts based setup.
+continue.label = Teruskan
+
+# LOCALIZATION NOTE (disconnect.label, disconnect.verify.title, disconnect.verify.bodyHeading, disconnect.verify.bodyText):
+# These strings are used in the confirmation dialog shown when the user hits the disconnect button
+# LOCALIZATION NOTE (disconnect.label): This is the label for the disconnect button
+disconnect.label = Memutuskan
+disconnect.verify.title = Memutuskan
+disconnect.verify.bodyHeading = Putuskan sambungan Sync?
+disconnect.verify.bodyText = Data pelayaran anda akan masih ada dalam komputer ini, tetapi tidak lagi disync dengan akaun anda.
+
+relinkVerify.title = Amaran Cantum
+relinkVerify.heading = Adakah anda pasti mahu daftar masuk Sync?
+# LOCALIZATION NOTE (relinkVerify.description): Email address of a user previously signed into sync.
+relinkVerify.description = Pengguna lain sebelum ini telah mendaftar masuk ke Sync pada komputer ini. Mendaftar masuk akan mencantumkan tandabuku, kata laluan dan tetapan lain pelayar ini dengan %S
diff --git a/browser/chrome/browser/tabbrowser.properties b/browser/chrome/browser/tabbrowser.properties
new file mode 100644
index 00000000000..a6596eea835
--- /dev/null
+++ b/browser/chrome/browser/tabbrowser.properties
@@ -0,0 +1,120 @@
+# 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/.
+
+tabs.emptyTabTitle=Tab Baru
+tabs.emptyPrivateTabTitle=Pelayaran Peribadi
+tabs.closeTab=Tutup Tab
+tabs.close=Tutup
+tabs.closeWarningTitle=Sahkan tutup
+# LOCALIZATION NOTE (tabs.closeWarningMultiple):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is not considered since this string is used only for
+# multiple tabs.
+tabs.closeWarningMultiple=Anda mahu menutup #1 tab. Adakah anda pasti mahu meneruskannya?
+tabs.closeButtonMultiple=Tutup tab
+tabs.closeWarningPromptMe=Beri saya amaran apabila saya cuba menutup beberapa tab sekali gus
+
+# LOCALIZATION NOTE (tabs.closeWarningMultipleWindows):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is not considered since this string is used only for
+# multiple windows. The %S replacement form will be replaced with the contents
+# of tabs.closeWarningMultipleWindowsTabSnippet, which will contain the number
+# of tabs in these windows.
+# Note that every one of these plural forms must contain one instance of '%S'.
+tabs.closeWarningMultipleWindows=Anda mahu menutup tetingkap #1 tetingkap %S. Adakah anda pasti mahu meneruskannya?
+
+# LOCALIZATION NOTE (tabs.closeWarningMultipleWindowsTabSnippet):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is not considered since this string is used only for
+# multiple windows which must contain multiple tabs (in total).
+# This string will be inserted in tabs.closeWarningMultipleWindows
+tabs.closeWarningMultipleWindowsTabSnippet=dengan #1 tab
+
+tabs.closeTab.tooltip=Tutup tab
+# LOCALIZATION NOTE (tabs.closeSelectedTab.tooltip):
+# %S is the keyboard shortcut for closing the current tab
+tabs.closeSelectedTab.tooltip=Tutup tab (%S)
+# LOCALIZATION NOTE (tabs.muteAudio.tooltip):
+# %S is the keyboard shortcut for "Mute tab"
+tabs.muteAudio.tooltip=Senyapkan tab (%S)
+# LOCALIZATION NOTE (tabs.unmuteAudio.tooltip):
+# %S is the keyboard shortcut for "Unmute tab"
+tabs.unmuteAudio.tooltip=Nyahsenyap tab (%S)
+tabs.muteAudio.background.tooltip=Senyapkan tab
+tabs.unmuteAudio.background.tooltip=Nyahsenyap tab
+
+tabs.unblockAudio.tooltip=Main tab
+
+# LOCALIZATION NOTE (tabs.closeTabs.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will be closed. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.closeTabs.tooltip=Tutup #1 tab
+
+# LOCALIZATION NOTE (tabs.closeSelectedTabs.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %S is the keyboard shortcut for closing the current tab.
+# #1 is the number of tabs that will be closed. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.closeSelectedTabs.tooltip=Tutup #1 tab (%S)
+
+# LOCALIZATION NOTE (tabs.muteAudio2.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %S is the keyboard shortcut for "Mute tab".
+# #1 is the number of tabs that will be muted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.muteAudio2.tooltip=Senyap #1 tab (%S)
+
+# LOCALIZATION NOTE (tabs.unmuteAudio2.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %S is the keyboard shortcut for "Unmute tab".
+# #1 is the number of tabs that will be unmuted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.unmuteAudio2.tooltip=Nyahsenyap #1 tab (%S)
+
+# LOCALIZATION NOTE (tabs.muteAudio2.background.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will be muted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.muteAudio2.background.tooltip=Senyap #1 tab
+
+# LOCALIZATION NOTE (tabs.unmuteAudio2.background.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will be unmuted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.unmuteAudio2.background.tooltip=Nyahsenyap #1 tab
+
+# LOCALIZATION NOTE (tabs.unblockAudio2.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will have their audio unblocked. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.unblockAudio2.tooltip=Main #1 tab
+
+# LOCALIZATION NOTE (tabs.allowTabFocusByPromptForSite):
+# %S is the hostname of the site where dialogs are allowed to switch tabs
+tabs.allowTabFocusByPromptForSite=Izinkan dialog dari %S untuk membawa anda ke tab berkenaan
+
+# LOCALIZATION NOTE (tabs.containers.tooltip):
+# Displayed as a tooltip on container tabs
+# %1$S is the title of the current tab
+# %2$S is the name of the current container
+tabs.containers.tooltip=%1$S - %2$S
+
+# LOCALIZATION NOTE (tabs.openWarningTitle, tabs.openWarningMultipleBranded, tabs.openButtonMultiple, tabs.openWarningPromptMeBranded):
+# These items are moved from chrome/browser/places/places.properties
+# Now they are not specific to bookmark.
+tabs.openWarningTitle=Sahkan membuka
+tabs.openWarningMultipleBranded=Anda akan membuka tab %S. Ini mungkin memperlahankan %S semasa memuatkan halaman. Adakah anda pasti mahu meneruskan?
+tabs.openButtonMultiple=Buka tab
+tabs.openWarningPromptMeBranded=Ingatkan saya semasa membuka berbilang tab yang mungkin akan memperlahankan %S
diff --git a/browser/chrome/browser/taskbar.properties b/browser/chrome/browser/taskbar.properties
new file mode 100644
index 00000000000..0e66048552a
--- /dev/null
+++ b/browser/chrome/browser/taskbar.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/.
+
+taskbar.tasks.newTab.label=Buka tab baru
+taskbar.tasks.newTab.description=Buka tab pelayar baru.
+taskbar.tasks.newWindow.label=Buka tetingkap baru
+taskbar.tasks.newWindow.description=Buka tetingkap pelayar baru.
+taskbar.tasks.newPrivateWindow.label=Tetingkap peribadi baru
+taskbar.tasks.newPrivateWindow.description=Buka tetingkap baru dalam mod pelayaran peribadi.
+taskbar.frequent.label=Kerap
+taskbar.recent.label=Terbaru
diff --git a/browser/chrome/browser/translation.dtd b/browser/chrome/browser/translation.dtd
new file mode 100644
index 00000000000..1d1bae6fb2a
--- /dev/null
+++ b/browser/chrome/browser/translation.dtd
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/translation.properties b/browser/chrome/browser/translation.properties
new file mode 100644
index 00000000000..6232ed99c59
--- /dev/null
+++ b/browser/chrome/browser/translation.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 (translation.options.neverForLanguage.label):
+# %S is a language name coming from the global/languageNames.properties file.
+translation.options.neverForLanguage.label=Jangan sesekali terjemah %S
+
+# LOCALIZATION NOTE (translation.options.neverForLanguage.accesskey):
+# The accesskey value used here should not clash with the values used for
+# translation.options.*.accesskey in translation.dtd
+translation.options.neverForLanguage.accesskey=N
diff --git a/browser/chrome/browser/uiDensity.properties b/browser/chrome/browser/uiDensity.properties
new file mode 100644
index 00000000000..d09076fb9c7
--- /dev/null
+++ b/browser/chrome/browser/uiDensity.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/.
+
+uiDensity.menuitem-touch.acceltext=Mod Tablet Didayakan
diff --git a/browser/chrome/browser/webrtcIndicator.properties b/browser/chrome/browser/webrtcIndicator.properties
new file mode 100644
index 00000000000..ee71038b8f2
--- /dev/null
+++ b/browser/chrome/browser/webrtcIndicator.properties
@@ -0,0 +1,61 @@
+# 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 webrtc global indicator strings
+
+# LOCALIZATION NOTE (webrtcIndicator.windowtitle): %S is the brand name (e.g. Firefox).
+# This string is used so that the window has a title in tools that enumerate/look for window
+# titles. It is not normally visible anywhere.
+webrtcIndicator.windowtitle = %S - Indikator Perkongsian
+
+webrtcIndicator.sharingCameraAndMicrophone.tooltip = Kamera dan mikrofon anda sedang dikongsi. Klik untuk kawalan perkongsian.\u0020
+webrtcIndicator.sharingCamera.tooltip = Kamera anda sedang dikongsi. Klik untuk kawalan perkongsian.\u0020
+webrtcIndicator.sharingMicrophone.tooltip = Mikrofon anda sedang dikongsi. Klik untuk kawalan perkongsian.\u0020
+webrtcIndicator.sharingApplication.tooltip = Aplikasi sedang dikongsi. Klik untuk kawalan perkongsian.
+webrtcIndicator.sharingScreen.tooltip = Skrin anda sedang dikongsi. Klik untuk kawalan perkongsian.\u0020
+webrtcIndicator.sharingWindow.tooltip = Tetingkap anda sedang dikongsi. Klik untuk kawalan perkongsian.\u0020
+webrtcIndicator.sharingBrowser.tooltip = Tab sedang dikongsi. Klik untuk kawalan perkongsian.\u0020
+
+
+# LOCALIZATION NOTE : The following strings are only used on Mac for
+# menus attached to icons near the clock on the mac menubar.
+
+# LOCALIZATION NOTE (webrtcIndicator.sharing*With.menuitem):
+# %S is the title of the tab using the share.
+webrtcIndicator.sharingCameraWith.menuitem = Berkongsi Kamera dengan "%S"
+webrtcIndicator.sharingMicrophoneWith.menuitem = Berkongsi Mikrofon dengan "%S"
+webrtcIndicator.sharingApplicationWith.menuitem = Berkongsi Aplikasi dengan â%Sâ
+webrtcIndicator.sharingScreenWith.menuitem = Berkongsi Skrin dengan "%S"
+webrtcIndicator.sharingWindowWith.menuitem = Berkongsi Tetingkap dengan "%S"
+webrtcIndicator.sharingBrowserWith.menuitem = Berkongsi Kamera dengan "%S"
+webrtcIndicator.controlSharing.menuitem = Kawalan Perkongsian
+# LOCALIZATION NOTE (webrtcIndicator.sharingCameraWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingCameraWithNTabs.menuitem = Berkongsi Kamera dengan tab #1
+# LOCALIZATION NOTE (webrtcIndicator.sharingMicrophoneWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingMicrophoneWithNTabs.menuitem = Berkongsi Microfon dengan tab #1
+# LOCALIZATION NOTE (webrtcIndicator.sharingApplicationWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingApplicationWithNTabs.menuitem = Berkongsi aplikasi dengan tab #1
+# LOCALIZATION NOTE (webrtcIndicator.sharingScreenWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingScreenWithNTabs.menuitem = Berkongsi Skrin dengan tab #1
+# LOCALIZATION NOTE (webrtcIndicator.sharingWindowWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingWindowWithNTabs.menuitem = Berkongsi Tetingkap dengan tab #1
+# LOCALIZATION NOTE (webrtcIndicator.sharingBrowserWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This message is shown when the contents of a tab is shared during a WebRTC
+# session, which currently is only possible with Loop/Hello.
+webrtcIndicator.sharingBrowserWithNTabs.menuitem = Berkongsi Tab dengan #1
+# LOCALIZATION NOTE (webrtcIndicator.controlSharingOn.menuitem):
+# %S is the title of the tab using the share.
+webrtcIndicator.controlSharingOn.menuitem = Kawalan Perkongsian dengan "%S"
diff --git a/browser/chrome/overrides/appstrings.properties b/browser/chrome/overrides/appstrings.properties
new file mode 100644
index 00000000000..29fee75f151
--- /dev/null
+++ b/browser/chrome/overrides/appstrings.properties
@@ -0,0 +1,44 @@
+# 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=Firefox tidak menemui fail di %S.
+fileAccessDenied=Fail %S tidak boleh dibaca.
+dnsNotFound2=Kami tidak dapat membuat sambungan ke pelayan di %S.
+unknownProtocolFound=Firefox tidak tahu cara membuka alamat ini, kerana satu daripada protokol berikut (%S) tidak dikaitkan dengan apa jua atur cara atau tidak dibenarkan dalam konteks ini.
+connectionFailure=Firefox tidak dapat menyediakan sambungan dengan 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 bagaimana menghubungi 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 untuk menggunakan pelayan proksi yang tidak boleh 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.
+externalProtocolTitle=Permohonan Protokol Luaran
+externalProtocolPrompt=Aplikasi luar perlu dilancarkan untuk mengendalikan pautan %1$S:.\n\n\nPautan yang diminta:\n\n%2$S\n\nAplikasi: %3$S\n\n\n Jika anda tidak menjangkakan permintaan ini, mungkin kerana aplikasi ini cuba mengeksploitasi kelemahan dalam atur cara tersebut. Batalkan permintaan ini kecuali anda pasti aplikasi ini tidak bahaya.\n
+#LOCALIZATION NOTE (externalProtocolUnknown): The following string is shown if the application name can't be determined
+externalProtocolUnknown=
+externalProtocolChkMsg=Ingati pilihan saya untuk semua pautan jenis ini.
+externalProtocolLaunchBtn=Lancarkan aplikasi
+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.
+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.
+remoteXUL=Halaman ini menggunakan teknologi yang tidak disokong dan kini tidak lagi disediakan secara piawai dalam Firefox.
+## LOCALIZATION NOTE (sslv3Used) - Do not translate "%S".
+sslv3Used=Firefox tidak dapat menjamin keselamatan data anda dalam %S kerana menggunakan SSLv3, protokol keselamatan yang rosak.
+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.
diff --git a/browser/chrome/overrides/netError.dtd b/browser/chrome/overrides/netError.dtd
new file mode 100644
index 00000000000..bb412f1449e
--- /dev/null
+++ b/browser/chrome/overrides/netError.dtd
@@ -0,0 +1,245 @@
+
+
+
+%brandDTD;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Jika alamat ini betul, ada tiga cara yang anda boleh cuba:
+
+
Cuba lagi nanti.
+
Semak sambungan rangkaian.
+
Jika anda sudah disambungkan tetapi ada firewall, semak samada &brandShortName; telah diberi izin untuk mengakses Web ini.
+
+">
+
+
+
+
Semak ralat huruf besar nama fail atau ralat menaip lain.
+
Semak samada fail telah dipindahkan, dinamakan semula atau dibuang.
+
+">
+
+
+
+
Mungkin telah dibuang, dipindahkan, atau keizinan fail yang menghalang akses.
+
+">
+
+
+&brandShortName; tidak dapat memuat halaman ini atas beberapa alasan.
+">
+
+
+Anda perlu log masuk ke rangkaian ini sebelum anda boleh mengakses Internet.">
+
+
+
+
+
+
+
+
+
+
+
+Dokumen yang diminta tidak ada dalam cache &brandShortName;.
Sebagai langkah keselamatan, &brandShortName; tidak akan meminta semula dokumen yang sensitif secara automatik.
Klik Cuba Lagi untuk meminta semula dokumen daripada laman web.
">
+
+
+
+
Tekan "Cuba Lagi" untuk bertukar ke mod atas talian dan memuatkan halaman.
+
+">
+
+
+
+
Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+
+">
+
+
+
+
Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+
+">
+
+
+
+
+
+
+
+
+
+
Anda mungkin perlu pasang perisian lain untuk membuka alamat ini.
+
+">
+
+
+
+
Semak tetapan proksi untuk memastikan tetapan itu betul.
+
Hubungi pentadbir rangkaian untuk memastikan bahawa pelayan proksi
+ berfungsi.
+
+">
+
+
+
+
Semak tetapan proksi untuk memastikan tetapan adalah betul.
+
Pastikan komputer anda ada sambungan rangkaian yang berfungsi.
+
Jika komputer atau rangkaian dilindungi firewall atau proksi, pastikan
+ bahawa &brandShortName; diberi izin mengakses Web.
+
+">
+
+
+
+
Masalah ini kadangkala disebabkan oleh menyahaktifkan atau tidak mahu menerima
+ kuki.
+
+">
+
+
+
+
Semak untuk memastikan sistem sudah ada Pengurus Keselamatan Peribadi
+ yang dipasang.
+
Ini mungkin kerana konfigurasi bukan-piawai dalam pelayar.
+
+">
+
+
+
+
Halaman yang anda mahu lihat tidak dapat dipaparkan kerana autentisiti data yang diterima tidak dapat disahkan.
+
Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+
+">
+
+
+
+
+
+ telah mengkonfigurasi laman web mereka dengan tidak betul.  Untuk meliindungi maklumat anda daripada dicuri, &brandShortName; tidak membuat sambungan dengan laman web ini.">
+. Jika anda lawat laman web ini, penyerang boleh cuba untuk mencuri maklumat seperti kata laluan, e-mel atau butiran kad kredit anda.">
+
+
+
+ kerana laman web ini memerlukan sambungan yang selamat.">
+
+. Laman web sama ada salah konfigurasi atau jam komputer ditetapkan mengikut masa yang salah.">
+
+
+
+
+
+Isu ini mungkin berkaitan laman web dan tiada apa yang boleh anda lakukan untuk menyelesaikannya.
+
Jika anda berada dalam rangkaian korporat atau menggunakan perisian antivirus, anda boleh minta bantuan pasukan sokongan. Anda juga boleh maklumkan masalah ini kepada pentadbir laman web.
+">
+
+Jam komputer ditetapkan ke . Pastikan komputer ditetapkan ke tarikh, masa dan zon masa yang betul dalam tetapan sistem, dan mulakan semula .
+
Jika jam sudah ditetapkan ke masa yang betul, mungkin laman web tersalah konfigurasi dan anda tidak boleh buat apa-apa untuk menyelesaikan isu ini. Anda boleh maklumkan pentadbir laman web mengenai masalah ini.
+">
+
+Isu ini mungkin berkaitan laman web dan tiada apa yang boleh anda lakukan untuk menyelesaikannya. Anda boleh maklumkan masalah ini kepada pentadbir laman web.
+">
+
+
+
Laman ini tidak ada buat sementara waktu atau terlalu sibuk. Cuba lagi dalam beberapa
+ ketika.
+
Jika anda tidak dapat memuatkan sebarang halaman, semak sambungan rangkaian
+ komputer.
+
Jika komputer atau rangkaian anda dilindungi firewall atau proksi, sila pastikan
+ bahawa &brandShortName; diberi izin mengakses Web.
+
+">
+
+
+&brandShortName; menghalang halaman ini daripada dimuatkan kerana ada kandungan yang tidak dibenarkan oleh polisi keselamatan.">
+
+
+Halaman yang anda cuba lihat tidak dapat dipaparkan kerana ada ralat dalam transmisi data.
Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
">
+
+
+
+
+
+
+
+
+
+
Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
">
+
+
+
+
+
+
+ &brandShortName; tidak bersambung ke kerana jam komputer anda menunjukkan masa yang salah dan ini menghalang sambungan yang selamat.
Komputer anda ditetapkan ke , sepatutnya . Untuk mengatasi masalah ini, tukar tetapan tarikh dan masa anda supaya sepadan dengan masa yang betul.
">
+&brandShortName; tidak bersambung ke kerana jam komputer anda menunjukkan masa yang salah dan ini menghalang sambungan yang selamat.
Komputer anda ditetapkan ke . Untuk membaiki masalah ini, tukar tetapan tarikh dan masa supaya sepadan dengan masa yang betul.
">
+
+
+
+
+
+ ada polisi keselamatan yang dipanggil HTTP Keselamatan Pengangkutan Ketat (HSTS), iaitu &brandShortName; boleh menyambung secara selamat sahaja. Anda tidak boleh menambah pengecualian untuk melawat laman ini.">
+
+
+
+
+ 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.
Kod ralat: NS_ERROR_NET_INADEQUATE_SECURITY
">
+
+
+
+
+, yang menghalang &brandShortName; membuat sambungan dengan selamat. Untuk melawat , kemas kini jam komputer dalam tetapan sistem ke tarikh, masa dan zon masa semasa dan mulakan semula .">
+
+
+
+
+
+Halaman yang anda cuba papar tidak dapat ditunjukkan kerana ada ralat dalam protokol rangkaian.
Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
">
diff --git a/browser/chrome/overrides/settingsChange.dtd b/browser/chrome/overrides/settingsChange.dtd
new file mode 100644
index 00000000000..3acfb5c1125
--- /dev/null
+++ b/browser/chrome/overrides/settingsChange.dtd
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/browser/crashreporter/crashreporter-override.ini b/browser/crashreporter/crashreporter-override.ini
new file mode 100644
index 00000000000..78a740f368e
--- /dev/null
+++ b/browser/crashreporter/crashreporter-override.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The %s is replaced with a string containing detailed information.
+CrashReporterProductErrorText2=Firefox ada masalah dan ranap. Kami akan cuba memulihkan semula tab dan tetingkap anda apabila dimulakan semula.\n\nMalangnya pelapor ranap tidak dapat menghantar laporan ranap.\n\nButiran: %s
+CrashReporterDescriptionText2=Firefox ada masalah dan ranap. Kami akan cuba memulihkan semula tab dan tetingkap anda apabila dimulakan semula.\n\nUntuk membantu kami mendiagnos dan membaiki masalah ini, anda boleh hantarkan laporan ranap kepada kami.
diff --git a/browser/defines.inc b/browser/defines.inc
new file mode 100644
index 00000000000..388a5bc0f8d
--- /dev/null
+++ b/browser/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 Mahrazi Mohd KamalSyafiq MazliHaryati SalehinFahmi FisalMuhammad Hafiz HidzirSyakir SudarAdnan ShukorTimothyAmirol AhmadAmin AbdullahM Ilham RamadhanAhmad Noor Kader MustajirMuazam HadiMohd FadzilAmin AbdullahPaie
+
+#unfilter emptyLines
diff --git a/browser/extensions/formautofill/formautofill.properties b/browser/extensions/formautofill/formautofill.properties
new file mode 100644
index 00000000000..fee430781cd
--- /dev/null
+++ b/browser/extensions/formautofill/formautofill.properties
@@ -0,0 +1,212 @@
+# 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 (saveAddressesMessage): %S is brandShortName. This string is used on the doorhanger to
+# notify users that addresses are saved.
+saveAddressesMessage = %S kini menyimpan alamat supaya anda boleh isi borang dengan lebih pantas.
+# LOCALIZATION NOTE (autofillOptionsLink, autofillOptionsLinkOSX): These strings are used in the doorhanger for
+# updating addresses. The link leads users to Form Autofill browser preferences.
+autofillOptionsLink = Pilihan Auto-isi Borang
+autofillOptionsLinkOSX = Keutamaan Auto-isi Borang
+# LOCALIZATION NOTE (autofillSecurityOptionsLink, autofillSecurityOptionsLinkOSX): These strings are used
+# in the doorhanger for saving credit card info. The link leads users to Form Autofill browser preferences.
+autofillSecurityOptionsLink = Pilihan Auto-isi Borang & Keselamatan
+autofillSecurityOptionsLinkOSX = Keutamaan Auto-isi Borang & Keselamatan
+# LOCALIZATION NOTE (changeAutofillOptions, changeAutofillOptionsOSX): These strings are used on the doorhanger
+# that notifies users that addresses are saved. The button leads users to Form Autofill browser preferences.
+changeAutofillOptions = Tukar Pilihan Auto-isi Borang
+changeAutofillOptionsOSX = Tukar Keutamaan Auto-isi Borang
+changeAutofillOptionsAccessKey = C
+# LOCALIZATION NOTE (addressesSyncCheckbox): If Sync is enabled, this checkbox is displayed on the doorhanger
+# shown when saving addresses.
+addressesSyncCheckbox = Kongsi alamat dengan peranti diselaraskan
+# LOCALIZATION NOTE (creditCardsSyncCheckbox): If Sync is enabled and credit card sync is available,
+# this checkbox is displayed on the doorhanger shown when saving credit card.
+creditCardsSyncCheckbox = Kongsi kad kredit dengan peranti yang diselaraskan
+# LOCALIZATION NOTE (updateAddressMessage, updateAddressDescriptionLabel, createAddressLabel, updateAddressLabel):
+# Used on the doorhanger when an address change is detected.
+updateAddressMessage = Adakah anda mahu mengemaskini alamat dengan maklumat baru ini?
+updateAddressDescriptionLabel = Alamat untuk dikemaskini:
+createAddressLabel = Cipta Alamat Baru
+createAddressAccessKey = C
+updateAddressLabel = Kemaskini Alamat
+updateAddressAccessKey = U
+# LOCALIZATION NOTE (saveCreditCardMessage, saveCreditCardDescriptionLabel, saveCreditCardLabel, cancelCreditCardLabel, neverSaveCreditCardLabel):
+# Used on the doorhanger when users submit payment with credit card.
+# LOCALIZATION NOTE (saveCreditCardMessage): %S is brandShortName.
+saveCreditCardMessage = Adakah anda mahu %S menyimpan kad kredit ini? (Kod keselamatan tidak akan disimpan)
+saveCreditCardDescriptionLabel = Kad kredit untuk disimpan:
+saveCreditCardLabel = Simpan Kad Kredit
+saveCreditCardAccessKey = S
+cancelCreditCardLabel = Jangan Simpan
+cancelCreditCardAccessKey = D
+neverSaveCreditCardLabel = Jangan sesekali Simpan Kad Kredit
+neverSaveCreditCardAccessKey = N
+# LOCALIZATION NOTE (updateCreditCardMessage, updateCreditCardDescriptionLabel, createCreditCardLabel, updateCreditCardLabel):
+# Used on the doorhanger when an credit card change is detected.
+updateCreditCardMessage = Adakah anda mahu mengemaskini kad kredit anda dengan maklumat baru ini?
+updateCreditCardDescriptionLabel = Kad kredit untuk dikemaskini:
+createCreditCardLabel = Tambah Kad Kredit Baru
+createCreditCardAccessKey = C
+updateCreditCardLabel = Kemaskini Kad Kredit
+updateCreditCardAccessKey = U
+# LOCALIZATION NOTE (openAutofillMessagePanel): Tooltip label for Form Autofill doorhanger icon on address bar.
+openAutofillMessagePanel = Buka panel mesej Auto-isi Borang
+
+# LOCALIZATION NOTE ( (autocompleteFooterOptionShort, autocompleteFooterOptionOSXShort): Used as a label for the button,
+# displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteFooterOptionShort = Pilihan Lain
+autocompleteFooterOptionOSXShort = Keutamaan
+# LOCALIZATION NOTE (category.address, category.name, category.organization2, category.tel, category.email):
+# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill.
+category.address = alamat
+category.name = nama
+category.organization2 = organisasi
+category.tel = telefon
+category.email = e-mel
+# LOCALIZATION NOTE (fieldNameSeparator): This is used as a separator between categories.
+fieldNameSeparator = ,\u0020
+# LOCALIZATION NOTE (phishingWarningMessage, phishingWarningMessage2): The warning
+# text that is displayed for informing users what categories are about to be filled.
+# "%S" will be replaced with a list generated from the pre-defined categories.
+# The text would be e.g. Also autofills organization, phone, email.
+phishingWarningMessage = Auto-isi juga %S
+phishingWarningMessage2 = Auto-isi %S
+# LOCALIZATION NOTE (insecureFieldWarningDescription): %S is brandShortName. This string is used in drop down
+# suggestion when users try to autofill credit card on an insecure website (without https).
+insecureFieldWarningDescription = %S telah mengesan laman yang tidak selamat. Auto-isi Borang dinyahdayakan sementara
+# LOCALIZATION NOTE (clearFormBtnLabel2): Label for the button in the dropdown menu that used to clear the populated
+# form.
+clearFormBtnLabel2 = Kosongkan Borang Auto-isi
+
+autofillHeader = Borang & Autoisi
+# LOCALIZATION NOTE (autofillDescription): %S is brandShortName.
+autofillDescription = %S boleh menyimpan alamat dan maklumat kad kredit anda.
+# LOCALIZATION NOTE (autofillAddressesCheckbox): Label for the checkbox that enables autofilling addresses.
+autofillAddressesCheckbox = Auto-isi alamat
+# LOCALIZATION NOTE (learnMoreLabel): Label for the link that leads users to the Form Autofill SUMO page.
+learnMoreLabel = Ketahui selanjutnya
+# LOCALIZATION NOTE (savedAddressesBtnLabel): Label for the button that opens a dialog that shows the
+# list of saved addresses.
+savedAddressesBtnLabel = Alamat Disimpanâ¦
+# LOCALIZATION NOTE (autofillCreditCardsCheckbox): Label for the checkbox that enables autofilling credit cards.
+autofillCreditCardsCheckbox = Auto-isi kad kredit
+# LOCALIZATION NOTE (savedCreditCardsBtnLabel): Label for the button that opens a dialog that shows the list
+# of saved credit cards.
+savedCreditCardsBtnLabel = Kad Kredit Disimpanâ¦
+
+# LOCALIZATION NOTE (manageAddressesTitle, manageCreditCardsTitle): The dialog title for the list of addresses or
+# credit cards in browser preferences.
+manageAddressesTitle = Alamat Disimpan
+manageCreditCardsTitle = Kad Kredit Disimpan
+# LOCALIZATION NOTE (addressesListHeader, creditCardsListHeader): The header for the list of addresses or credit cards
+# in browser preferences.
+addressesListHeader = Alamat
+creditCardsListHeader = Kad Kredit
+showCreditCardsBtnLabel = Papar Kad Kredit
+hideCreditCardsBtnLabel = Sorok Kad Kredit
+removeBtnLabel = Buang
+addBtnLabel = Tambahâ¦
+editBtnLabel = Editâ¦
+# LOCALIZATION NOTE (manageDialogsWidth): This strings sets the default width for windows used to manage addresses and
+# credit cards.
+manageDialogsWidth = 560px
+
+# LOCALIZATION NOTE (addNewAddressTitle, editAddressTitle): The dialog title for creating or editing addresses
+# in browser preferences.
+addNewAddressTitle = Tambah Alamat Baru
+editAddressTitle = Edit Alamat
+givenName = Nama Pertama
+additionalName = Nama Tengah
+familyName = Nama Keluarga
+organization2 = Organisasi
+streetAddress = Nama Jalan
+
+## address-level-3 (Sublocality) names
+# LOCALIZATION NOTE (neighborhood): Used in IR, MX
+neighborhood = Kawasan kejiranan
+# LOCALIZATION NOTE (village_township): Used in MY
+village_township = Kampung atau Bandar
+island = Pulau
+# LOCALIZATION NOTE (townland): Used in IE
+townland = Perbandaran
+
+## address-level-2 names
+city = Bandar
+# LOCALIZATION NOTE (district): Used in HK, SD, SY, TR as Address Level-2
+# and used in KR as Sublocality.
+district = Daerah
+# LOCALIZATION NOTE (post_town): Used in GB, NO, SE
+post_town = Pos bandar
+# LOCALIZATION NOTE (suburb): Used in AU as Address Level-2
+# and used in ZZ as Sublocality.
+suburb = Pinggir bandar
+
+# address-level-1 names
+province = Wilayah
+state = Negara
+county = Wilayah
+# LOCALIZATION NOTE (parish): Used in BB, JM
+parish = Kariah
+# LOCALIZATION NOTE (prefecture): Used in JP
+prefecture = Wilayah
+# LOCALIZATION NOTE (area): Used in HK
+area = Kawasan
+# LOCALIZATION NOTE (do_si): Used in KR
+do_si = Do/Si
+# LOCALIZATION NOTE (department): Used in NI, CO
+department = Jabatan
+# LOCALIZATION NOTE (emirate): Used in AE
+emirate = Emirate
+# LOCALIZATION NOTE (oblast): Used in RU and UA
+oblast = Oblast
+
+# LOCALIZATION NOTE (pin, postalCode, zip, eircode): Postal code name types
+# LOCALIZATION NOTE (pin): Used in IN
+pin = Pin
+postalCode = Poskod
+zip = Poskod
+# LOCALIZATION NOTE (eircode): Used in IE
+eircode = Eircode
+
+country = Negara atau Rantau
+tel = Telefon
+email = E-mel
+cancelBtnLabel = Batal
+saveBtnLabel = Simpan
+countryWarningMessage2 = Auto-isi Borang buat masa ini hanya tersedia untuk negara tertentu.
+
+# LOCALIZATION NOTE (addNewCreditCardTitle, editCreditCardTitle): The dialog title for creating or editing
+# credit cards in browser preferences.
+addNewCreditCardTitle = Tambah Kad Kredit Baru
+editCreditCardTitle = Edit Kad Kredit
+cardNumber = Nombor Kad
+invalidCardNumber = Sila masukkan nombor kad yang sah
+nameOnCard = Nama pada Kad
+cardExpiresMonth = Bulan Luput
+cardExpiresYear = Tahun Luput
+billingAddress = Alamat Bil
+cardNetwork = Jenis Kad
+
+# LOCALIZATION NOTE (cardCVV): Credit card security code https://en.wikipedia.org/wiki/Card_security_code
+cardCVV = CVV
+
+# LOCALIZATION NOTE: (cardNetwork.*): These are brand names and should only be translated when a locale-specific name for that brand is in common use
+cardNetwork.amex = American Express
+cardNetwork.cartebancaire = Carte Bancaire
+cardNetwork.diners = Diners Club
+cardNetwork.discover = Discover
+cardNetwork.jcb = JCB
+cardNetwork.mastercard = MasterCard
+cardNetwork.mir = MIR
+cardNetwork.unionpay = Union Pay
+cardNetwork.visa = Visa
+
+# LOCALIZATION NOTE (editCreditCardPasswordPrompt.*, useCreditCardPasswordPrompt.*): %S is brandShortName.
+editCreditCardPasswordPrompt.win = %S cuba memaparkan maklumat kad kredit. Sahkan akses ke akaun Windows ini di bawah.
+editCreditCardPasswordPrompt.macosx = %S cuba memaparkan maklumat kad kredit.
+editCreditCardPasswordPrompt.linux = %S cuba memaparkan maklumat kad kredit.
+useCreditCardPasswordPrompt.win = %S cuba memaparkan maklumat kad kredit yang disimpan. Sahkan akses ke akaun Windows ini di bawah.
+useCreditCardPasswordPrompt.macosx = %S cuba menggunakan maklumat kad kredit yang disimpan.
+useCreditCardPasswordPrompt.linux = %S cuba menggunakan maklumat kad kredit yang disimpan.
diff --git a/browser/extensions/fxmonitor/fxmonitor.properties b/browser/extensions/fxmonitor/fxmonitor.properties
new file mode 100644
index 00000000000..5ada1896d07
--- /dev/null
+++ b/browser/extensions/fxmonitor/fxmonitor.properties
@@ -0,0 +1,45 @@
+# 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 https://mozilla.org/MPL/2.0/.
+
+# Header of the popup
+fxmonitor.popupHeader=Ada akaun untuk laman ini?
+# Firefox Monitor must be treated as a brand, and kept in English.
+# It cannot be:
+# - Declined to adapt to grammatical case.
+# - Transliterated.
+# - Translated.
+fxmonitor.brandName=Firefox Monitor
+# Tooltip text for the popup's anchor icon in the URL bar
+# %S is replaced with fxmonitor.brandName.
+fxmonitor.anchorIcon.tooltiptext=Laman dilaporkan ke %S
+# Text content of popup. Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This version is only used when the number of accounts is smaller than 100,000.
+# The placeholders are:
+# #1: The exact number of accounts compromised in the breach.
+# #2: The name of the breached site.
+# #3: The year of the breach.
+# #4: The brand name ("Firefox Monitor").
+fxmonitor.popupText=#1 akaun #2 telah dikompromi pada #3. Semak #4 untuk mengetahui samada anda berisiko.
+# Text content of popup. Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This version is only used when the number of accounts is greater than 100,000.
+# The placeholders are:
+# #1: The number of accounts compromised in the breach, rounded down to the
+# most significant digit.
+# Ex.: 234,567 -> More than 200,000 accounts [...]
+# 345,678,901 -> More than 300,000,000 accounts [...]
+# 4,567,890,123 -> More than 4,000,000,000 accounts [...]
+# #2: The name of the breached site.
+# #3: The year of the breach.
+# #4: The brand name ("Firefox Monitor").
+fxmonitor.popupTextRounded=Lebih #1 akaun #2 telah dikompromi pada #3. Semak #4 untuk mengetahui samada anda berisiko.
+# %S is replaced with fxmonitor.brandName.
+fxmonitor.checkButton.label=Semak %S
+fxmonitor.checkButton.accessKey=S
+fxmonitor.dismissButton.label=Abai
+fxmonitor.dismissButton.accessKey=A
+# %S is replaced with fxmonitor.brandName.
+fxmonitor.neverShowButton.label=Jangan papar peringatan %S
+fxmonitor.neverShowButton.accessKey=J
diff --git a/browser/extensions/report-site-issue/webcompat.properties b/browser/extensions/report-site-issue/webcompat.properties
new file mode 100644
index 00000000000..f93323f4600
--- /dev/null
+++ b/browser/extensions/report-site-issue/webcompat.properties
@@ -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/.
+
+# LOCALIZATION NOTE(wc-reporter.label2): This string will be used in the
+# Firefox page actions menu. Localized length should be considered.
+wc-reporter.label2=Laporkan Isu Lamanâ¦
+# LOCALIZATION NOTE(wc-reporter.tooltip): A site compatibility issue is
+# a website bug that exists in one browser (Firefox), but not another.
+wc-reporter.tooltip=Laporkan isu laman tidak bersesuaian
diff --git a/browser/extensions/webcompat-reporter/webcompat.properties b/browser/extensions/webcompat-reporter/webcompat.properties
new file mode 100644
index 00000000000..f93323f4600
--- /dev/null
+++ b/browser/extensions/webcompat-reporter/webcompat.properties
@@ -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/.
+
+# LOCALIZATION NOTE(wc-reporter.label2): This string will be used in the
+# Firefox page actions menu. Localized length should be considered.
+wc-reporter.label2=Laporkan Isu Lamanâ¦
+# LOCALIZATION NOTE(wc-reporter.tooltip): A site compatibility issue is
+# a website bug that exists in one browser (Firefox), but not another.
+wc-reporter.tooltip=Laporkan isu laman tidak bersesuaian
diff --git a/browser/firefox-l10n.js b/browser/firefox-l10n.js
new file mode 100644
index 00000000000..b410ad9aef4
--- /dev/null
+++ b/browser/firefox-l10n.js
@@ -0,0 +1,6 @@
+# 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 substitution
+
diff --git a/browser/installer/custom.properties b/browser/installer/custom.properties
new file mode 100644
index 00000000000..107ef1232ef
--- /dev/null
+++ b/browser/installer/custom.properties
@@ -0,0 +1,87 @@
+# 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:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+REG_APP_DESC=$BrandShortName menawarkan pelayaran web yang selamat dan mudah. Antara muka yang mesra pengguna, ciri keselamatan yang dipertingkatkan untuk perlindungan daripada kecurian identiti atas talian, serta carian bersepadu bagi memanfaatkan kandungan web.
+CONTEXT_OPTIONS=&Pilihan $BrandShortName
+CONTEXT_SAFE_MODE=&Mod Selamat $BrandShortName
+OPTIONS_PAGE_TITLE=Jenis Penetapan
+OPTIONS_PAGE_SUBTITLE=Pilih pilihan penetapan
+SHORTCUTS_PAGE_TITLE=Penetapan Pintasan
+SHORTCUTS_PAGE_SUBTITLE=Cipta Ikon Atur cara
+COMPONENTS_PAGE_TITLE=Penetapan Komponen Pilihan
+COMPONENTS_PAGE_SUBTITLE=Komponen Pilihan yang Disyorkan
+OPTIONAL_COMPONENTS_DESC=Perkhidmatan Penyenggaraan membolehkan anda mengemaskini $BrandShortName secara senyap di latar belakang.
+MAINTENANCE_SERVICE_CHECKBOX_DESC=Pasang Perkhidmatan &Penyenggaraan
+SUMMARY_PAGE_TITLE=Ringkasan
+SUMMARY_PAGE_SUBTITLE=Sedia untuk memulakan pemasangan $BrandShortName
+SUMMARY_INSTALLED_TO=$BrandShortName akan dipasang di lokasi berikut:
+SUMMARY_REBOOT_REQUIRED_INSTALL=Komputer anda perlu mula semula untuk melengkapkan pemasangan.
+SUMMARY_REBOOT_REQUIRED_UNINSTALL=Komputer anda mungkin perlu mula semula untuk melengkapkan nyahpasang.
+SUMMARY_TAKE_DEFAULTS=&Gunakan $BrandShortName sebagai pelayar piawai
+SUMMARY_INSTALL_CLICK=Klik Pasang untuk meneruskan.
+SUMMARY_UPGRADE_CLICK=Klik Naik taraf untuk meneruskan.
+SURVEY_TEXT=&Maklumkan kami pendapat anda berkenaan $BrandShortName
+LAUNCH_TEXT=&Lancarkan $BrandShortName sekarang
+CREATE_ICONS_DESC=Cipta ikon untuk $BrandShortName:
+ICONS_DESKTOP=Pada &Desktop saya
+ICONS_STARTMENU=Dalam folder Menu &Mula Atur cara saya
+ICONS_QUICKLAUNCH=Dalam bar &Pelancaran Pantas
+WARN_MANUALLY_CLOSE_APP_INSTALL=$BrandShortName perlu ditutup untuk meneruskan pemasangan.\n\nSila tutup $BrandShortName untuk meneruskan.
+WARN_MANUALLY_CLOSE_APP_UNINSTALL=$BrandShortName perlu ditutup untuk meneruskan nyah-pemasangan.\n\nSila tutup $BrandShortName untuk meneruskan.
+WARN_MANUALLY_CLOSE_APP_LAUNCH=$BrandShortName sedang berjalan.\n\nSila tutup $BrandShortName sebelum melancarkan versi yang baru dipasang.
+WARN_WRITE_ACCESS=Anda tidak ada akses menulis direktori pemasangan.\n\nKlik OK untuk pilih direktori lain.
+WARN_DISK_SPACE=Ruang cakera anda tidak mencukupi untuk pemasangan di lokasi ini.\n\nKlik OK untuk memilih lokasi lain.
+WARN_MIN_SUPPORTED_OSVER_MSG=Maaf, $BrandShortName tidak dapat dipasang. Versi $BrandShortName ini memerlukan sekurang-kurangnya ${MinSupportedVer} atau yang lebih baru. Sila klik butang OK untuk maklumat tambahan.
+WARN_MIN_SUPPORTED_CPU_MSG=Maaf, $BrandShortName tidak dapat dipasang. Versi $BrandShortName ini memerlukan pemproses dengan sokongan ${MinSupportedCPU}. Sila klik butang OK untuk maklumat tambahan.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=Maaf, $BrandShortName tidak dapat dipasang. Versi $BrandShortName ini perlukan ${MinSupportedVer} atau versi lebih baru dan pemproses dengan sokongan ${MinSupportedCPU}. Sila klik butang OK untuk maklumat tambahan.
+WARN_RESTART_REQUIRED_UNINSTALL=Komputer anda perlu dimulakan semula untuk melengkapkan nyah-pemasangan $BrandShortName sebelum ini. Adakah anda mahu mula semula sekarang?
+WARN_RESTART_REQUIRED_UPGRADE=Komputer anda perlu dimulakan semula untuk melengkapkan naik taraf $BrandShortName sebelum ini. Adakah anda mahu mula semula sekarang?
+ERROR_CREATE_DIRECTORY_PREFIX=Ralat mencipta direktori:
+ERROR_CREATE_DIRECTORY_SUFFIX=Klik Batal untuk menghentikan pemasangan atau \nCuba lagi untuk ulang semula.
+
+UN_CONFIRM_PAGE_TITLE=Nyahpasang $BrandFullName
+UN_CONFIRM_PAGE_SUBTITLE=Buang $BrandFullName daripada komputer anda.
+UN_CONFIRM_UNINSTALLED_FROM=$BrandShortName akan dinyahpasang dari lokasi berikut:
+UN_CONFIRM_CLICK=Klik Nyahpasang untuk meneruskan.
+
+BANNER_CHECK_EXISTING=Memeriksa pemasangan yang sedia adaâ¦
+
+STATUS_INSTALL_APP=Memasang $BrandShortNameâ¦
+STATUS_INSTALL_LANG=Memasang Fail Bahasa (${AB_CD})â¦
+STATUS_UNINSTALL_MAIN=Menyahpasang $BrandShortNameâ¦
+STATUS_CLEANUP=Melakukan Sedikit Pembersihanâ¦
+
+UN_SURVEY_CHECKBOX_LABEL=Maklumkan Mozilla mengapa anda nyahpasang $BrandShortName
+
+# _DESC strings support approximately 65 characters per line.
+# One line
+OPTIONS_SUMMARY=Pilih jenis penetapan yang anda suka, kemudian klik Berikut.
+# One line
+OPTION_STANDARD_DESC=$BrandShortName akan dipasang dengan pilihan yang paling lazim.
+OPTION_STANDARD_RADIO=&Piawai
+# Two lines
+OPTION_CUSTOM_DESC=Anda boleh buat pilihan individu yang mahu dipasang. Disarankan untuk pengguna berpengalaman.
+OPTION_CUSTOM_RADIO=&Penyesuaian
+
+# LOCALIZATION NOTE:
+# The following text replaces the Install button text on the summary page.
+# Verify that the access key for InstallBtn (in override.properties) and
+# UPGRADE_BUTTON is not already used by SUMMARY_TAKE_DEFAULTS.
+UPGRADE_BUTTON=&Naik taraf
diff --git a/browser/installer/mui.properties b/browser/installer/mui.properties
new file mode 100644
index 00000000000..86ef5546528
--- /dev/null
+++ b/browser/installer/mui.properties
@@ -0,0 +1,61 @@
+# 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/.
+
+# To make the l10n tinderboxen see changes to this file you can change a value
+# name by adding - to the end of the name followed by chars (e.g. Branding-2).
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+MUI_TEXT_WELCOME_INFO_TITLE=Selamat datang ke Bestari Penetapan $BrandFullNameDA
+MUI_TEXT_WELCOME_INFO_TEXT=Bestari ini akan membimbing anda sepanjang proses pemasangan $BrandFullNameDA.\n\nTutup semua aplikasi lain sebelum memulakan Penetapan. Tindakan ini membolehkan fail sistem berkaitan dikemaskini tanpa perlu memulakan semula komputer.\n\n$_CLICK
+MUI_TEXT_COMPONENTS_TITLE=Pilih Komponen
+MUI_TEXT_COMPONENTS_SUBTITLE=Pilih ciri $BrandFullNameDA yang anda mahu pasang.
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE=Keterangan
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO=Letakkan penunjuk tetikus di atas komponen untuk membaca keterangannya.
+MUI_TEXT_DIRECTORY_TITLE=Pilih Lokasi Pemasangan
+MUI_TEXT_DIRECTORY_SUBTITLE=Pilih folder untuk memasang $BrandFullNameDA.
+MUI_TEXT_INSTALLING_TITLE=Memasang
+MUI_TEXT_INSTALLING_SUBTITLE=Sila tunggu sementara $BrandFullNameDA sedang dipasang.
+MUI_TEXT_FINISH_TITLE=Pemasangan Selesai
+MUI_TEXT_FINISH_SUBTITLE=Penetapan berjaya dilengkapkan.
+MUI_TEXT_ABORT_TITLE=Pemasangan Dibatalkan
+MUI_TEXT_ABORT_SUBTITLE=Penetapan tidak berjaya dilengkapkan.
+MUI_BUTTONTEXT_FINISH=&Selesai
+MUI_TEXT_FINISH_INFO_TITLE=Melengkapkan Bestari Penetapan $BrandFullNameDA
+MUI_TEXT_FINISH_INFO_TEXT=$BrandFullNameDA telah dipasang dalam komputer anda.\n\nKlik Selesai untuk menutup bestari ini.
+MUI_TEXT_FINISH_INFO_REBOOT=Komputer anda perlu dimulakan semula untuk melengkapkan pemasangan $BrandFullNameDA. Adakah anda mahu mula semula sekarang?
+MUI_TEXT_FINISH_REBOOTNOW=Mula semula sekarang
+MUI_TEXT_FINISH_REBOOTLATER=Saya mahu mulakan semula secara manual kemudian
+MUI_TEXT_STARTMENU_TITLE=Pilih Folder Menu Mula
+MUI_TEXT_STARTMENU_SUBTITLE=Pilih folder Menu Mula untuk pintasan $BrandFullNameDA.
+MUI_INNERTEXT_STARTMENU_TOP=Pilih folder Menu Mula yang anda mahu letakkan pintasan atur cara. Anda juga boleh berikan nama untuk folder baru yang dicipta.
+MUI_TEXT_ABORTWARNING=Adakah anda pasti mahu keluar daripada Penetapan $BrandFullName?
+MUI_UNTEXT_WELCOME_INFO_TITLE=Selamat datang ke Bestari Penyahpemasangan $BrandFullNameDA
+MUI_UNTEXT_WELCOME_INFO_TEXT=Bestari ini akan membimbing anda sepanjang proses menyahpasang $BrandFullNameDA.\n\nSebelum memulakan, pastikan $BrandFullNameDA tidak dilaksanakan.\n\n$_CLICK
+MUI_UNTEXT_CONFIRM_TITLE=Nyahpasang $BrandFullNameDA
+MUI_UNTEXT_CONFIRM_SUBTITLE=Buang $BrandFullNameDA daripada komputer anda.
+MUI_UNTEXT_UNINSTALLING_TITLE=Menyahpasang
+MUI_UNTEXT_UNINSTALLING_SUBTITLE=Sila tunggu sementara $BrandFullNameDA sedang dinyahpasang.
+MUI_UNTEXT_FINISH_TITLE=Nyahpasang Selesai
+MUI_UNTEXT_FINISH_SUBTITLE=Nyahpasang berjaya diselesaikan.
+MUI_UNTEXT_ABORT_TITLE=Nyahpasang Dibatalkan
+MUI_UNTEXT_ABORT_SUBTITLE=Nyahpasang tidak berjaya diselesaikan.
+MUI_UNTEXT_FINISH_INFO_TITLE=Melengkapkan Bestari Nyahpasang $BrandFullNameDA
+MUI_UNTEXT_FINISH_INFO_TEXT=$BrandFullNameDA telah dinyahpasang daripada komputer anda.\n\nKlik Selesai untuk menutup bestari ini.
+MUI_UNTEXT_FINISH_INFO_REBOOT=Komputer anda perlu dimulakan semula untuk melengkapkan nyah-pemasangan $BrandFullNameDA. Adakah anda mahu mula semula sekarang?
+MUI_UNTEXT_ABORTWARNING=Adakah anda pasti mahu batalkan Nyahpasang $BrandFullName?
diff --git a/browser/installer/nsisstrings.properties b/browser/installer/nsisstrings.properties
new file mode 100644
index 00000000000..bf319f84984
--- /dev/null
+++ b/browser/installer/nsisstrings.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/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+INSTALLER_WIN_CAPTION=Pemasang $BrandShortName
+
+# The \n in the next two strings can be moved or deleted as needed to make
+# the string fit in the 3 lines of space available.
+STUB_CLEANUP_PAVEOVER_HEADER=$BrandShortName sudah dipasang.\nCuba kemaskini.
+STUB_CLEANUP_REINSTALL_HEADER=$BrandShortName sudah dipasang sebelum ini.\nCuba dapatkan salinan yang baru.
+STUB_CLEANUP_PAVEOVER_BUTTON=&Kemaskini
+STUB_CLEANUP_REINSTALL_BUTTON=&Pasang-semula
+STUB_CLEANUP_CHECKBOX_LABEL=&Pulih tetapan piawai dan buang add-ons lama untuk prestasi optima
+
+STUB_INSTALLING_LABEL2=Sedang memasangâ¦
+STUB_BLURB_FIRST1=Versi $BrandShortName yang paling pantas dan responsif
+STUB_BLURB_SECOND1=Lebih pantas memuatkan halaman dan menukarkan tab
+STUB_BLURB_THIRD1=Pelayaran peribadi yang lebih berkuasa
+STUB_BLURB_FOOTER2=Dibina untuk semua pengguna, bukan untuk untung
+
+WARN_MIN_SUPPORTED_OSVER_MSG=Maaf, $BrandShortName tidak dapat dipasang. Versi $BrandShortName ini memerlukan sekurang-kurangnya ${MinSupportedVer} atau yang lebih baru. Sila klik butang OK untuk maklumat tambahan.
+WARN_MIN_SUPPORTED_CPU_MSG=Maaf, $BrandShortName tidak dapat dipasang. Versi $BrandShortName ini memerlukan pemproses dengan sokongan ${MinSupportedCPU}. Sila klik butang OK untuk maklumat tambahan.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=Maaf, $BrandShortName tidak dapat dipasang. Versi $BrandShortName ini perlukan ${MinSupportedVer} atau versi lebih baru dan pemproses dengan sokongan ${MinSupportedCPU}. Sila klik butang OK untuk maklumat tambahan.
+WARN_WRITE_ACCESS_QUIT=Anda tidak mempunyai akses untuk menulis ke direktori pemasangan
+WARN_DISK_SPACE_QUIT=Anda tidak mempunyai ruang cakera yang cukup untuk memasang.
+WARN_MANUALLY_CLOSE_APP_LAUNCH=$BrandShortName sedang berjalan.\n\nSila tutup $BrandShortName sebelum melancarkan versi yang baru dipasang.
+
+ERROR_DOWNLOAD_CONT=Hmm. Atas beberapa sebab, kami tidak dapat memasang $BrandShortName.\nPilih OK untuk mulakan lagi.
+
+STUB_CANCEL_PROMPT_HEADING=Adakah anda mahu pasang $BrandShortName?
+STUB_CANCEL_PROMPT_MESSAGE=Jika anda batalkan, $BrandShortName tidak akan dipasang.
+STUB_CANCEL_PROMPT_BUTTON_CONTINUE=Pasang $BrandShortName
+STUB_CANCEL_PROMPT_BUTTON_EXIT=Batal
+
+VERSION_32BIT=32-bit $BrandShortName
+VERSION_64BIT=64-bit $BrandShortName
diff --git a/browser/installer/override.properties b/browser/installer/override.properties
new file mode 100644
index 00000000000..9f220809b7b
--- /dev/null
+++ b/browser/installer/override.properties
@@ -0,0 +1,86 @@
+# 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:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+# Strings that require a space at the end should be enclosed with double
+# quotes and the double quotes will be removed. To add quotes to the beginning
+# and end of a strong enclose the add and additional double quote to the
+# beginning and end of the string (e.g. ""This will include quotes"").
+
+SetupCaption=Penetapan $BrandFullName
+UninstallCaption=Nyahpasang $BrandFullName
+BackBtn=< &Undur
+NextBtn=&Berikut >
+AcceptBtn=Saya &terima terma di dalam Perjanjian Lesen
+DontAcceptBtn=Saya &tidak terima terma di dalam Perjanjian Lesen
+InstallBtn=&Pasang
+UninstallBtn=&Nyahpasang
+CancelBtn=Batal
+CloseBtn=&Tutup
+BrowseBtn=C&ariâ¦
+ShowDetailsBtn=Papar &butiran
+ClickNext=Klik Berikut untuk meneruskan.
+ClickInstall=Klik Pasang untuk memulakan pemasangan.
+ClickUninstall=Klik Nyahpasang untuk memulakan menyahpasang.
+Completed=Selesai
+LicenseTextRB=Sila semak perjanjian lesen sebelum memasang $BrandFullNameDA. Jika anda terima semua terma perjanjian ini, pilih pilihan pertama di bawah. $_CLICK
+ComponentsText=Tandakan komponen yang anda mahu pasang dan buang tanda pada komponen yang anda tidak mahu pasang. $_CLICK
+ComponentsSubText2_NoInstTypes=Pilih komponen untuk dipasang:
+DirText=Penetapan akan memasang $BrandFullNameDA dalam folder berikut. Untuk memasang dalam folder berlainan, klik Cari dan pilih folder lain. $_CLICK
+DirSubText=Folder Destinasi
+DirBrowseText=Pilih folder untuk pemasangan $BrandFullNameDA:
+SpaceAvailable="Ruang tersedia: "
+SpaceRequired="Ruang diperlukan: "
+UninstallingText=$BrandFullNameDA akan dinyahpasang daripada folder berikut. $_CLICK
+UninstallingSubText=Menyahpasang daripada:
+FileError=Ralat membuka fail yang mahu ditulis: \r\n\r\n$0\r\n\r\nKlik Batal untuk menghentikan pemasangan,\r\nCuba lagi nanti, atau \r\nAbai untuk melangkau fail ini.
+FileError_NoIgnore=Ralat membuka fail yang mahu ditulis: \r\n\r\n$0\r\n\r\nKlik Ulang untuk cuba semula, atau\r\nBatal untuk menghentikan pemasangan.
+CantWrite="Tidak dapat menulis: "
+CopyFailed=Gagal disalin
+CopyTo="Salin ke "
+Registering="Mendaftarkan: "
+Unregistering="Membatalkan pendaftaran: "
+SymbolNotFound="Tidak dapat menemui simbol: "
+CouldNotLoad="Tidak dapat memuatkan: "
+CreateFolder="Cipta folder: "
+CreateShortcut="Cipta pintasan: "
+CreatedUninstaller="Penyahpasang dicipta: "
+Delete="Buang fail: "
+DeleteOnReboot="Buang selepas mula semula: "
+ErrorCreatingShortcut="Ralat mencipta pintasan: "
+ErrorCreating="Ralat mencipta: "
+ErrorDecompressing=Ralat menyahmampat data! Pemasang rosak?
+ErrorRegistering=Ralat mendaftarkan DLL
+ExecShell="ExecShell: "
+Exec="Laksana: "
+Extract="Ekstrak: "
+ErrorWriting="Ekstrak: ralat menulis ke fail "
+InvalidOpcode=Pemasang rosak: opkod tidak sah
+NoOLE="Tiada OLE untuk: "
+OutputFolder="Folder output: "
+RemoveFolder="Buang folder: "
+RenameOnReboot="Namakan semula selepas mula semula: "
+Rename="Namakan semula: "
+Skipped="Dilangkau: "
+CopyDetails=Salin Butiran Ke Klipbod
+LogInstall=Log proses pemasangan
+Byte=B
+Kilo=K
+Mega=M
+Giga=G
diff --git a/browser/pdfviewer/chrome.properties b/browser/pdfviewer/chrome.properties
new file mode 100644
index 00000000000..3d6e7f2ce1b
--- /dev/null
+++ b/browser/pdfviewer/chrome.properties
@@ -0,0 +1,19 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Chrome notification bar messages and buttons
+unsupported_feature=Dokument PDF ini mungkin tidak dipaparkan dengan baik.
+unsupported_feature_forms=Dokumen PDF ini mengandungi borang. Pengisian medan borang tidak disokong.
+open_with_different_viewer=Buka Dengan Pemapar Lain
+open_with_different_viewer.accessKey=a
diff --git a/browser/pdfviewer/viewer.properties b/browser/pdfviewer/viewer.properties
new file mode 100644
index 00000000000..3bc7907b80c
--- /dev/null
+++ b/browser/pdfviewer/viewer.properties
@@ -0,0 +1,242 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Main toolbar buttons (tooltips and alt text for images)
+previous.title=Halaman Dahulu
+previous_label=Dahulu
+next.title=Halaman Berikut
+next_label=Berikut
+
+# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
+page.title=Halaman
+# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
+# representing the total number of pages in the document.
+of_pages=daripada {{pagesCount}}
+# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
+# will be replaced by a number representing the currently visible page,
+# respectively a number representing the total number of pages in the document.
+page_of_pages=({{pageNumber}} daripada {{pagesCount}})
+
+zoom_out.title=Zum Keluar
+zoom_out_label=Zum Keluar
+zoom_in.title=Zum Masuk
+zoom_in_label=Zum Masuk
+zoom.title=Zum
+presentation_mode.title=Tukar ke Mod Persembahan
+presentation_mode_label=Mod Persembahan
+open_file.title=Buka Fail
+open_file_label=Buka
+print.title=Cetak
+print_label=Cetak
+download.title=Muat turun
+download_label=Muat turun
+bookmark.title=Paparan semasa (salin atau buka dalam tetingkap baru)
+bookmark_label=Paparan Semasa
+
+# Secondary toolbar and context menu
+tools.title=Alatan
+tools_label=Alatan
+first_page.title=Pergi ke Halaman Pertama
+first_page.label=Pergi ke Halaman Pertama
+first_page_label=Pergi ke Halaman Pertama
+last_page.title=Pergi ke Halaman Terakhir
+last_page.label=Pergi ke Halaman Terakhir
+last_page_label=Pergi ke Halaman Terakhir
+page_rotate_cw.title=Berputar ikut arah Jam
+page_rotate_cw.label=Berputar ikut arah Jam
+page_rotate_cw_label=Berputar ikut arah Jam
+page_rotate_ccw.title=Pusing berlawan arah jam
+page_rotate_ccw.label=Pusing berlawan arah jam
+page_rotate_ccw_label=Pusing berlawan arah jam
+
+cursor_text_select_tool.title=Dayakan Alatan Pilihan Teks
+cursor_text_select_tool_label=Alatan Pilihan Teks
+cursor_hand_tool.title=Dayakan Alatan Tangan
+cursor_hand_tool_label=Alatan Tangan
+
+scroll_vertical.title=Guna Skrol Menegak
+scroll_vertical_label=Skrol Menegak
+scroll_horizontal.title=Guna Skrol Mengufuk
+scroll_horizontal_label=Skrol Mengufuk
+scroll_wrapped.title=Guna Skrol Berbalut
+scroll_wrapped_label=Skrol Berbalut
+
+spread_none.title=Jangan hubungkan hamparan halaman
+spread_none_label=Tanpa Hamparan
+spread_odd.title=Hubungkan hamparan halaman dengan halaman nombor ganjil
+spread_odd_label=Hamparan Ganjil
+spread_even.title=Hubungkan hamparan halaman dengan halaman nombor genap
+spread_even_label=Hamparan Seimbang
+
+# Document properties dialog box
+document_properties.title=Sifat Dokumenâ¦
+document_properties_label=Sifat Dokumenâ¦
+document_properties_file_name=Nama fail:
+document_properties_file_size=Saiz fail:
+# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in kilobytes, respectively in bytes.
+document_properties_kb={{size_kb}} KB ({{size_b}} bait)
+# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in megabytes, respectively in bytes.
+document_properties_mb={{size_mb}} MB ({{size_b}} bait)
+document_properties_title=Tajuk:
+document_properties_author=Pengarang:
+document_properties_subject=Subjek:
+document_properties_keywords=Kata kunci:
+document_properties_creation_date=Masa Dicipta:
+document_properties_modification_date=Tarikh Ubahsuai:
+# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
+# will be replaced by the creation/modification date, and time, of the PDF file.
+document_properties_date_string={{date}}, {{time}}
+document_properties_creator=Pencipta:
+document_properties_producer=Pengeluar PDF:
+document_properties_version=Versi PDF:
+document_properties_page_count=Kiraan Laman:
+document_properties_page_size=Saiz Halaman:
+document_properties_page_size_unit_inches=dalam
+document_properties_page_size_unit_millimeters=mm
+document_properties_page_size_orientation_portrait=potret
+document_properties_page_size_orientation_landscape=landskap
+document_properties_page_size_name_a3=A3
+document_properties_page_size_name_a4=A4
+document_properties_page_size_name_letter=Letter
+document_properties_page_size_name_legal=Legal
+# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
+# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement and orientation, of the (current) page.
+document_properties_page_size_dimension_string={{width}} Ã {{height}} {{unit}} ({{orientation}})
+# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
+# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
+document_properties_page_size_dimension_name_string={{width}} Ã {{height}} {{unit}} ({{name}}, {{orientation}})
+# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
+# the document; usually called "Fast Web View" in English locales of Adobe software.
+document_properties_linearized=Paparan Web Pantas:
+document_properties_linearized_yes=Ya
+document_properties_linearized_no=Tidak
+document_properties_close=Tutup
+
+print_progress_message=Menyediakan dokumen untuk dicetakâ¦
+# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
+# a numerical per cent value.
+print_progress_percent={{progress}}%
+print_progress_close=Batal
+
+# Tooltips and alt text for side panel toolbar buttons
+# (the _label strings are alt text for the buttons, the .title strings are
+# tooltips)
+toggle_sidebar.title=Togol Bar Sisi
+toggle_sidebar_notification.title=Togol Sidebar (dokumen mengandungi rangka/attachments)
+toggle_sidebar_label=Togol Bar Sisi
+document_outline.title=Papar Rangka Dokumen (klik-dua-kali untuk kembangkan/kolaps semua item)
+document_outline_label=Rangka Dokumen
+attachments.title=Papar Lampiran
+attachments_label=Lampiran
+thumbs.title=Papar Thumbnails
+thumbs_label=Imej kecil
+findbar.title=Cari didalam Dokumen
+findbar_label=Cari
+
+# Thumbnails panel item (tooltip and alt text for images)
+# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
+# number.
+thumb_page_title=Halaman {{page}}
+# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
+# number.
+thumb_page_canvas=Halaman Imej kecil {{page}}
+
+# Find panel button title and messages
+find_input.title=Cari
+find_input.placeholder=Cari dalam dokumenâ¦
+find_previous.title=Cari teks frasa berkenaan yang terdahulu
+find_previous_label=Dahulu
+find_next.title=Cari teks frasa berkenaan yang berikut
+find_next_label=Berikut
+find_highlight=Serlahkan semua
+find_match_case_label=Huruf sepadan
+find_entire_word_label=Seluruh perkataan
+find_reached_top=Mencapai teratas daripada dokumen, sambungan daripada bawah
+find_reached_bottom=Mencapai terakhir daripada dokumen, sambungan daripada atas
+# LOCALIZATION NOTE (find_match_count): The supported plural forms are
+# [one|two|few|many|other], with [other] as the default value.
+# "{{current}}" and "{{total}}" will be replaced by a number representing the
+# index of the currently active find result, respectively a number representing
+# the total number of matches in the document.
+find_match_count={[ plural(total) ]}
+find_match_count[one]={{current}} daripada {{total}} padanan
+find_match_count[two]={{current}} daripada {{total}} padanan
+find_match_count[few]={{current}} daripada {{total}} padanan
+find_match_count[many]={{current}} daripada {{total}} padanan
+find_match_count[other]={{current}} daripada {{total}} padanan
+# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
+# [zero|one|two|few|many|other], with [other] as the default value.
+# "{{limit}}" will be replaced by a numerical value.
+find_match_count_limit={[ plural(limit) ]}
+find_match_count_limit[zero]=Lebih daripada {{limit}} padanan
+find_match_count_limit[one]=Lebih daripada {{limit}} padanan
+find_match_count_limit[two]=Lebih daripada {{limit}} padanan
+find_match_count_limit[few]=Lebih daripada {{limit}} padanan
+find_match_count_limit[many]=Lebih daripada {{limit}} padanan
+find_match_count_limit[other]=Lebih daripada {{limit}} padanan
+find_not_found=Frasa tidak ditemui
+
+# Error panel labels
+error_more_info=Maklumat Lanjut
+error_less_info=Kurang Informasi
+error_close=Tutup
+# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
+# replaced by the PDF.JS version and build ID.
+error_version_info=PDF.js v{{version}} (build: {{build}})
+# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
+# english string describing the error.
+error_message=Mesej: {{message}}
+# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
+# trace.
+error_stack=Timbun: {{stack}}
+# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
+error_file=Fail: {{file}}
+# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
+error_line=Garis: {{line}}
+rendering_error=Ralat berlaku ketika memberikan halaman.
+
+# Predefined zoom values
+page_scale_width=Lebar Halaman
+page_scale_fit=Muat Halaman
+page_scale_auto=Zoom Automatik
+page_scale_actual=Saiz Sebenar
+# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
+# numerical scale value.
+page_scale_percent={{scale}}%
+
+# Loading indicator messages
+loading_error_indicator=Ralat
+loading_error=Masalah berlaku semasa menuatkan sebuah PDF.
+invalid_file_error=Tidak sah atau fail PDF rosak.
+missing_file_error=Fail PDF Hilang.
+unexpected_response_error=Respon pelayan yang tidak dijangka.
+
+# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
+# "{{type}}" will be replaced with an annotation type from a list defined in
+# the PDF spec (32000-1:2008 Table 169 â Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+text_annotation_type.alt=[{{type}} Anotasi]
+password_label=Masukan kata kunci untuk membuka fail PDF ini.
+password_invalid=Kata laluan salah. Cuba lagi.
+password_ok=OK
+password_cancel=Batal
+
+printing_not_supported=Amaran: Cetakan ini tidak sepenuhnya disokong oleh pelayar ini.
+printing_not_ready=Amaran: PDF tidak sepenuhnya dimuatkan untuk dicetak.
+web_fonts_disabled=Fon web dinyahdayakan: tidak dapat menggunakan fon terbenam PDF.
+document_colors_not_allowed=Dokumen PDF tidak dibenarkan untuk menggunakan warna sendiri: âIzinkan halaman untuk memilih warna sendiriâ telah dinyahaktifkan dalam pelayar.
diff --git a/browser/profile/bookmarks.inc b/browser/profile/bookmarks.inc
new file mode 100644
index 00000000000..f51a8ee8446
--- /dev/null
+++ b/browser/profile/bookmarks.inc
@@ -0,0 +1,72 @@
+# 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
+
+# LOCALIZATION NOTE: The 'en-US' strings in the URLs will be replaced with
+# your locale code, and link to your translated pages as soon as they're
+# live.
+
+#define bookmarks_title Tandabuku
+#define bookmarks_heading Tandabuku
+
+#define bookmarks_toolbarfolder Folder Bar Alat Tandabuku
+#define bookmarks_toolbarfolder_description Tambah tandabuku ke folder ini supaya dipapar dalam Bar alat Tandabuku
+
+# LOCALIZATION NOTE (getting_started):
+# link title for https://www.mozilla.org/en-US/firefox/central/
+#define getting_started Permulaan
+
+# LOCALIZATION NOTE (firefox_heading):
+# Firefox links folder name
+#define firefox_heading Mozilla Firefox
+
+# LOCALIZATION NOTE (firefox_help):
+# link title for https://www.mozilla.org/en-US/firefox/help/
+#define firefox_help Bantuan dan Tutorial
+
+# LOCALIZATION NOTE (firefox_customize):
+# link title for https://www.mozilla.org/en-US/firefox/customize/
+#define firefox_customize Penyesuaian Firefox
+
+# LOCALIZATION NOTE (firefox_community):
+# link title for https://www.mozilla.org/en-US/contribute/
+#define firefox_community Sertainya
+
+# LOCALIZATION NOTE (firefox_about):
+# link title for https://www.mozilla.org/en-US/about/
+#define firefox_about Perihal Kami
+
+# LOCALIZATION NOTE (nightly_heading):
+# Firefox Nightly links folder name
+#define nightly_heading Sumber Firefox Nightly
+
+# LOCALIZATION NOTE (nightly_blog):
+# Nightly builds only, link title for https://blog.nightly.mozilla.org/
+#define nightly_blog Blog Firefox Nightly
+
+# LOCALIZATION NOTE (bugzilla):
+# Nightly builds only, link title for https://bugzilla.mozilla.org/
+#define bugzilla Penjejak Pepijat Mozilla
+
+# LOCALIZATION NOTE (mdn):
+# Nightly builds only, link title for https://developer.mozilla.org/
+#define mdn Rangkaian Pembangun Mozilla
+
+# LOCALIZATION NOTE (nightly_tester_tools):
+# Nightly builds only, link title for https://addons.mozilla.org/en-US/firefox/addon/nightly-tester-tools/
+#define nightly_tester_tools Alatan Nightly Tester
+
+# LOCALIZATION NOTE (crashes):
+# Nightly builds only, link title for about:crashes
+#define crashes Semua ranap
+
+# LOCALIZATION NOTE (irc):
+# Nightly builds only, link title for ircs://irc.mozilla.org/nightly
+#define irc Bincangkan perihal Nightly di IRC
+
+# LOCALIZATION NOTE (planet):
+# Nightly builds only, link title for https://planet.mozilla.org/
+#define planet Planet Mozilla
+
+#unfilter emptyLines
diff --git a/browser/updater/updater.ini b/browser/updater/updater.ini
new file mode 100644
index 00000000000..f9a5fd0f177
--- /dev/null
+++ b/browser/updater/updater.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+# All strings must be less than 600 chars.
+[Strings]
+TitleText=Kemaskini %MOZ_APP_DISPLAYNAME%
+InfoText=%MOZ_APP_DISPLAYNAME% sedang memasang kemaskini dan akan mula semula sebentar lagiâ¦
+MozillaMaintenanceDescription=Mozilla Maintenance Service memastikan bahawa anda memiliki Mozilla Firefox versi terkini dan paling selamat untuk komputer anda. Perkhidmatan yang memastikan bahawa Firefox sentiasa terkini ini amat penting untuk keselamatan dalam talian anda, dan Mozilla mencadangkan supaya anda dayakan perkhidmatan ini.
diff --git a/calendar/chrome/calendar/calendar-alarms.properties b/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100644
index 00000000000..b2d3fed1b35
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-alarms.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/.
+
+# LOCALIZATION NOTE (reminderCustomTitle):
+# %1$S = unit, %2$S = reminderCustomOrigin
+# Example: "3 minutes" "before the task starts"
+reminderCustomTitle=%1$S %2$S
+reminderTitleAtStartEvent=Masa acara bermula
+reminderTitleAtStartTask=Masa tugasan bermula
+reminderTitleAtEndEvent=Masa acara berakhir
+reminderTitleAtEndTask=Masa tugasan berakhir
+
+# LOCALIZATION NOTE (reminderSnoozeOkA11y)
+# This string is not seen in the UI, it is read by screen readers when the user
+# focuses the "OK" button in the "Snooze for..." popup of the alarm dialog.
+# %1$S = any of unit*
+reminderSnoozeOkA11y=Lena peringatan sehingga %1$S
+
+reminderCustomOriginBeginBeforeEvent=sebelum acara bermula
+reminderCustomOriginBeginAfterEvent=selepas acara bermula
+reminderCustomOriginEndBeforeEvent=sebelum acara berakhir
+reminderCustomOriginEndAfterEvent=selepas acara berakhir
+reminderCustomOriginBeginBeforeTask=sebelum tugasan bermula
+reminderCustomOriginBeginAfterTask=selepas tugasan bermula
+reminderCustomOriginEndBeforeTask=sebelum tugasan berakhir
+reminderCustomOriginEndAfterTask=selepas tugasan berakhir
+
+reminderErrorMaxCountReachedEvent=Kalendar yang dipilih ada had #1 peringatan bagi setiap acara.;Kalendar yang dipilih ada had #1 peringatan bagi setiap acara.
+reminderErrorMaxCountReachedTask=Kalendar yang dipilih ada had #1 peringatan bagi setiap tugasan.;Kalendar yang dipilih ada had #1 peringatan bagi setiap tugasan.
+
+# LOCALIZATION NOTE (reminderReadonlyNotification)
+# This notification will be presented in the alarm dialog if reminders for not
+# writable items/calenddars are displayed.
+# %1$S - localized value of calendar.alarm.snoozeallfor.label (defined in calendar.dtd)
+reminderReadonlyNotification=Peringatan untuk kalendar baca-sahaja buat masa ini tidak boleh dilenakan tetapi hanya diabaikan - butang '%1$S' hanya akan melenakan peringatan untuk kalendar boleh ditulis.
+# LOCALIZATION NOTE (reminderDisabledSnoozeButtonTooltip)
+# This tooltip is only displayed, if the button is disabled
+reminderDisabledSnoozeButtonTooltip=Melenakan peringatan tidak disokong oleh kalendar baca-sahaja
diff --git a/calendar/chrome/calendar/calendar-event-dialog-attendees.properties b/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 00000000000..7be740b85ce
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog-attendees.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/.
+
+event.attendee.role.required = Peserta yang Diperlukan
+event.attendee.role.optional = Peserta Tambahan
+event.attendee.role.nonparticipant = Bukan Peserta
+event.attendee.role.chair = Pengerusi
+event.attendee.role.unknown = Peserta Tidak Diketahui (%1$S)
+
+event.attendee.usertype.individual = Individu
+event.attendee.usertype.group = Kumpulan
+event.attendee.usertype.resource = Sumber
+event.attendee.usertype.room = Bilik
+event.attendee.usertype.unknown = Jenis Tidak Diketahui (%1$S)
diff --git a/calendar/chrome/calendar/calendar-event-dialog.dtd b/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100644
index 00000000000..0980c484d6e
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-event-dialog.properties b/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100644
index 00000000000..7ed266e5035
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -0,0 +1,541 @@
+# 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 (dailyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Daily repeat rules
+# #1 - number
+# e.g. "every 4 days"
+dailyEveryNth=setiap hari;setiap #1 hari
+repeatDetailsRuleDaily4=setiap hari kerja
+
+# LOCALIZATION NOTE (weeklyNthOnNounclass...)
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday (one or more)
+# #2 - week interval
+# e.g. "every 3 weeks on Tuesday, Wednesday and Thursday
+weeklyNthOnNounclass1=setiap %1$S;setiap #2 minggu pada %1$S
+weeklyNthOnNounclass2=setiap %1$S;setiap #2 minggu pada %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=setiap minggu;setiap #1 minggu
+
+# LOCALIZATION NOTE ('repeatDetailsDay...' and 'repeatDetailsDay...Nounclass'):
+# Week days names and week days noun classes (feminine/masculine grammatical
+# gender) for languages that need different localization when weekdays nouns
+# have different noun classes (genders).
+# For every weekday, in 'repeatDetailsDay...Nounclass' strings write:
+# "nounclass1" for languages with grammatical genders -> MASCULINE gender;
+# for languages with noun classes -> a noun class;
+# for languages without noun classes or grammatical gender.
+#
+# "nounclass2" for languages with grammatical genders -> FEMININE gender;
+# for languages with noun classes -> a different noun class.
+#
+# "nounclass3", "nounclass4" and so on for languages that need more than two
+# noun classes for weekdays. In this case add corresponding
+# rule string with "Nounclass..." suffix and ordinal string
+# "repeatOrdinalxNounclass..."
+# Will be used rule strings with "Nounclass..." suffix corresponding to the
+# following strings if there is a weekday in the rule string.
+repeatDetailsDay1=Ahad
+repeatDetailsDay1Nounclass=nounclass1
+repeatDetailsDay2=Isnin
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=Selasa
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=Rabu
+repeatDetailsDay4Nounclass=nounclass1
+repeatDetailsDay5=Khamis
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=Jumaat
+repeatDetailsDay6Nounclass=nounclass1
+repeatDetailsDay7=Sabtu
+repeatDetailsDay7Nounclass=nounclass1
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=dan
+
+# LOCALIZATION NOTE (monthlyRuleNthOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of weekdays with ordinal, article and noun class/gender
+# (ordinal and weekday of every element in the list follow the order
+# and the rule of ordinalWeekdayOrder string)
+# #2 - interval
+# e.g. "the first Monday and the last Friday of every 3 months"
+monthlyRuleNthOfEveryNounclass1=%1$S setiap bulan;%1$S setiap #2 bulan
+monthlyRuleNthOfEveryNounclass2=%1$S setiap bulan;%1$S setiap #2 bulan
+
+# LOCALIZATION NOTE (ordinalWeekdayOrder):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# This string allows to change the order of the elements "ordinal" and
+# "weekday" (or to insert a word between them) for the argument %1$S of the
+# string monthlyRuleNthOfEveryNounclass...
+# Without changing this string, the order is that one required from most
+# languages: ordinal + weekday (e.g. "'the first' 'Monday' of every 2 months").
+# %1$S - ordinal with article
+# %2$S - weekday noun
+# e.g. "'the first' 'Monday'"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+ordinalWeekdayOrder=%1$S %2$S
+
+# LOCALIZATION NOTE (monthlyEveryOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of single weekdays and/or weekdays with ordinal, article and
+# noun class/gender when rule contains also specific day in the month
+# #2 - interval
+# e.g. "every Monday, Tuesday and the second Sunday of every month"
+monthlyEveryOfEveryNounclass1=setiap %1$S setiap bulan;setiap %1$S setiap #2 bulan
+monthlyEveryOfEveryNounclass2=setiap %1$S setiap bulan;setiap %1$S setiap #2 bulan
+
+# LOCALIZATION NOTE (monthlyDaysOfNth_day):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month or a sequence of days of month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties) separated with commas;
+# e.g. "days 3, 6 and 9" or "days 3rd, 6th and 9th"
+monthlyDaysOfNth_day=hari %1$S;hari %1$S
+
+# LOCALIZATION NOTE (monthlyDaysOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - it's the string monthlyDaysOfNth_day: day of month or a sequence of days
+# of month, possibly followed by an ordinal symbol, separated with commas;
+# #2 - monthly interval
+# e.g. "days 3, 6, 9 and 12 of every 3 months"
+monthlyDaysOfNth=%1$S setiap bulan;%1$S setiap #2 bulan
+
+# LOCALIZATION NOTE (monthlyLastDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month
+# #2 - month interval
+# e.g. "the last day of every 3 months"
+monthlyLastDayOfNth=hari terakhir bulan; hari terakhir setiap #1 bulan
+
+# LOCALIZATION NOTE (monthlyEveryDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# #2 - month interval
+# e.g. "every day of the month every 4 months"
+monthlyEveryDayOfNth=setiap hari setiap bulan;setiap hari setiap #2 bulan
+
+# LOCALIZATION NOTE (repeatOrdinal...Nounclass...):
+# Ordinal numbers nouns for every noun class (grammatical genders) of weekdays
+# considered in 'repeatDetailsDayxNounclass' strings. For languages that need
+# localization according to genders or noun classes.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add 'repeatOrdinal...Nounclass' strings with suffix 3, 4 and so on for
+# languages with more than two noun classes for weekdays. In this case
+# must be added corresponding rule strings with 'Nounclass...' suffix and
+# corresponding values "nounclass..." must be written in
+# 'repeatDetailsDayxNounclass' strings.
+repeatOrdinal1Nounclass1=yang pertama
+repeatOrdinal2Nounclass1=yang kedua
+repeatOrdinal3Nounclass1=yang ketiga
+repeatOrdinal4Nounclass1=yang keempat
+repeatOrdinal5Nounclass1=yang kelima
+repeatOrdinal-1Nounclass1=yang terakhir
+repeatOrdinal1Nounclass2=yang pertama
+repeatOrdinal2Nounclass2=yang kedua
+repeatOrdinal3Nounclass2=yang ketiga
+repeatOrdinal4Nounclass2=yang keempat
+repeatOrdinal5Nounclass2=yang kelima
+repeatOrdinal-1Nounclass2=yang terakhir
+
+# LOCALIZATION NOTE (yearlyNthOn):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# %1$S - month name
+# %2$S - day of month possibly followed by an ordinal symbol (depending on the string
+# dayOrdinalSymbol in dateFormat.properties)
+# #3 - yearly interval
+# e.g. "every 3 years on December 14"
+# "every 2 years on December 8th"
+yearlyNthOn=setiap %2$S %1$S;setiap #3 tahun pada %2$S %1$S
+
+# LOCALIZATION NOTE (yearlyNthOnNthOfNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - ordinal with article and noun class/gender corresponding to weekday
+# %2$S - weekday
+# %3$S - month
+# #4 - yearly interval
+# e.g. "the second Monday of every March"
+# e.g "every 3 years the second Monday of March"
+yearlyNthOnNthOfNounclass1=%2$S %1$S setiap %3$S;setiap #4 tahun pada %2$S %1$S %3$S
+yearlyNthOnNthOfNounclass2=%2$S %1$S setiap %3$S;setiap #4 tahun pada %2$S %1$S %3$S
+
+# LOCALIZATION NOTE (yearlyOnEveryNthOfNthNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday
+# %2$S - month
+# #3 - yearly interval
+# e.g. "every Thursday of March"
+# e.g "every 3 years on every Thursday of March"
+yearlyOnEveryNthOfNthNounclass1=setiap %1$S %2$S;setiap #3 tahun pada setiap %1$S %2$S
+yearlyOnEveryNthOfNthNounclass2=setiap %1$S %2$S;setiap #3 tahun pada setiap %1$S %2$S
+
+#LOCALIZATION NOTE (yearlyEveryDayOf):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# This string describes part of a yearly rule which includes every day of a month.
+# %1$S - month
+# #2 - yearly interval
+# e.g. "every day of December"
+# e.g. "every 3 years every day of December"
+yearlyEveryDayOf=setiap hari %1$S;setiap #2 tahun setiap hari %1$S
+
+repeatDetailsMonth1=Januari
+repeatDetailsMonth2=Februari
+repeatDetailsMonth3=Mac
+repeatDetailsMonth4=April
+repeatDetailsMonth5=Mei
+repeatDetailsMonth6=Jun
+repeatDetailsMonth7=Julai
+repeatDetailsMonth8=Ogos
+repeatDetailsMonth9=September
+repeatDetailsMonth10=Oktober
+repeatDetailsMonth11=November
+repeatDetailsMonth12=Disember
+
+# LOCALIZATION NOTE (repeatCount):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# #5 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# from 5:00 PM to 6:00 PM"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times
+# from 5:00 PM to 6:00 PM"
+repeatCount=Berlaku pada %1$S\n efektif %2$S untuk #5 kali\ndari %3$S hingga %4$S.;Berlaku pada %1$S\nefektif %2$S untuk #5 kali\ndari %3$S hingga %4$S.
+
+# LOCALIZATION NOTE (repeatCountAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# #3 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times"
+repeatCountAllDay=Berlaku pada %1$S\n efektif %2$S untuk #3 kali.;Berlaku pada %1$S\n efektif %2$S untuk #3 kali.
+
+# LOCALIZATION NOTE (repeatDetailsUntil):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# %4$S - event start time (e.g. hh:mm (PM/AM))
+# %5$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with weeklyNthOn:
+# "Occurs every 2 weeks on Sunday and Friday
+# effective 1/1/2009 until 1/1/2010
+# from 5:00 PM to 6:00 PM"
+repeatDetailsUntil=Berlaku pada %1$S\n efektif %2$S sehingga %3$S\n dari %4$S hingga %5$S.
+
+# LOCALIZATION NOTE (repeatDetailsUntilAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009 until 1/1/2010"
+repeatDetailsUntilAllDay=Berlaku pada %1$S\n efektif %2$S sehingga %3$S.
+
+# LOCALIZATION NOTE (repeatDetailsInfinite):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with monthlyDaysOfNth:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009
+# from 5:00 PM to 6:00 PM"
+repeatDetailsInfinite=Berlaku pada %1$S\n efektif %2$S\n dari %3$S hingga %4$S.
+
+# LOCALIZATION NOTE (repeatDetailsInfiniteAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009"
+repeatDetailsInfiniteAllDay=Berlaku pada %1$S\n efektif %2$S.
+
+# LOCALIZATION NOTE (monthlyLastDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# A monthly rule with one or more days of the month (monthlyDaysOfNth) and the
+# string "the last day" of the month.
+# e.g.: "Occurs day 15, 20, 25 and the last day of every 3 months"
+monthlyLastDay=hari terakhir
+
+# LOCALIZATION NOTE (ruleTooComplex):
+# This string is shown in the repeat details area if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplex=Klik di sini untuk maklumat lanjut
+
+# LOCALIZATION NOTE (ruleTooComplexSummary):
+# This string is shown in the event summary dialog if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplexSummary=Ulang butiran yang tidak diketahui
+
+# differences between the dialog for an Event or a Task
+newEvent=Acara Baru
+newTask=Tugasan Baru
+itemMenuLabelEvent=Acara
+itemMenuAccesskeyEvent2=A
+itemMenuLabelTask=Tugasan
+itemMenuAccesskeyTask2=T
+
+emailSubjectReply=Re: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=Sila tentukan lokasi pautan
+enterLinkLocation=Masukkan halaman web, atau lokasi dokumen.
+
+summaryDueTaskLabel=Genap tempoh:
+
+# Attach File Dialog
+attachViaFilelink=Fail menggunakan %1$S
+selectAFile=Sila pilih fail untuk dilampirkan
+removeCalendarsTitle=Buang Lampiran
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=Adakah anda mahu mengalih keluar lampiran #1?
+
+# Recurrence Dialog Widget Order
+# LOCALIZATION NOTE: You can change the order of below params
+# Edit recurrence window -> Recurrence pattern -> Repeat monthly
+# %1$S - ordinal with article, %2$S - weekday
+# e.g. "the First Saturday"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+monthlyOrder=%1$S %2$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - day of month, %2$S - of, %3$S - month
+# e.g. "6 [of] September"
+# If you don't need %2$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder=%1$S %2$S %3$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - ordinal with article, %2$S - weekday, %3$S - of, %4$S - month
+# e.g. "the First Saturday of September"
+# If you don't need %3$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder2=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (pluralForWeekdays):
+# This string allows to set the use of weekdays nouns in plural form for
+# languages that need them in sentences like "every Monday" or "every Sunday
+# of March" etc.
+# Rule strings involved by this setting are:
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+# In your local write:
+# "true" if sentences like those above need weekday in plural form;
+# "false" if sentences like those above don't need weekday in plural form;
+pluralForWeekdays=false
+
+# LOCALIZATION NOTE (repeatDetailsDayxxxPlural):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# Weekdays in plural form used inside sentences like "every Monday" or
+# "every Sunday of May" etc. for languages that need them.
+# These plurals will be used inside the following rule strings only if string
+# 'pluralForWeekdays' (see above) is set to "true":
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+repeatDetailsDay1Plural=Ahad
+repeatDetailsDay2Plural=Isnin
+repeatDetailsDay3Plural=Selasa
+repeatDetailsDay4Plural=Rabu
+repeatDetailsDay5Plural=Khamis
+repeatDetailsDay6Plural=Jumaat
+repeatDetailsDay7Plural=Sabtu
+
+# LOCALIZATION NOTE (eventRecurrenceForeverLabel):
+# Edit/New Event dialog -> datepicker that sets the until date.
+# For recurring rules that repeat forever, this labels appears in the
+# datepicker, below the minimonth, as an option for the until date.
+eventRecurrenceForeverLabel=Selamanya
+
+# LOCALIZATION NOTE (eventRecurrenceMonthlyLastDayLabel):
+# Edit dialog recurrence -> Monthly Recurrence pattern -> Monthly daypicker
+# The label on the monthly daypicker's last button that allows to select
+# the last day of the month inside a BYMONTHDAY rule.
+eventRecurrenceMonthlyLastDayLabel=Hari terakhir
+
+# LOCALIZATION NOTE (counterSummaryAccepted) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryAccepted=%1$S telah menerima jemputan, tapi membuat cadangan balas:
+
+# LOCALIZATION NOTE (counterSummaryDeclined) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDeclined=%1$S telah menolak jemputan, tapi membuat cadangan balas:
+
+# LOCALIZATION NOTE (counterSummaryDelegated) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDelegated=%1$S telah mewakilkan jemputan, tapi membuat cadangan balas:
+
+# LOCALIZATION NOTE (counterSummaryNeedsAction) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryNeedsAction=%1$S masih belum buat keputusan untuk menyertai dan membuat cadangan balas:
+
+# LOCALIZATION NOTE (counterSummaryTentative) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryTentative=%1$S telah menerima jemputan hanya secara tentatif dan membuat cadangan balas:
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=Ini ialah cadangan balas bagi versi terdahulu acara ini.
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=Anda tidak izinkan cadangan balas apabila menghantar jemputan ini.
+
+# LOCALIZATION NOTE (eventAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation
+eventAccepted=Anda telah menerima jemputan ini
+
+# LOCALIZATION NOTE (eventTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation tentatively
+eventTentative=Anda telah menerima jemputan ini secara tentatif
+
+# LOCALIZATION NOTE (eventDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the event invitation
+eventDeclined=Anda telah menolak jemputan ini
+
+# LOCALIZATION NOTE (eventDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her participation to one
+# or more other participants (without attending / working on it his/herself)
+eventDelegated=Anda telah mewakilkan jemputan ini
+
+# LOCALIZATION NOTE (eventNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to an invitation
+eventNeedsAction=Anda masih belum memberi respons kepada jemputan ini
+
+# LOCALIZATION NOTE (taskAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the assigned task
+taskAccepted=Anda telah menerima untuk melaksanakan tugasan ini
+
+# LOCALIZATION NOTE (taskTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted tentatively the assigned task
+taskTentative=Anda telah menerima untuk melaksanakan tugasan ini secara tentatif
+
+# LOCALIZATION NOTE (taskDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the assigned task
+taskDeclined=Anda telah menolak untuk melaksanakan tugasan ini
+
+# LOCALIZATION NOTE (taskDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her assignement to one or
+# more others (without attending / working on it his/herself)
+taskDelegated=Anda telah mewakilkan untuk melaksanakan tugasan ini
+
+# LOCALIZATION NOTE (taskNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to the task assignment
+taskNeedsAction=Anda masih belum memberi respons kepada tugasan ini
+
+# LOCALIZATION NOTE (taskInProgress) - this will be displayed as notification
+# in the summary dialog if the user is working on an assigned task
+taskInProgress=Anda telah mula melaksanakan tugasan yang ditetapkan ini
+
+# LOCALIZATION NOTE (taskCompleted) - this will be displayed as notification
+# in the summary dialog if the user has completed the work on this assigned task
+taskCompleted=Anda telah selesai melaksanakan tugasan yang ditetapkan ini
+
+# LOCALIZATION NOTE (sendandcloseButtonLabel) - this is a runtime replacement for
+# event.toolbar.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonLabel=Hantar dan Tutup
+
+# LOCALIZATION NOTE (sendandcloseButtonTooltip) - this is a runtime replacement for
+# event.toolbar.saveandclose.tooltip in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonTooltip=Maklumkan peserta dan tutup
+
+# LOCALIZATION NOTE (saveandsendButtonLabel) - this is a runtime replacement for
+# event.toolbar.save.label2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonLabel=Simpan dan Hantar
+
+# LOCALIZATION NOTE (saveandsendButtonTooltip) - this is a runtime replacement
+# for event.toolbar.save.tooltip2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonTooltip=Simpan dan maklumkan peserta
+
+# LOCALIZATION NOTE (saveandsendMenuLabel) - this is a runtime replacement for
+# event.menu.item.save.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendMenuLabel=Simpan dan Hantar
+
+# LOCALIZATION NOTE (sendandcloseMenuLabel) - this is a runtime replacement for
+# event.menu.item.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+sendandcloseMenuLabel=Hantar dan Tutup
+
+# LOCALIZATION NOTE (attendeesTabLabel) - this is a runtime replacement for
+# event.attendees.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attendee
+# %1$S - the number of attendee (1-n)
+attendeesTabLabel=Peserta (%1$S):
+
+# LOCALIZATION NOTE (attachmentsTabLabel) - this is a runtime replacement for
+# event.attachments.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attachment
+# %1$S - the number of attachments (1-n)
+attachmentsTabLabel=Lampiran (%1$S):
diff --git a/calendar/chrome/calendar/calendar-extract.properties b/calendar/chrome/calendar/calendar-extract.properties
new file mode 100644
index 00000000000..8a5dc4e2131
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-extract.properties
@@ -0,0 +1,294 @@
+# 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:
+# Strings here are used to create events and tasks with start and end times
+# based on email content.
+# None of the strings are displayed in the user interface.
+#
+# You don't have to fill all from.*, until.*, *.prefix and *.suffix patterns.
+# It's ok to leave some empty.
+# Please consider declensions and gender if your language has them.
+# Don't just translate directly. The number of variants doesn't have to be
+# the same as in en-US. All of 0, 1, 2, etc is allowed in patterns except alphabet
+# pattern. You can and should add language specific variants.
+#
+# There are two different ways to find a start time text in email:
+# 1) it matches a from.* pattern and does not have end.prefix or end.suffix next to it
+# 2) it matches until.* pattern and has start.prefix or start.suffix next to it
+# Similar inverse logic applies to end times.
+# These rules enable using prefix and suffix values with only start.* or only until.*
+# patterns localized for some languages and thus not having to repeat the same
+# values in both.
+#
+# Patterns are partially space-insensitive.
+# "deadline is" pattern will find both "deadlineis" and "deadline is"
+# but "deadlineis" won't find "deadline is" or "deadline is".
+# Therefore you should include all spaces that are valid within a pattern.
+
+# LOCALIZATION NOTE (start.prefix):
+# datetimes with these in front are extracted as start times
+# can be a list of values, separate variants by |
+start.prefix =
+
+# LOCALIZATION NOTE (start.suffix):
+# datetimes followed by these are extracted as start times
+start.suffix = pada | sehingga | hingga | - | hgga | hgga | dan
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+end.prefix = pada | hingga | ke | - | hgga | hgga | dan | tamat: | tamat |berakhir | tamat tempoh pada | tamat tempoh:
+
+# LOCALIZATION NOTE (end.suffix):
+# datetimes followed by these are extracted as end times
+# can be a list of values, separate variants by |
+end.suffix =
+
+# LOCALIZATION NOTE (no.datetime.prefix):
+# datetimes with these in front won't be used
+# specify full words here
+no.datetime.prefix = minggu lepas | dihantar | e-mel | e-mel | bukannya | > | malangnya | dalam | tidak
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+no.datetime.suffix = tingkat | tkt | : | e-mel | e-mel | > | % | rm | ringgit | RM
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today = hari ini
+
+from.tomorrow = esok
+# LOCALIZATION NOTE (until.*):
+# can be a list of values, separate variants by |
+until.tomorrow =
+
+# LOCALIZATION NOTE (from.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+# should not have "#1" as this would match any single number in email to a time
+from.ordinal.date = #1 | #1 | #1 | #1
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+until.ordinal.date =
+
+from.noon = tengahari
+until.noon =
+
+# LOCALIZATION NOTE (from.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should not have "#1" as this would match any single number in email to a time
+from.hour = pada #1 | sekitar #1 | #1 - | #1 hingga
+
+# LOCALIZATION NOTE (until.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour = - #1 | hingga #1 | sehingga #1 | pada #1
+
+# LOCALIZATION NOTE (from.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.am = #1 am | #1 a.m
+
+# LOCALIZATION NOTE (until.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.am =
+
+# LOCALIZATION NOTE (from.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.pm = #1 pm | #1 p.m | #1 p
+
+# LOCALIZATION NOTE (until.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.pm =
+
+# LOCALIZATION NOTE (from.half.hour.before):
+# denotes times 30 minutes before next full hour
+from.half.hour.before = setengah jam sebelum #1
+
+# LOCALIZATION NOTE (until.half.hour.before):
+# denotes times 30 minutes before next full hour
+until.half.hour.before =
+
+# LOCALIZATION NOTE (from.half.hour.after):
+# denotes times 30 minutes after last full hour
+from.half.hour.after = setengah jam selepas #1
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+until.half.hour.after =
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes = #1:#2 | pada #1#2
+
+# LOCALIZATION NOTE (until.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes =
+
+# LOCALIZATION NOTE (from.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.am = #1:#2 am | #1:#2 a.m
+
+# LOCALIZATION NOTE (until.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.am =
+
+# LOCALIZATION NOTE (from.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.pm = #1:#2 pm | #1:#2 p.m | #1:#2 p
+
+# LOCALIZATION NOTE (until.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.pm =
+
+# LOCALIZATION NOTE (from.monthname.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches monthname
+from.monthname.day = #1 #2 | #1 #2
+
+# LOCALIZATION NOTE (until.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+until.monthname.day =
+
+# LOCALIZATION NOTE (from.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+from.month.day = #1/#2
+
+# LOCALIZATION NOTE (until.month.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches numbers 1-12
+until.month.day =
+
+# LOCALIZATION NOTE (from.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+from.year.month.day = #1#2#3 | #1/#2/#3 | #3-#2-#1
+
+# LOCALIZATION NOTE (until.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+until.year.month.day =
+
+# LOCALIZATION NOTE (from.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+from.year.monthname.day = #1 #2 #3
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+until.year.monthname.day =
+
+# LOCALIZATION NOTE (duration.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (duration.minutes):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.minutes = #1 minit | #1 min | #1 min
+
+# LOCALIZATION NOTE (duration.hours):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.hours = #1 jam | #1 jam
+
+# LOCALIZATION NOTE (duration.days):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.days = #1 hari
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = januari | jan | jan.
+month.2 = februari | feb | feb.
+month.3 = mac | mac | mac.
+month.4 = april | apr | apr.
+month.5 = mei
+month.6 = jun | jun | jun.
+month.7 = julai | jul | jul.
+month.8 = ogos | ogo | ogo.
+month.9 = september | sep | sep. | sept.
+month.10 = oktober | okt | okt.
+month.11 = november | nov | nov.
+month.12 = disember | dis | dis.
+
+# LOCALIZATION NOTE (from.weekday.*):
+# used to derive start date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (from.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+from.weekday.0 = ahad | ahad
+from.weekday.1 = isnin | isnin
+from.weekday.2 = selasa | selasa
+from.weekday.3 = rabu | rabu
+from.weekday.4 = khamis | khamis
+from.weekday.5 = jumaat | jumaat
+from.weekday.6 = sabtu | sabtu
+
+# LOCALIZATION NOTE (until.weekday.*):
+# used to derive end date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (until.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+until.weekday.0 =
+until.weekday.1 =
+until.weekday.2 =
+until.weekday.3 =
+until.weekday.4 =
+until.weekday.5 =
+until.weekday.6 =
+
+# LOCALIZATION NOTE (number.*):
+# used within other patterns to understand dates where day of month isn't written with digits
+# can be a list of values, separate variants by |
+number.0 = kosong
+number.1 = satu | pertama
+number.2 = dua | kedua
+number.3 = tiga | ketiga
+number.4 = empat | keempat
+number.5 = lima | kelima
+number.6 = enam | keenam
+number.7 = tujuh | ketujuh
+number.8 = lapan | kelapan
+number.9 = sembilan | kesembilan
+number.10 = sepuluh | kesepuluh
+number.11 = sebelas | kesebelas
+number.12 = dua belas | kedua belas
+number.13 = tiga belas | ketiga belas
+number.14 = empat belas | keempat belas
+number.15 = lima belas | kelima belas
+number.16 = enam belas | keenam belas
+number.17 = tujuh belas | ketujuh belas
+number.18 = lapan belas | kelapan belas
+number.19 = sembilan belas | kesembilan belas
+number.20 = dua puluh | kedua puluh
+number.21 = dua puluh satu | kedua puluh satu
+number.22 = dua puluh dua | kedua puluh dua
+number.23 = dua puluh tiga | kedua puluh tiga
+number.24 = dua puluh empat| kedua puluh empat
+number.25 = dua puluh lima | kedua puluh lima
+number.26 = dua puluh enam | kedua puluh enam
+number.27 = dua puluh tujuh | kedua puluh tujuh
+number.28 = dua puluh lapan| kedua puluh lapan
+number.29 = dua puluh sembilan | kedua puluh sembilan
+number.30 = tiga puluh | ketiga puluh
+number.31 = tiga puluh satu | ketiga puluh satu
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
+alphabet = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
diff --git a/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 00000000000..2b9458fe67e
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-invitations-dialog.dtd
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-occurrence-prompt.dtd b/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 00000000000..33876882396
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 00000000000..a3df3f11a83
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-occurrence-prompt.properties
@@ -0,0 +1,63 @@
+# 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/.
+
+header.isrepeating.event.label=ialah acara ulangan
+header.isrepeating.task.label=ialah tugasan ulangan
+
+header.containsrepeating.event.label=mengandungi acara ulangan
+header.containsrepeating.task.label=mengandungi tugasan ulangan
+header.containsrepeating.mixed.label=mengandungi item ulangan berlainan jenis
+
+windowtitle.event.copy=Salin Acara Ulangan
+windowtitle.task.copy=Salin Tugasan Ulangan
+windowtitle.mixed.copy=Salin Item Ulangan
+windowtitle.event.cut=Potong Acara Ulangan
+windowtitle.task.cut=Potong Tugasan Ulangan
+windowtitle.mixed.cut=Potong Item Ulangan
+windowtitle.event.delete=Buang Acara Ulangan
+windowtitle.task.delete=Buang Tugasan Ulangan
+windowtitle.mixed.delete=Buang Item Ulangan
+windowtitle.event.edit=Edit Acara Ulangan
+windowtitle.task.edit=Edit Tugasan Ulangan
+
+buttons.occurrence.delete.label=Buang hanya pengulangan ini
+buttons.occurrence.edit.label=Edit hanya pengulangan ini
+
+buttons.allfollowing.delete.label=Buang pengulangan ini dan yang akan datang
+buttons.allfollowing.edit.label=Edit pengulangan ini dan yang akan datang
+
+buttons.parent.delete.label=Buang semua pengulangan
+buttons.parent.edit.label=Edit semua pengulangan
+windowtitle.mixed.edit=Edit Item Ulangan
+windowtitle.multipleitems=Item dipilih
+
+buttons.single.occurrence.copy.label=Salin hanya kejadian ini
+buttons.single.occurrence.cut.label=Potong hanya kejadian ini
+buttons.single.occurrence.delete.label=Buang hanya kejadian ini
+buttons.single.occurrence.edit.label=Edit hanya kejadian ini
+
+buttons.multiple.occurrence.copy.label=Salin hanya pengulangan dipilih
+buttons.multiple.occurrence.cut.label=Potong hanya pengulangan dipilih
+buttons.multiple.occurrence.delete.label=Buang hanya pengulangan dipilih
+buttons.multiple.occurrence.edit.label=Edit hanya pengulangan dipilih
+
+buttons.single.allfollowing.copy.label=Salin pengulangan ini dan yang akan datang
+buttons.single.allfollowing.cut.label=Potong pengulangan ini dan yang akan datang
+buttons.single.allfollowing.delete.label=Buang pengulangan ini dan yang akan datang
+buttons.single.allfollowing.edit.label=Edit pengulangan ini dan yang akan datang
+
+buttons.multiple.allfollowing.copy.label=Salin pengulangan dipilih dan yang akan datang
+buttons.multiple.allfollowing.cut.label=Potong pengulangan dipilih dan yang akan datang
+buttons.multiple.allfollowing.delete.label=Buang pengulangan dipilih dan yang akan datang
+buttons.multiple.allfollowing.edit.label=Edit pengulangan dipilih dan yang akan datang
+
+buttons.single.parent.copy.label=Salin semua pengulangan
+buttons.single.parent.cut.label=Potong semua pengulangan
+buttons.single.parent.delete.label=Buang semua pengulangan
+buttons.single.parent.edit.label=Edit semua pengulangan
+
+buttons.multiple.parent.copy.label=Salin semua pengulangan item dipilih
+buttons.multiple.parent.cut.label=Potong semua pengulangan item dipilih
+buttons.multiple.parent.delete.label=Buang semua pengulangan item dipilih
+buttons.multiple.parent.edit.label=Edit semua pengulangan item dipilih
diff --git a/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd b/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
new file mode 100644
index 00000000000..78f53ab80f5
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar.dtd b/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 00000000000..28a63f777bc
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,411 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar.properties b/calendar/chrome/calendar/calendar.properties
new file mode 100644
index 00000000000..f7eedcf2661
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.properties
@@ -0,0 +1,806 @@
+# 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/.
+
+# Misc. strings in JS
+
+# LOCALIZATION NOTE (PrintPreviewWindowTitle):
+# %1$S will be replaced with the title of a html frame
+PrintPreviewWindowTitle=Previu Cetakan %1$S
+Untitled=Tiada tajuk
+
+# Default name for new events
+newEvent=Acara Baru
+
+# Titles for the event/task dialog
+newEventDialog=Acara Baru
+editEventDialog=Edit Acara
+newTaskDialog=Tugasan Baru
+editTaskDialog=Edit Tugasan
+
+# Do you want to save changes?
+askSaveTitleEvent=Simpan Acara
+askSaveTitleTask=Simpan Tugasan
+askSaveMessageEvent=Acara masih belum disimpan. Anda mahu simpan acara ini?
+askSaveMessageTask=Tugasan masih belum disimpan. Anda mahu simpan tugasan ini?
+
+# Event Dialog Warnings
+warningEndBeforeStart=Tarikh tamat yang anda masukkan berlaku sebelum tarikh mula
+warningUntilDateBeforeStart=Tarikh tempoh berlaku sebelum tarikh mula
+
+# The name of the calendar provided with the application by default
+homeCalendarName=Laman
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=Kalendar Tanpa Tajuk
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =Tentatif
+statusConfirmed =Disahkan
+eventStatusCancelled=Dibatalkan
+todoStatusCancelled =Dibatalkan
+statusNeedsAction =Perlu Tindakan
+statusInProcess =Dalam Proses
+statusCompleted =Selesai
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=Tinggi
+normalPriority=Normal
+lowPriority=Rendah
+
+importPrompt=Kalendar mana yang anda mahu import item ini?
+exportPrompt=Kalendar mana yang anda mahu eksport itemnya?
+pastePrompt=Kalendar boleh tulis semasa mana satu yang anda mahu tampal?
+publishPrompt=Kalendar mana yang anda mahu terbitkan?
+
+# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among
+# others also a meeting invitation - this is used as a affix in
+# pasteNotifyAbout
+pasteEventAlso=Tempel termasuk mesyuarat
+# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among
+# others also several meeting invitations - this is used as a affix in
+# pasteNotifyAbout
+pasteEventsAlso=Tempel termasuk mesyuarat
+# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among
+# others also an assigned task - this is used as a affix in pasteNotifyAbout
+pasteTaskAlso=Tempel termasuk tugasan yang ditetapkan
+# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among
+# others also several assigned tasks - this is used as a affix in
+# pasteNotifyAbout
+pasteTasksAlso=Tempel termasuk tugasan yang ditetapkan
+# LOCALIZATION NOTE (pasteItemsAlso): The users pasting operation includes among
+# others also assigned task(s) and meeting invitation(s) - this is used as a affix
+# in pasteNotifyAbout
+pasteItemsAlso=Tempel termasuk mesyuarat dan tugasan yang ditetapkan
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting -
+# this is used as a affix in pasteNotifyAbout
+pasteEventOnly=Anda menempelkan mesyuarat
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings -
+# this is used as a affix in pasteNotifyAbout
+pasteEventsOnly=Anda menempelkan mesyuarat
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task -
+# this is used as a affix in pasteNotifyAbout
+pasteTaskOnly=Anda menempelkan tugasan yang ditetapkan
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned
+# tasks - this is used as a affix in pasteNotifyAbout
+pasteTasksOnly=Anda menempelkan tugasan yang ditetapkan
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and
+# meeting(s) - this is used as a affix in pasteNotifyAbout
+pasteItemsOnly=Anda menempelkan mesyuarat dan tugasan yang ditetapkan
+
+# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation
+# or assigned task
+# %1$S - pasteEvent* or pasteTask*
+pasteNotifyAbout=%1$S - adakah anda mahu menghantar kemaskini kepada setiap pihak yang terlibat?
+
+# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteAndNotifyLabel=Tampal dan hantar sekarang
+# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteDontNotifyLabel=Tampal tanpa menghantar
+
+# LOCALIZATION NOTE (importItemsFailed):
+# %1$S will be replaced with number of failed items
+# %2$S will be replaced with last error code / error string
+importItemsFailed=%1$S item gagal diimport. Ralatnya ialah: %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile):
+# %1$S will be replaced with file path
+noItemsInCalendarFile=Gagal diimport daripada %1$S. Tiada item fail yang boleh diimport.
+
+#spaces needed at the end of the following lines
+eventDescription=Keterangan:
+
+unableToRead=Tidak dapat membaca fail:
+unableToWrite=Tidak dapat menulis fail:
+defaultFileName=MozillaCalEvents
+HTMLTitle=Kalendar Mozilla
+
+# LOCALIZATION NOTE (timezoneError):
+# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics'
+# %1$S will be replaced with the path to a file
+timezoneError=Zun masa yang tidak diketahui dan tidak ditakrif semasa membaca %1$S.
+
+# LOCALIZATION NOTE (duplicateError):
+# %1$S will be replaced with number of duplicate items
+# %2$S will be replaced with a file path pointing to a calendar
+duplicateError=%1$S item diabaikan kerana wujud dalam kedua-dua kalendar destinasi dan %2$S.
+
+unableToCreateProvider=Ada ralat semasa menyediakan kalendar untuk digunakan di lokasi %1$S. Kalendar tidak disediakan.
+unknownTimezonesError=Ada ralat semasa menyediakan kalendar untuk digunakan di lokasi %1$S. Kalendar mungkin dirujuk dalam zon masa yang tidak diketahui. Sila pasang calendar-timezones.xpi yang terkini.
+missingCalendarTimezonesError=Tiada zon masa ditemukan. Sila pasang calendar-timezones.xpi.
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=Zon masa tidak diketahui "%1$S" di "%2$S". Dianggap sebagai zon masa tempatan 'tergantung', bukannya: %3$S
+TimezoneErrorsAlertTitle=Ralat Zon Masa
+TimezoneErrorsSeeConsole=Lihat Konsol Ralat: Zon masa tidak diketahui dianggap sebagai zon masa tempatan 'tergantung'.
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=Buang Kalendar
+removeCalendarButtonDelete=Buang Kalendar
+removeCalendarButtonUnsubscribe=Batal langganan
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=Anda mahu buang kalendar "%1$S"? Membatalkan langganan akan mengeluarkan kalendar daripada senarai dan akan turut menghapuskan data di dalamnya.
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=Anda mahu buang kalendar "%1$S" secara kekal?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageUnsubscribe=Anda mahu membatalkan langgaan kalendar "%1$S"?
+
+WeekTitle=Minggu %1$S
+None=Tiada
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+tooNewSchemaErrorBoxTitle=Kalendar anda tidak serasi dengan %1$S versi ini
+
+# LOCALIZATION NOTE (tooNewSchemaErrorBoxTextLightning):
+# %1$S will be replaced with the name of the calendar application e.g. 'Lightning'
+# %2$S will be replaced with the name of the host application 'calendar'
+tooNewSchemaErrorBoxTextLightning=Data kalendar dalam profil anda dikemaskini oleh %1$S versi yang terbaru, dan meneruskannya mungkin akan menyebabkan kehilangan atau kerosakan maklumat. %1$S akan dinyahdayakan dan %2$S dimulakan semula.
+
+# LOCALIZATION NOTE (tooNewSchemaButtonRestart):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonRestart=Mulakan semula %1$S
+
+# LOCALIZATION NOTE (tooNewSchemaButtonQuit):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonQuit=Keluar %1$S
+
+# List of events or todos (unifinder)
+eventUntitled=Tiada tajuk
+
+# Tooltips of events or todos
+tooltipTitle=Tajuk:
+tooltipLocation=Lokasi:
+# event date, usually an interval, such as
+# Date: 7:00--8:00 Thu 9 Oct 2011
+# Date: Thu 9 Oct 2000 -- Fri 10 Oct 2000
+tooltipDate=Tarikh:
+# event calendar name
+tooltipCalName=Nama Kalendar:
+# event status: tentative, confirmed, cancelled
+tooltipStatus=Status:
+# event organizer
+tooltipOrganizer=Penganjur:
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+tooltipStart=Mula:
+tooltipDue=Genap tempoh:
+tooltipPriority=Prioriti:
+tooltipPercent=% Selesai:
+tooltipCompleted=Selesai:
+
+# Tooltips for attendees and organizer in event and summary dialog
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendee.combined): tooltip for itip icon in summary/event dialog.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of dialog.tooltip.attendeeRole2.*
+# %2$S - value of dialog.tooltip.attendeePartStat2.*
+dialog.tooltip.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.CHAIR): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.CHAIR=%1$S mempengerusikan acara.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.NON-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.NON-PARTICIPANT=%1$S adalah bukan-peserta.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.OPT-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.OPT-PARTICIPANT=%1$S adalah peserta tambahan.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.REQ-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.REQ-PARTICIPANT=%1$S adalah peserta wajib.
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.ACCEPTED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.ACCEPTED=%1$S telah mengesahkan kehadiran.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DECLINED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DECLINED=%1$S tidak akan hadir.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DELEGATED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DELEGATED=%1$S telah mewakilkan kehadiran.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.NEEDS-ACTION): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.NEEDS-ACTION=%1$S masih belum memberikan jawapan.
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.TENTATIVE): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.TENTATIVE=%1$S telah mengesahkan kehadiran secara tentatif.
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.INDIVIDUAL): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing individual attendee
+dialog.tooltip.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.GROUP): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a group (e.g. a distribution list)
+dialog.tooltip.attendeeUserType2.GROUP=%1$S (kumpulan)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.RESOURCE): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a resource (e.g. projector)
+dialog.tooltip.attendeeUserType2.RESOURCE=%1$S (sumber)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.ROOM): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a room
+dialog.tooltip.attendeeUserType2.ROOM=%1$S (bilik)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.UNKNOWN): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing an attendee of unknown type
+dialog.tooltip.attendeeUserType2.UNKNOWN=%1$S
+
+#File commands and dialogs
+New=Baru
+Open=Buka
+filepickerTitleImport=Import
+filepickerTitleExport=Eksport
+
+# Filters for export/import/open file picker. %1$S will be replaced with
+# wildmat used to filter files by extension, such as (*.html; *.htm).
+filterIcs=iCalendar (%1$S)
+filterXml=Dokumen XML (%1$S)
+filterHtml=Halaman Web (%1$S)
+filterOutlookCsv=Outlook Comma Separated Values (%1$S)
+filterWav=Waveform Audio (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=Ada ralat
+httpPutError=Penerbitan fail kalendar telah gagal.\nKod status: %1$S: %2$S
+otherPutError=Penerbitan fail kalendar telah gagal.\nKod status: 0x%1$S
+
+# LOCALIZATION NOTE (readOnlyMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+# %1$S will be replaced with the name of a calendar
+readOnlyMode=Ada ralat membaca data kalendar: %1$S. Telah digantikan dengan mod baca-sahaja kerana perubahan dalam kalendar akan menyebabkan kehilangan data. Anda boleh tukar tetapan ini dengan memilih 'Edit Kalendar'.
+
+# LOCALIZATION NOTE (disabledMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+# %1$S will be replaced with the name of a calendar
+disabledMode=Ada ralat membaca data kalendar: %1$S. Telah dinyahdayakan sehingga selamat untuk digunakan.
+
+# LOCALIZATION NOTE (minorError):
+# used for an message like 'There has been an error reading data for calendar: Home. However this...'
+# %1$S will be replaced with the name of a calendar
+minorError=Ada ralat membaca data kalendar: %1$S. Oleh kerana ralat ini kecil, atur cara ini akan cuba diteruskan.
+
+# LOCALIZATION NOTE (stillReadOnlyError):
+# used for an message like 'There has been an error reading data for calendar: Home.'
+# %1$S will be replaced with the name of a calendar
+stillReadOnlyError=Ada ralat membaca data kalendar: %1$S.
+utf8DecodeError=Ada ralat semasa menyahkod fail iCalendar (ics) sebagai UTF-8. Semak samada fail, termasuk simbol dan huruf, dikodkan menggunakan pengekodan aksara UTF-8.
+icsMalformedError=Gagal menghuraikan fail iCalendar (ics). Pastikan bahawa fail mematuhi sintaks fail iCalendar (ics).
+itemModifiedOnServerTitle=Item diubah dalam pelayan
+itemModifiedOnServer=Item ini baru sahaja ditukar dalam pelayan.\n
+modifyWillLoseData=Perubahan yang anda kemukakan ini akan menulis ganti perubahan yang dibuat dalam pelayan.
+deleteWillLoseData=Menghapuskan item ini akan menyebabkan kehilangan perubahan dibuat pada pelayan.
+updateFromServer=Buang perubahan saya dan muat semula
+proceedModify=Kemukakan sahaja perubahan saya
+proceedDelete=Buang sahaja
+dav_notDav=Sumber dalam %1$S samada bukan himpunan DAV atau tidak tersedia
+dav_davNotCaldav=Sumber dalam %1$S adalah himpunan DAV tetapi bukan kalendar CalDAV
+itemPutError=Ada ralat menyimpan item dalam pelayan.
+itemDeleteError=Ada ralat menghapuskan item daripada pelayan.
+caldavRequestError=Ada ralat semasa menghantar jemputan.
+caldavResponseError=Ada ralat semasa menghantar respons.
+caldavRequestStatusCode=Kod Status: %1$S
+caldavRequestStatusCodeStringGeneric=Permintaan tidak dapat diproses.
+caldavRequestStatusCodeString400=Permintaan mengandungi sintaks tidak betul dan tidak boleh diproses.
+caldavRequestStatusCodeString403=Pengguna tiada izin yang mencukupi untuk melaksanakan permintaan.
+caldavRequestStatusCodeString404=Sumber tidak ditemui.
+caldavRequestStatusCodeString409=Sumber bercanggahan.
+caldavRequestStatusCodeString412=Prasyarat gagal.
+caldavRequestStatusCodeString500=Ralat pelayan dalaman.
+caldavRequestStatusCodeString502=Get laluan rosak (Konfigurasi proksi?).
+caldavRequestStatusCodeString503=Ralat pelayan dalaman (Kebocoran pelayan sementara?).
+caldavRedirectTitle=Kemaskini lokasi kalendar %1$S?
+caldavRedirectText=Permintaan untuk %1$S diarahkan semula ke lokasi baru. Anda mahu tukar lokasi kepada nilai berikut?
+caldavRedirectDisableCalendar=Nyahdayakan Kalendar
+
+
+# LOCALIZATION NOTE (likelyTimezone):
+# Translators, please put the most likely timezone(s) where the people using
+# your locale will be. Use the Olson ZoneInfo timezone name *in English*,
+# ie "Europe/Paris", (continent or ocean)/(largest city in timezone).
+# Order does not matter, except if two historically different zones now match,
+# such as America/New_York and America/Toronto, will only find first listed.
+# (Particularly needed to guess the most relevant timezones if there are
+# similar timezones at the same June/December GMT offsets with alphabetically
+# earlier ZoneInfo timezone names. Sample explanations for English below.)
+# for english-US:
+# America/Los_Angeles likelier than America/Dawson
+# America/New_York likelier than America/Detroit (NY for US-EasternTime)
+# for english:
+# Europe/London likelier than Atlantic/Canary
+# Europe/Paris likelier than Africa/Ceuta (for WestEuropeanTime)
+# America/Halifax likelier than America/Glace_Bay (Canada-AtlanticTime)
+# America/Mexico_City likelier than America/Cancun
+# America/Argentina/Buenos_Aires likelier than America/Araguaina
+# America/Sao_Paolo (may not recognize: summer-time dates change every year)
+# Asia/Singapore likelier than Antarctica/Casey
+# Asia/Tokyo likelier than Asia/Dili
+# Africa/Lagos likelier than Africa/Algiers (for WestAfricanTime)
+# Africa/Johannesburg likelier than Africa/Blantyre (for SouthAfricanStdTime)
+# Africa/Nairobi likelier than Africa/Addis_Ababa (for EastAfricanTime)
+# Australia/Brisbane likelier than Antarctica/DumontDUrville
+# Australia/Sydney likelier than Australia/Currie or Australia/Hobart
+# Pacific/Auckland likelier than Antarctica/McMurdo
+likelyTimezone=Amerika/New_York, Amerika/Chicago, Amerika/Denver, Amerika/Phoenix, Amerika/Los_Angeles, Amerika/Anchorage, Amerika/Adak, Pasifik/Honolulu, Amerika/Puerto_Rico, Amerika/Halifax, Amerika/Mexico_City, Amerika/Argentina/Buenos_Aires, Amerika/Sao_Paulo, Eropah/London, Eropah/Paris, Asia/Singapura, Asia/Tokyo, Afrika/Lagos, Afrika/Johannesburg, Afrika/Nairobi, Australia/Brisbane, Australia/Sydney, Pasifik/Auckland
+
+# Guessed Timezone errors and warnings.
+# Testing note:
+# * remove preference for calendar.timezone.default in userprofile/prefs.js
+# * repeat
+# - set OS timezone to a city (windows: click right on clock in taskbar)
+# - restart
+# - observe guess in error console and verify whether guessed timezone city
+# makes sense for OS city.
+#
+# 'Warning: Operating system timezone "E. South America Standard Time"
+# no longer matches ZoneInfo timezone "America/Sao_Paulo".'
+# Testing notes:
+# - Brasil DST change dates are set every year by decree, so likely out of sync.
+# - Only appears on OSes from which timezone can be obtained
+# (windows; or TZ env var, /etc/localtime target path, or line in
+# /etc/timezone or /etc/sysconfig/clock contains ZoneInfo timezone id).
+# - Windows: turning off "Automatically adjust clock for daylight saving time"
+# can also trigger this warning.
+WarningOSTZNoMatch=Amaran: Zon masa sistem pengoperasian "%1$S"\ntidak lagi sepadan dengan zon masa ZoneInfo dalaman "%2$S".
+
+# "Skipping Operating System timezone 'Pacific/New_Country'."
+# Testing note: not easily testable. May occur someday if (non-windows)
+# OS uses different version of ZoneInfo database which has a timezone name
+# that is not included in our current ZoneInfo database (or if the mapping
+# mapping from windows to ZoneInfo timezone ids does).
+SkippingOSTimezone=Melangkau zon masa Sistem Pengoperasian '%1$S'.
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=Melangkau zon masa lokal '%1$S'.
+
+# Testing note: "No match" timezones include Bucharest on W2k.
+# Brazil timezones may be "No match" (change every year, so often out of date,
+# and changes are often more than a week different).
+warningUsingFloatingTZNoMatch=Amaran: Menggunakan zon masa "terapung".\nTiada data zon masa ZoneInfo yang sepadan dengan data zon masa sistem pengoperasian.
+
+# "Warning: Using guessed timezone
+# America/New York (UTC-0500/-0400).
+# [rfc2445 summer daylight saving shift rules for timezone]
+# This ZoneInfo timezone almost matches/seems to match..."
+# This ZoneInfo timezone was chosen based on ... "
+WarningUsingGuessedTZ=Amaran: Menggunakan zon masa anggaran\n %1$S(UTC%2$S).\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=Zon masa ZoneInfo ini hampir sepadan dengan zon masa sistem pengoperasian.\nMengikut peraturan ini, tempoh peralihan antara siang dan masa piawai \nberbeza selama hampir seminggu daripada peralihan zon masa sistem pengoperasian.\nMungkin akan terjadi percanggahan data, seperti perbezaan tarikh mula,\n atau perbezaan peraturan, atau perbezaan anggaran untuk peraturan kalendar bukan-Gregory.
+
+TZSeemsToMatchOS=Zon masa ZoneInfo ini seakan sepadan dengan zon masa sistem pengoperasian tahun ini.
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=Zon masa ZoneInfo ini dipilih berdasarkan pada pengenal pasti zon masa sistem pengoperasian\n "%1$S".
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=Zon masa ZoneInfo ini dipilih berdasarkan pada pemadanan zon masa sistem pengoperasian\nyang seakan sama dengan zon masa pengguna internet yang menggunakan Bahasa Inggeris AS.
+
+TZFromKnownTimezones=Zon masa ZoneInfo ini dipilih berdasarkan pada pemadanan zon masa sistem pengoperasian\ndengan turutan abjad atau id zon masa.
+
+# Print Layout
+formatListName = Senarai
+weekPrinterName = Perancang Mingguan
+monthPrinterName = Grid Bulanan
+tasksWithNoDueDate = Tugasan tanpa tarikh genap tempoh
+
+# Providers
+caldavName=CalDAV
+compositeName=Karangan
+icsName=iCalendar (ICS)
+memoryName=Sementara (memori)
+storageName=Lokal (SQLite)
+
+# Used in created html code for list layout print and html export
+htmlPrefixTitle=Tajuk
+htmlPrefixWhen=Pada
+htmlPrefixLocation=Lokasi
+htmlPrefixDescription=Keterangan
+htmlTaskCompleted=%1$S (selesai)
+
+# Categories
+addCategory=Tambah Kategori
+multipleCategories=Berbilang Kategori
+
+today=Hari ini
+tomorrow=Esok
+yesterday=Semalam
+
+#Today pane
+eventsonly=Acara
+eventsandtasks=Acara dan Tugasan
+tasksonly=Tugasan
+shortcalendarweek=MK
+
+go=Teruskan
+
+# Some languages have different conjugations of 'next' and 'last'. If yours
+# does not, simply repeat the value. This will be used with day names, as in
+# 'next Sunday'.
+next1=berikut
+next2=berikut
+last1=terakhir
+last2=terakhir
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+alarmWindowTitle.label=#1 Peringatan
+
+# LOCALIZATION NOTE (alarmStarts):
+# used for a display the start of an alarm like 'Starts: Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmStarts=Bermula: %1$S
+
+# LOCALIZATION NOTE (alarmTodayAt):
+# used for a display the date-time of an alarm like 'Today at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmTodayAt=Hari ini pada %1$S
+
+# LOCALIZATION NOTE (alarmTomorrowAt):
+# used for a display the date-time of an alarm like 'Tomorrow at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmTomorrowAt=Esok pada %1$S
+
+# LOCALIZATION NOTE (alarmYesterdayAt):
+# used for a display the date-time of an alarm like 'Yesterday at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmYesterdayAt=Semalam pada %1$S
+
+# Alarm interface strings
+# LOCALIZATION NOTE: These strings do not get displayed. They are only visible
+# when exporting an item with i.e a DISPLAY alarm, that doesn't have a
+# description set, or an EMAIL alarm that doesn't have a summary set.
+alarmDefaultDescription=Keterangan Mozilla Piawai
+alarmDefaultSummary=Ringkasan Mozilla Piawai
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+alarmSnoozeLimitExceeded=Anda tidak boleh lena penggera melebihi #1 bulan.;Anda tidak boleh lena penggera melebihi #1 bulan.
+
+taskDetailsStatusNeedsAction=Perlu Tindakan
+
+# LOCALIZATION NOTE (taskDetailsStatusInProgress):
+# used for a display of how much of a task is completed '25% Complete'
+# %1$S will be replaced with the number of percentage completed
+taskDetailsStatusInProgress=%1$S%% Selesai
+taskDetailsStatusCompleted=Selesai
+
+# LOCALIZATION NOTE (taskDetailsStatusCompletedOn):
+# used for a display of completion date like 'Completed on Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with the completion date-time of the task
+taskDetailsStatusCompletedOn=Selesai pada %1$S
+taskDetailsStatusCancelled=Dibatalkan
+
+gettingCalendarInfoCommon=Menyemak Kalendarâ¦
+
+# LOCALIZATION NOTE (gettingCalendarInfoDetail):
+# used for a progress-display of processed like 'Checking Calendar 5 of 10'
+# %1$S will be replaced with the index of the currently processed calendar
+# %2$S will be replaced with the total numbers of calendars
+gettingCalendarInfoDetail=Menyemak Kalendar %1$S daripada %2$S
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+errorCode=Kod ralat: %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+errorDescription=Keterangan: %1$S
+
+# LOCALIZATION NOTE (errorWriting):
+# used for an message like 'An error occurred when writing to the calendar Home!'
+# %1$S will be replaced with the name of a calendar
+errorWriting2=Ada ralat ketika menulis kalendar %1$S! Sila rujuk di bawah untuk keterangan lanjut.
+
+# LOCALIZATION NOTE (errorWritingDetails):
+# This will be displayed in the detail section of the error dialog
+errorWritingDetails=Jika anda melihat mesej ini selepas melenakan atau mengabaikan peringatan dan ini adalah untuk kalendar yang anda tidak mahu tambah atau edit acaranya, anda boleh tandakan kalendar ini sebagai baca-sahaja untuk mengelakkannya pada masa akan datang. Untuk berbuat demikian, pergi ke sifat kalendar dengan klik-kanan pada kalendar ini dalam senarai dalam paparan kalendar atau tugas.
+
+# LOCALIZATION NOTE (tooltipCalendarDisabled):
+# used for an alert-message like 'The calendar Home is momentarily not available'
+# %1$S will be replaced with the name of a calendar
+tooltipCalendarDisabled=Kalendar %1$S tidak tersedia buat seketika
+
+# LOCALIZATION NOTE (tooltipCalendarReadOnly):
+# used for an message like 'The calendar Home is readonly'
+# %1$S will be replaced with the name of a calendar
+tooltipCalendarReadOnly=Kalendar %1$S adalah baca-sahaja
+
+taskEditInstructions=Klik sini untuk menambah tugasan baru
+taskEditInstructionsReadonly=Sila pilih kalendar yang boleh ditulis
+taskEditInstructionsCapability=Sila pilih kalendar yang menyokong tugasan
+
+eventDetailsStartDate=Mula:
+eventDetailsEndDate=Tamat:
+
+# LOCALIZATION NOTE (datetimeWithTimezone):
+# used for a display of a date-time with timezone 'Thu 2 Oct 2008 13:21', Europe/Paris
+# %1$S will be replaced with the completion date-time
+# %2$S will be replaced with the name of the timezone
+datetimeWithTimezone=%1$S, %2$S
+
+# LOCALIZATION NOTE (singleLongCalendarWeek):
+# used for display of calendar weeks in short form like 'Calendar Week 43'
+# %1$S will be replaced with the index of the week
+singleLongCalendarWeek=Minggu Kalendar: %1$S
+
+# LOCALIZATION NOTE (severalLongCalendarWeeks):
+# used for display of calendar weeks in short form like 'Calendar Weeks 43 - 45'
+# %1$S will be replaced with the index of the start-week
+# %2$S will be replaced with the index of the end-week
+severalLongCalendarWeeks=Minggu Kalendar: %1$S-%2$S
+
+# LOCALIZATION NOTE (singleShortCalendarWeek):
+# used for display of calendar weeks in short form like 'CW 43'
+# %1$S will be replaced with the index of the week
+singleShortCalendarWeek=MK: %1$S
+
+# LOCALIZATION NOTE (severalShortCalendarWeeks):
+# used for display of calendar weeks in short form like 'CWs 43 - 45'
+# %1$S will be replaced with the index of the start-week
+# %2$S will be replaced with the index of the end-week
+severalShortCalendarWeeks=MK: %1$S-%2$S
+
+# LOCALIZATION NOTE (abbreviationOfWeek):
+# Used for displaying the week number in the first day box of every week
+# in multiweek and month views.
+# It allows to localize the label with the week number in case your locale
+# requires it.
+# Take into account that this label is placed in the same room of the day label
+# inside the day boxes, exactly on left side, hence a possible string shouldn't
+# be too long otherwise it will create confusion between the week number and
+# the day number other than a possible crop when the window is resized.
+#
+# %1$S is a number from 1 to 53 that represents the week number.
+abbreviationOfWeek=%1$S
+
+# Task tree, "Due In" column.
+# LOCALIZATION NOTE (dueInDays, dueInHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+dueInDays=#1 hari
+dueInHours=#1 jam;#1 jam
+dueInLessThanOneHour=< 1 jam
+
+# LOCALIZATION NOTE (monthInYear):
+# used for display of Month-dates like 'December 2008'
+# %1$S will be replaced with name of the month
+# %2$S will be replaced with the year
+monthInYear=%1$S %2$S
+
+# LOCALIZATION NOTE (monthInYear.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+monthInYear.monthFormat=nominative
+
+# LOCALIZATION NOTE (formatDateLong):
+# used for display dates in long format like 'Mon 15 Oct 2008' when it's
+# impossible to retrieve the formatatted date from the OS.
+# %1$S will be replaced with name of the day in short format;
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties);
+# %3$S will be replaced with the name of the month in short format;
+# %4$S will be replaced with the year.
+formatDateLong=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (dayHeaderLabel):
+# used for display the labels in the header of the days in day/week views in short
+# or long format. For example: 'Monday 6 Oct.' or 'Mon. 6 Oct.'
+# %1$S will be replaced with name of the day in short or long format
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties), plus the name
+# of the month in short format (the day/month order depends on the OS settings).
+dayHeaderLabel=%1$S %2$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth):
+# used for display of intervals in the form of 'March 3 - 9, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %4$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalInMonth=%2$S â %3$S %1$S, %4$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalInMonth.monthFormat=nominative
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths):
+# used for display of intervals in the form 'September 29 - October 5, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with name of the month of the end date
+# %4$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %5$S will be replaced with the commmon year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenMonths=%2$S %1$S â %4$S %3$S, %5$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalBetweenMonths.monthFormat=nominative
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears):
+# used for display of intervals in the form 'December 29, 2008 - January 4, 2009'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the year of the start date
+# %4$S will be replaced with name of the month of the end date
+# %5$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %6$S will be replaced with the year of the end date
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenYears=%2$S %1$S, %3$S â %5$S %4$S, %6$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalBetweenYears.monthFormat=nominative
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDateTime):
+# used for intervals where end is equals to start
+# displayed form is '5 Jan 2006 13:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+datetimeIntervalOnSameDateTime=%1$S %2$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDay):
+# used for intervals where end is on the same day as start, so we can leave out the
+# end date but still include end time
+# displayed form is '5 Jan 2006 13:00 - 17:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the time of the end date
+datetimeIntervalOnSameDay=%1$S %2$S â %3$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSeveralDays):
+# used for intervals spanning multiple days by including date and time
+# displayed form is '5 Jan 2006 13:00 - 7 Jan 2006 9:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the date of the end date
+# %4$S will be replaced with the time of the end date
+datetimeIntervalOnSeveralDays=%1$S %2$S â %3$S %4$S
+
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDate):
+# used for task without start and due date
+# (showed only in exported calendar in Html format)
+datetimeIntervalTaskWithoutDate= tiada tarikh mula atau tamat tempoh
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDueDate):
+# used for intervals in task with only start date
+# displayed form is 'start date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+datetimeIntervalTaskWithoutDueDate=tarikh mula %1$S %2$S
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutStartDate):
+# used for intervals in task with only due date
+# displayed form is 'due date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the due date
+# %2$S will be replaced with the time of the due date
+datetimeIntervalTaskWithoutStartDate=tarikh tamat %1$S %2$S
+
+# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate
+# dragLabelTasksWithOnlyDueDate)
+# Labels that appear while dragging a task with only
+# entry date OR due date
+dragLabelTasksWithOnlyEntryDate=Masa mula
+dragLabelTasksWithOnlyDueDate=Tamat pada
+
+deleteTaskLabel=Buang Tugasan
+deleteTaskMessage=Anda pasti mahu menghapuskan Tugasan ini?
+deleteTaskAccesskey=g
+deleteItemLabel=Buang
+deleteItemMessage=Anda pasti mahu menghapuskan Item ini?
+deleteItemAccesskey=g
+deleteEventLabel=Buang Acara
+deleteEventMessage=Anda pasti mahu menghapuskan Acara ini?
+deleteEventAccesskey=g
+
+calendarPropertiesEveryMinute=Setiap minit;Setiap #1 minit
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+extractUsing=Gunakan %1$S
+
+# LOCALIZATION NOTE (extractUsingRegion)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+# %2$S will be replaced with region like US in en-US
+extractUsingRegion=Gunakan %1$S (%2$S)
+
+# LOCALIZATION NOTE (unit)
+# Used to determine the correct plural form of a unit
+unitMinutes=#1 minit
+unitHours=#1 jam;#1 jam
+unitDays=#1 hari
+unitWeeks=#1 minggu;#1 minggu
+
+# LOCALIZATION NOTE (showCalendar)
+# Used in calendar list context menu
+# %1$S will be replaced with the calendar name
+# uses the access key calendar.context.togglevisible.accesskey
+showCalendar=Papar %1$S
+hideCalendar=Sorok %1$S
+# uses the access key calendar.context.showonly.accesskey
+showOnlyCalendar=Papar Hanya %1$S
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=Konflik Pengubahsuaian Item
+modifyConflictPromptMessage=Item yang sedang diedit dalam dialog telah diubahsuai sejak mula dibuka.
+modifyConflictPromptButton1=Tulis ganti perubahan yang lain
+modifyConflictPromptButton2=Buang perubahan ini
+
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedFrom): this is appended behind an attendee name
+# in the tooltip and the visible name for an attendee in the event summary dialog - don't add
+# leading or trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+# delegation is different from simple invitation forwarding - in case of delegation the orignal
+# invited attendee gets replaced
+dialog.attendee.append.delegatedFrom=(mewakili %1$S)
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedTo): this is appended behind an attendee name
+# in the tooltip for an attendee in the event summary dialog - don't add leading or trailing
+# whitespaces here
+# delegation is different from simple invitation forwarding - in case of delegation the orignal
+# invited attendee gets replaced
+dialog.attendee.append.delegatedTo=(mewakilkan %1$S)
+
+# Accessible description of a grid calendar with no selected date
+minimonthNoSelectedDate=Tiada tarikh dipilih
diff --git a/calendar/chrome/calendar/calendarCreation.dtd b/calendar/chrome/calendar/calendarCreation.dtd
new file mode 100644
index 00000000000..c2edd26bd8e
--- /dev/null
+++ b/calendar/chrome/calendar/calendarCreation.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendarCreation.properties b/calendar/chrome/calendar/calendarCreation.properties
new file mode 100644
index 00000000000..941a9a5b3c0
--- /dev/null
+++ b/calendar/chrome/calendar/calendarCreation.properties
@@ -0,0 +1,6 @@
+# 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/.
+
+error.invalidUri=Sila masukkan lokasi yang sah.
+error.alreadyExists=Anda sudah melanggan kalendar di lokasi ini.
diff --git a/calendar/chrome/calendar/categories.properties b/calendar/chrome/calendar/categories.properties
new file mode 100644
index 00000000000..6076089f794
--- /dev/null
+++ b/calendar/chrome/calendar/categories.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/.
+
+# default categories
+
+categories2=Ulang tahun,Hari Lahir,Perniagaan,Telefon,Klien,Pertandingan,Pelanggan,Kegemaran,Susulan,Hadiah,Percutian,Idea,Isu,Mesyuarat,Pelbagai,Peribadi,Projek,Cuti Umum,Status,Pembekal,Kembara,Cuti
diff --git a/calendar/chrome/calendar/dateFormat.properties b/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 00000000000..a6c90aab864
--- /dev/null
+++ b/calendar/chrome/calendar/dateFormat.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/.
+
+# In case you are looking for the note about different declensions on date
+# formats, here it is. If your language doesn't use different declensions of
+# month names, you shouldn't have much work. Just leave the *.monthFormat
+# string on "nominative" and the string month.*.name will be filled in.
+#
+# If you need a different form for a string, you can change the
+# *.monthFormat to a different value. Supported values are currently:
+# nominative (default), genitive
+# The modified month name form will then be filled in accordingly. If this
+# system does not suit your needs, please file a bug!
+
+# LOCALIZATION NOTE (month.*.name):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "nominative" or in places
+# where using a different declension is not yet supported.
+month.1.name=Januari
+month.2.name=Februari
+month.3.name=Mac
+month.4.name=April
+month.5.name=Mei
+month.6.name=Jun
+month.7.name=Julai
+month.8.name=Ogos
+month.9.name=September
+month.10.name=Oktober
+month.11.name=November
+month.12.name=Disember
+
+# LOCALIZATION NOTE (month.*.genitive):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "genitive"
+# If your language doesn't use different declensions, just set the same
+# values as for month.*.name.
+month.1.genitive=Januari
+month.2.genitive=Februari
+month.3.genitive=Mac
+month.4.genitive=April
+month.5.genitive=Mei
+month.6.genitive=Jun
+month.7.genitive=Julai
+month.8.genitive=Ogos
+month.9.genitive=September
+month.10.genitive=Oktober
+month.11.genitive=November
+month.12.genitive=Disember
+
+month.1.Mmm=Jan
+month.2.Mmm=Feb
+month.3.Mmm=Mac
+month.4.Mmm=Apr
+month.5.Mmm=Mei
+month.6.Mmm=Jun
+month.7.Mmm=Jul
+month.8.Mmm=Ogo
+month.9.Mmm=Sep
+month.10.Mmm=Okt
+month.11.Mmm=Nov
+month.12.Mmm=Dis
+
+day.1.name=Ahad
+day.2.name=Isnin
+day.3.name=Selasa
+day.4.name=Rabu
+day.5.name=Khamis
+day.6.name=Jumaat
+day.7.name=Sabtu
+
+day.1.Mmm=Aha
+day.2.Mmm=Isn
+day.3.Mmm=Sel
+day.4.Mmm=Rab
+day.5.Mmm=Kha
+day.6.Mmm=Jum
+day.7.Mmm=Sab
+
+# Can someone tell me why we're not counting from zero?
+day.1.short=Ah
+day.2.short=Is
+day.3.short=Se
+day.4.short=Ra
+day.5.short=Kh
+day.6.short=Ju
+day.7.short=Sa
+
+# Localizable day's date
+day.1.number=1
+day.2.number=2
+day.3.number=3
+day.4.number=4
+day.5.number=5
+day.6.number=6
+day.7.number=7
+day.8.number=8
+day.9.number=9
+day.10.number=10
+day.11.number=11
+day.12.number=12
+day.13.number=13
+day.14.number=14
+day.15.number=15
+day.16.number=16
+day.17.number=17
+day.18.number=18
+day.19.number=19
+day.20.number=20
+day.21.number=21
+day.22.number=22
+day.23.number=23
+day.24.number=24
+day.25.number=25
+day.26.number=26
+day.27.number=27
+day.28.number=28
+day.29.number=29
+day.30.number=30
+day.31.number=31
+
+# LOCALIZATION NOTE (dayOrdinalSymbol):
+# Allows to insert a string, a character or a symbol after the number of a
+# monthday in order to give it the meaning of ordinal number e.g. 1 -> 1st etc.
+# It's mainly used when formatting dates with both monthday and month name. It
+# affects the following localizable strings that hence must be localized *without*
+# any ordinal symbol for the monthday number:
+# dayHeaderLabel, monthlyDaysOfNth_day,
+# yearlyNthOn, daysIntervalBetweenYears,
+# daysIntervalBetweenMonths, daysIntervalInMonth.
+# Write only a single string if the ordinal symbol is the same for every monthday, otherwise
+# write a sequence of _31_ strings (one for each monthday) separated with commas.
+# If your language doesn't require that in the mentioned strings, leave it empty.
+# e.g.
+# dayOrdinalSymbol=.
+# -> daysIntervalInMonth: 'March 3. - 9., 2008'
+# dayOrdinalSymbol=st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,
+# th,th,th,th,th,st,nd,rd,th,th,th,th,th,th,th,st
+# -> daysIntervalBetweenMonths: 'September 29th - November 1st, 2008'
+dayOrdinalSymbol=
+
+noon=Tengahari
+midnight=Tengah Malam
+
+AllDay=Sepanjang Hari
+Repeating=(Pengulangan)
diff --git a/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd b/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 00000000000..8bf7ed8f82f
--- /dev/null
+++ b/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/global.dtd b/calendar/chrome/calendar/global.dtd
new file mode 100644
index 00000000000..7917f8b017d
--- /dev/null
+++ b/calendar/chrome/calendar/global.dtd
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/menuOverlay.dtd b/calendar/chrome/calendar/menuOverlay.dtd
new file mode 100644
index 00000000000..5ad0f95583a
--- /dev/null
+++ b/calendar/chrome/calendar/menuOverlay.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/migration.dtd b/calendar/chrome/calendar/migration.dtd
new file mode 100644
index 00000000000..fa04183390c
--- /dev/null
+++ b/calendar/chrome/calendar/migration.dtd
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/migration.properties b/calendar/chrome/calendar/migration.properties
new file mode 100644
index 00000000000..940d97807c8
--- /dev/null
+++ b/calendar/chrome/calendar/migration.properties
@@ -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/.
+
+migratingApp = Memindahkan %1$Sâ¦
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle = Data Import: %1$S
+migrationDescription=%1$S boleh mengimport data daripada banyak aplikasi yang popular. Data daripada aplikasi berikut telah ditemui dalam komputer anda. Sila pilih aplikasi yang anda mahu import data daripadanya.
+finished = Selesai
+disableExtTitle = Ekstensi Tidak Serasi Ditemukan
+disableExtText = Anda ada memasang Ekstensi Kalendar Mozilla lama yang tidak serasi dengan Lightning. Ekstensi ini akan dinyahdayakan dan %1$S akan dimulakan semula.
diff --git a/calendar/chrome/calendar/preferences/alarms.dtd b/calendar/chrome/calendar/preferences/alarms.dtd
new file mode 100644
index 00000000000..de2bf7c1510
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/alarms.dtd
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/categories.dtd b/calendar/chrome/calendar/preferences/categories.dtd
new file mode 100644
index 00000000000..1f8534920b4
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/categories.dtd
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/general.dtd b/calendar/chrome/calendar/preferences/general.dtd
new file mode 100644
index 00000000000..cc0031aec33
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/general.dtd
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/preferences.dtd b/calendar/chrome/calendar/preferences/preferences.dtd
new file mode 100644
index 00000000000..7e93b232ceb
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/preferences.dtd
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/views.dtd b/calendar/chrome/calendar/preferences/views.dtd
new file mode 100644
index 00000000000..2faf0658456
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/views.dtd
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/provider-uninstall.dtd b/calendar/chrome/calendar/provider-uninstall.dtd
new file mode 100644
index 00000000000..cbeb8fb5b73
--- /dev/null
+++ b/calendar/chrome/calendar/provider-uninstall.dtd
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/providers/gdata/amo.properties b/calendar/chrome/calendar/providers/gdata/amo.properties
new file mode 100644
index 00000000000..42cbbe1140f
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/amo.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/.
+
+# The addon name and short description are localized in gdata.properties
+
+# This is the addon description. The en-US version will sometimes have
+# additional news items at the end of the description. If you notice this and
+# would like them translated, please email the author directly.
+# params: %1$S - See amo.faqlocation
+# %2$S - See amo.website
+# NOTE: This is a multiline string, be sure to end lines with \n\ to make sure
+# it stays that way.
+amo.description=Ekstensi ini membolehkan Lightning membaca dan menulis acara serta tugasan ke Google Calendar.\n\
+\n\
+Sila baca FAQ untuk maklumat lanjut sebelum memfailkan pepijat. Pastikan juga anda layari forum perbincangan kerana pepijat anda mungkin sudah ada penyelesaiannya!\n\
+\n\
+Untuk mencari dan melaporkan pepijat, layari http://bugzilla.mozilla.org/ \n\
+Produk: Kalendar\n\
+Komponen: Penyedia: GData
+
+# You can change this if you have localized the FAQ on wiki.mozilla.org
+amo.faqlocation=http://wiki.mozilla.org/Calendar:GDATA_Provider
+
+# You can change this if you would like to provide localized support.
+amo.email=
+amo.website=http://groups.google.com/group/provider-for-google-calendar
diff --git a/calendar/chrome/calendar/providers/gdata/gdata.dtd b/calendar/chrome/calendar/providers/gdata/gdata.dtd
new file mode 100644
index 00000000000..7120ff2e87d
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/gdata.dtd
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/providers/gdata/gdata.properties b/calendar/chrome/calendar/providers/gdata/gdata.properties
new file mode 100644
index 00000000000..22602462f96
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/gdata.properties
@@ -0,0 +1,57 @@
+# 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/.
+
+# If you wish to be mentioned as a translator, please make sure your name and
+# email is in the licence block as a contributor. Multiple names are fine too.
+
+# extension information.
+# When localizing, please keep in mind that these strings had to be approved by
+# the Google Brand Features Team. Be sure to make clear that this extension is
+# *FOR* Google Calendar and not *BY* Google. Also, it was explicitly stated,
+# that the phrase "Google Calendar" should be localized just as it is on the
+# localized versions of the Google Calendar UI.
+
+# Extension Manager strings
+extensions.{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}.description=Izinkan akses dwi-arah ke Google Calendar
+extensions.{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}.name=Penyedia Google Calendar
+
+# LOCALIZATION NOTE (busyTitle):
+# Events with only free/busy access don't have a title, they will use this
+# title instead. The calendar name is used as a parameter, since its often
+# named after the person whose calendar you are viewing.
+# %1$S = The calendar name
+busyTitle=Sibuk (%1$S)
+
+# LOCALIZATION NOTE (quotaExceeded):
+# This is shown when the request quota has been exceeded.
+# %1$S = The session id (what the user enters as an email
+# in the new calendar dialog)
+quotaExceeded=Kuota %1$S telah melebihi had, sila cuba lagi nanti.
+providerOutdated=Versi penyedia ini telah luput, sila kemaskini ke versi terkini.
+
+reminderOutOfRange=Google Calendar hanya mengizinkan peringatan sehingga 4 minggu sebelum acara bermula.
+
+# LOCALIZATION NOTE (syncProgressEvent):
+# %1$S = The name of the calendar that is being synchronized
+# %2$S = The number of events that have been synchronzed
+# %3$S = The total number of events in the synchronization run
+syncProgressEvent=Menyelaraskan %2$S daripada %3$S acara %1$S
+
+# LOCALIZATION NOTE (syncProgressTask):
+# %1$S = The name of the calendar that is being synchronized
+# %2$S = The number of tasks that have been synchronzed
+# %3$S = The total number of tasks in the synchronization run
+syncProgressTask=Menyelaraskan %2$S daripada %3$S tugasan %1$S
+
+# LOCALIZATION NOTE (syncStatus):
+# %1$S = The name of the calendar that is being synchronized
+syncStatus=Menyelaraskan Kalendar %1$S
+
+# LOCALIZATION NOTE (requestWindowDescription):
+# %1$S - The session id (email) used for authentication
+requestWindowDescription=Penyedia Google Calendar mahu mengakses akaun %1$S anda untuk mendapatkan acara dan tugasan. Wasikah dan data kalendar hanya dipindahkan antara komputer anda dengan Google, tiada laman pihak ketiga yang terlibat.
+
+# LOCALIZATION NOTE (requestWindowTitle)
+# %1$S - The session id (email) used for authentication
+requestWindowTitle=Daftar masuk ke akaun %1$S anda
diff --git a/calendar/chrome/calendar/providers/wcap/wcap.properties b/calendar/chrome/calendar/providers/wcap/wcap.properties
new file mode 100644
index 00000000000..7c05c184ec2
--- /dev/null
+++ b/calendar/chrome/calendar/providers/wcap/wcap.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/.
+
+# args: host
+accessingServerFailedError.text=Tidak dapat mengakses pelayan %1$S!
+loginFailed.text=Log masuk gagal atau id sesi tidak sah.
+accessDenied.text=Pengguna tidak diberi akses.
+
+# args: host
+noHttpsConfirmation.text=Log masuk ke %1$S tidak selamat!\nTeruskan?
+noHttpsConfirmation.check.text=Jangan tanya lagi.
+noHttpsConfirmation.label=Amaran!
+
+# args: host, prodId, serverVersion, wcapVersion
+insufficientWcapVersionConfirmation.text=Pelayan %1$S (%2$S, v%3$S, WCAP v%4$S) tidak sepenuhnya menyokong versi WCAP! Versi yang diperlukan sekurang-kurangnya 3.0.0.\nTeruskan?
+insufficientWcapVersionConfirmation.label=Versi WCAP tidak memadai!
+
+loginDialog.label=Kata laluan Pelayan Kalendar Diperlukan
+
+privateItem.title.text=Peribadi
+confidentialItem.title.text=Sulit
+busyItem.title.text=Sibuk
diff --git a/calendar/chrome/calendar/timezones.properties b/calendar/chrome/calendar/timezones.properties
new file mode 100644
index 00000000000..15a63d26431
--- /dev/null
+++ b/calendar/chrome/calendar/timezones.properties
@@ -0,0 +1,482 @@
+# 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/.
+
+# extension:
+extensions.calendar-timezones@mozilla.org.name=Takrif Zon Masa untuk Kalendar Mozilla
+extensions.calendar-timezones@mozilla.org.description=Takrif zon masa yang diperlukan oleh Lightning
+extensions.calendar-timezones@mozilla.org.creator=Projek Kalendar Mozilla
+
+pref.timezone.floating=Waktu Tempatan
+pref.timezone.UTC=UTC/GMT
+
+# I've derived this list out of timezones.dtd
+# - replaced '_' with ' ' on value side
+# - corrected 'St xyz' to 'St. xyz'
+
+# timezone names:
+pref.timezone.Africa.Abidjan=Afrika/Abidjan
+pref.timezone.Africa.Accra=Afrika/Accra
+pref.timezone.Africa.Addis_Ababa=Afrika/Addis Ababa
+pref.timezone.Africa.Algiers=Afrika/Algiers
+pref.timezone.Africa.Asmara=Afrika/Asmara
+pref.timezone.Africa.Bamako=Afrika/Bamako
+pref.timezone.Africa.Bangui=Afrika/Bangui
+pref.timezone.Africa.Banjul=Afrika/Banjul
+pref.timezone.Africa.Bissau=Afrika/Bissau
+pref.timezone.Africa.Blantyre=Afrika/Blantyre
+pref.timezone.Africa.Brazzaville=Afrika/Brazzaville
+pref.timezone.Africa.Bujumbura=Afrika/Bujumbura
+pref.timezone.Africa.Cairo=Afrika/Kaherah
+pref.timezone.Africa.Casablanca=Afrika/Casablanca
+pref.timezone.Africa.Ceuta=Afrika/Ceuta
+pref.timezone.Africa.Conakry=Afrika/Conakry
+pref.timezone.Africa.Dakar=Afrika/Dakar
+pref.timezone.Africa.Dar_es_Salaam=Afrika/Dar es Salaam
+pref.timezone.Africa.Djibouti=Afrika/Djibouti
+pref.timezone.Africa.Douala=Afrika/Douala
+pref.timezone.Africa.El_Aaiun=Afrika/El Aaiun
+pref.timezone.Africa.Freetown=Afrika/Freetown
+pref.timezone.Africa.Gaborone=Afrika/Gaborone
+pref.timezone.Africa.Harare=Afrika/Harare
+pref.timezone.Africa.Johannesburg=Afrika/Johannesburg
+pref.timezone.Africa.Kampala=Afrika/Kampala
+pref.timezone.Africa.Khartoum=Afrika/Khartoum
+pref.timezone.Africa.Kigali=Afrika/Kigali
+pref.timezone.Africa.Kinshasa=Afrika/Kinshasa
+pref.timezone.Africa.Lagos=Afrika/Lagos
+pref.timezone.Africa.Libreville=Afrika/Libreville
+pref.timezone.Africa.Lome=Afrika/Lome
+pref.timezone.Africa.Luanda=Afrika/Luanda
+pref.timezone.Africa.Lubumbashi=Afrika/Lubumbashi
+pref.timezone.Africa.Lusaka=Afrika/Lusaka
+pref.timezone.Africa.Malabo=Afrika/Malabo
+pref.timezone.Africa.Maputo=Afrika/Maputo
+pref.timezone.Africa.Maseru=Afrika/Maseru
+pref.timezone.Africa.Mbabane=Afrika/Mbabane
+pref.timezone.Africa.Mogadishu=Afrika/Mogadishu
+pref.timezone.Africa.Monrovia=Afrika/Monrovia
+pref.timezone.Africa.Nairobi=Afrika/Nairobi
+pref.timezone.Africa.Ndjamena=Afrika/Ndjamena
+pref.timezone.Africa.Niamey=Afrika/Niamey
+pref.timezone.Africa.Nouakchott=Afrika/Nouakchott
+pref.timezone.Africa.Ouagadougou=Afrika/Ouagadougou
+pref.timezone.Africa.Porto-Novo=Afrika/Porto-Novo
+pref.timezone.Africa.Sao_Tome=Afrika/Sao Tome
+pref.timezone.Africa.Tripoli=Afrika/Tripoli
+pref.timezone.Africa.Tunis=Afrika/Tunis
+pref.timezone.Africa.Windhoek=Afrika/Windhoek
+pref.timezone.America.Adak=Amerika/Adak
+pref.timezone.America.Anchorage=Amerika/Anchorage
+pref.timezone.America.Anguilla=Amerika/Anguilla
+pref.timezone.America.Antigua=Amerika/Antigua
+pref.timezone.America.Araguaina=Amerika/Araguaina
+pref.timezone.America.Argentina.Buenos_Aires=Amerika/Argentina/Buenos Aires
+pref.timezone.America.Argentina.Catamarca=Amerika/Argentina/Catamarca
+pref.timezone.America.Argentina.Cordoba=Amerika/Argentina/Cordoba
+pref.timezone.America.Argentina.Jujuy=Amerika/Argentina/Jujuy
+pref.timezone.America.Argentina.La_Rioja=Amerika/Argentina/La Rioja
+pref.timezone.America.Argentina.Mendoza=Amerika/Argentina/Mendoza
+pref.timezone.America.Argentina.Rio_Gallegos=Amerika/Argentina/Rio Gallegos
+pref.timezone.America.Argentina.San_Juan=Amerika/Argentina/San Juan
+pref.timezone.America.Argentina.Tucuman=Amerika/Argentina/Tucuman
+pref.timezone.America.Argentina.Ushuaia=Amerika/Argentina/Ushuaia
+pref.timezone.America.Aruba=Amerika/Aruba
+pref.timezone.America.Asuncion=Amerika/Asuncion
+pref.timezone.America.Atikokan=Amerika/Atikokan
+pref.timezone.America.Bahia=Amerika/Bahia
+pref.timezone.America.Barbados=Amerika/Barbados
+pref.timezone.America.Belem=Amerika/Belem
+pref.timezone.America.Belize=Amerika/Belize
+pref.timezone.America.Blanc-Sablon=Amerika/Blanc-Sablon
+pref.timezone.America.Boa_Vista=Amerika/Boa Vista
+pref.timezone.America.Bogota=Amerika/Bogota
+pref.timezone.America.Boise=Amerika/Boise
+pref.timezone.America.Cambridge_Bay=Amerika/Cambridge Bay
+pref.timezone.America.Campo_Grande=Amerika/Campo Grande
+pref.timezone.America.Cancun=Amerika/Cancun
+pref.timezone.America.Caracas=Amerika/Caracas
+pref.timezone.America.Cayenne=Amerika/Cayenne
+pref.timezone.America.Cayman=Amerika/Cayman
+pref.timezone.America.Chicago=Amerika/Chicago
+pref.timezone.America.Chihuahua=Amerika/Chihuahua
+pref.timezone.America.Costa_Rica=Amerika/Costa Rica
+pref.timezone.America.Cuiaba=Amerika/Cuiaba
+pref.timezone.America.Curacao=Amerika/Curacao
+pref.timezone.America.Danmarkshavn=Amerika/Danmarkshavn
+pref.timezone.America.Dawson=Amerika/Dawson
+pref.timezone.America.Dawson_Creek=Amerika/Dawson Creek
+pref.timezone.America.Denver=Amerika/Denver
+pref.timezone.America.Detroit=Amerika/Detroit
+pref.timezone.America.Dominica=Amerika/Dominica
+pref.timezone.America.Edmonton=Amerika/Edmonton
+pref.timezone.America.Eirunepe=Amerika/Eirunepe
+pref.timezone.America.El_Salvador=Amerika/El Salvador
+pref.timezone.America.Fortaleza=Amerika/Fortaleza
+pref.timezone.America.Glace_Bay=Amerika/Glace Bay
+pref.timezone.America.Godthab=Amerika/Godthab
+pref.timezone.America.Goose_Bay=Amerika/Goose Bay
+pref.timezone.America.Grand_Turk=Amerika/Grand Turk
+pref.timezone.America.Grenada=Amerika/Grenada
+pref.timezone.America.Guadeloupe=Amerika/Guadeloupe
+pref.timezone.America.Guatemala=Amerika/Guatemala
+pref.timezone.America.Guayaquil=Amerika/Guayaquil
+pref.timezone.America.Guyana=Amerika/Guyana
+pref.timezone.America.Halifax=Amerika/Halifax
+pref.timezone.America.Havana=Amerika/Havana
+pref.timezone.America.Hermosillo=Amerika/Hermosillo
+pref.timezone.America.Indiana.Indianapolis=Amerika/Indiana/Indianapolis
+pref.timezone.America.Indiana.Knox=Amerika/Indiana/Knox
+pref.timezone.America.Indiana.Marengo=Amerika/Indiana/Marengo
+pref.timezone.America.Indiana.Petersburg=Amerika/Indiana/Petersburg
+pref.timezone.America.Indiana.Vevay=Amerika/Indiana/Vevay
+pref.timezone.America.Indiana.Vincennes=Amerika/Indiana/Vincennes
+pref.timezone.America.Inuvik=Amerika/Inuvik
+pref.timezone.America.Iqaluit=Amerika/Iqaluit
+pref.timezone.America.Jamaica=Amerika/Jamaica
+pref.timezone.America.Juneau=Amerika/Juneau
+pref.timezone.America.Kentucky.Louisville=Amerika/Kentucky/Louisville
+pref.timezone.America.Kentucky.Monticello=Amerika/Kentucky/Monticello
+pref.timezone.America.La_Paz=Amerika/La Paz
+pref.timezone.America.Lima=Amerika/Lima
+pref.timezone.America.Los_Angeles=Amerika/Los Angeles
+pref.timezone.America.Maceio=Amerika/Maceio
+pref.timezone.America.Managua=Amerika/Managua
+pref.timezone.America.Manaus=Amerika/Manaus
+pref.timezone.America.Martinique=Amerika/Martinique
+pref.timezone.America.Mazatlan=Amerika/Mazatlan
+pref.timezone.America.Menominee=Amerika/Menominee
+pref.timezone.America.Merida=Amerika/Merida
+pref.timezone.America.Mexico_City=Amerika/Mexico City
+pref.timezone.America.Miquelon=Amerika/Miquelon
+pref.timezone.America.Moncton=Amerika/Moncton
+pref.timezone.America.Monterrey=Amerika/Monterrey
+pref.timezone.America.Montevideo=Amerika/Montevideo
+pref.timezone.America.Montreal=Amerika/Montreal
+pref.timezone.America.Montserrat=Amerika/Montserrat
+pref.timezone.America.Nassau=Amerika/Nassau
+pref.timezone.America.New_York=Amerika/New York
+pref.timezone.America.Nipigon=Amerika/Nipigon
+pref.timezone.America.Nome=Amerika/Nome
+pref.timezone.America.Noronha=Amerika/Noronha
+pref.timezone.America.North_Dakota.Center=Amerika/North Dakota/Center
+pref.timezone.America.North_Dakota.New_Salem=Amerika/North Dakota/New Salem
+pref.timezone.America.Panama=Amerika/Panama
+pref.timezone.America.Pangnirtung=Amerika/Pangnirtung
+pref.timezone.America.Paramaribo=Amerika/Paramaribo
+pref.timezone.America.Phoenix=Amerika/Phoenix
+pref.timezone.America.Port-au-Prince=Amerika/Port-au-Prince
+pref.timezone.America.Port_of_Spain=Amerika/Port of Spain
+pref.timezone.America.Porto_Velho=Amerika/Porto Velho
+pref.timezone.America.Puerto_Rico=Amerika/Puerto Rico
+pref.timezone.America.Rainy_River=Amerika/Rainy River
+pref.timezone.America.Rankin_Inlet=Amerika/Rankin Inlet
+pref.timezone.America.Recife=Amerika/Recife
+pref.timezone.America.Regina=Amerika/Regina
+pref.timezone.America.Rio_Branco=Amerika/Rio Branco
+pref.timezone.America.Santiago=Amerika/Santiago
+pref.timezone.America.Santo_Domingo=Amerika/Santo Domingo
+pref.timezone.America.Sao_Paulo=Amerika/Sao Paulo
+pref.timezone.America.Scoresbysund=Amerika/Scoresbysund
+pref.timezone.America.Shiprock=Amerika/Shiprock
+pref.timezone.America.St_Johns=Amerika/St. Johns
+pref.timezone.America.St_Kitts=Amerika/St. Kitts
+pref.timezone.America.St_Lucia=Amerika/St. Lucia
+pref.timezone.America.St_Thomas=Amerika/St. Thomas
+pref.timezone.America.St_Vincent=Amerika/St. Vincent
+pref.timezone.America.Swift_Current=Amerika/Swift Current
+pref.timezone.America.Tegucigalpa=Amerika/Tegucigalpa
+pref.timezone.America.Thule=Amerika/Thule
+pref.timezone.America.Thunder_Bay=Amerika/Thunder Bay
+pref.timezone.America.Tijuana=Amerika/Tijuana
+pref.timezone.America.Toronto=Amerika/Toronto
+pref.timezone.America.Tortola=Amerika/Tortola
+pref.timezone.America.Vancouver=Amerika/Vancouver
+pref.timezone.America.Whitehorse=Amerika/Whitehorse
+pref.timezone.America.Winnipeg=Amerika/Winnipeg
+pref.timezone.America.Yakutat=Amerika/Yakutat
+pref.timezone.America.Yellowknife=Amerika/Yellowknife
+pref.timezone.Antarctica.Casey=Antartika/Casey
+pref.timezone.Antarctica.Davis=Antartika/Davis
+pref.timezone.Antarctica.DumontDUrville=Antartika/DumontDUrville
+pref.timezone.Antarctica.Mawson=Antartika/Mawson
+pref.timezone.Antarctica.McMurdo=Antartika/McMurdo
+pref.timezone.Antarctica.Palmer=Antartika/Palmer
+pref.timezone.Antarctica.Rothera=Antartika/Rothera
+pref.timezone.Antarctica.South_Pole=Antartika/Kutub Selatan
+pref.timezone.Antarctica.Syowa=Antartika/Syowa
+pref.timezone.Antarctica.Vostok=Antartika/Vostok
+pref.timezone.Arctic.Longyearbyen=Artik/Longyearbyen
+pref.timezone.Asia.Aden=Asia/Aden
+pref.timezone.Asia.Almaty=Asia/Almaty
+pref.timezone.Asia.Amman=Asia/Amman
+pref.timezone.Asia.Anadyr=Asia/Anadyr
+pref.timezone.Asia.Aqtau=Asia/Aqtau
+pref.timezone.Asia.Aqtobe=Asia/Aqtobe
+pref.timezone.Asia.Ashgabat=Asia/Ashgabat
+pref.timezone.Asia.Baghdad=Asia/Baghdad
+pref.timezone.Asia.Bahrain=Asia/Bahrain
+pref.timezone.Asia.Baku=Asia/Baku
+pref.timezone.Asia.Bangkok=Asia/Bangkok
+pref.timezone.Asia.Beirut=Asia/Beirut
+pref.timezone.Asia.Bishkek=Asia/Bishkek
+pref.timezone.Asia.Brunei=Asia/Brunei
+pref.timezone.Asia.Choibalsan=Asia/Choibalsan
+pref.timezone.Asia.Chongqing=Asia/Chongqing
+pref.timezone.Asia.Colombo=Asia/Colombo
+pref.timezone.Asia.Damascus=Asia/Damascus
+pref.timezone.Asia.Dhaka=Asia/Dhaka
+pref.timezone.Asia.Dili=Asia/Dili
+pref.timezone.Asia.Dubai=Asia/Dubai
+pref.timezone.Asia.Dushanbe=Asia/Dushanbe
+pref.timezone.Asia.Gaza=Asia/Gaza
+pref.timezone.Asia.Harbin=Asia/Harbin
+pref.timezone.Asia.Hong_Kong=Asia/Hong Kong
+pref.timezone.Asia.Hovd=Asia/Hovd
+pref.timezone.Asia.Irkutsk=Asia/Irkutsk
+pref.timezone.Asia.Istanbul=Asia/Istanbul
+pref.timezone.Asia.Jakarta=Asia/Jakarta
+pref.timezone.Asia.Jayapura=Asia/Jayapura
+pref.timezone.Asia.Jerusalem=Asia/Jerusalem
+pref.timezone.Asia.Kabul=Asia/Kabul
+pref.timezone.Asia.Kamchatka=Asia/Kamchatka
+pref.timezone.Asia.Karachi=Asia/Karachi
+pref.timezone.Asia.Kashgar=Asia/Kashgar
+pref.timezone.Asia.Kathmandu=Asia/Kathmandu
+pref.timezone.Asia.Krasnoyarsk=Asia/Krasnoyarsk
+pref.timezone.Asia.Kuala_Lumpur=Asia/Kuala Lumpur
+pref.timezone.Asia.Kuching=Asia/Kuching
+pref.timezone.Asia.Kuwait=Asia/Kuwait
+pref.timezone.Asia.Macau=Asia/Macau
+pref.timezone.Asia.Magadan=Asia/Magadan
+pref.timezone.Asia.Makassar=Asia/Makassar
+pref.timezone.Asia.Manila=Asia/Manila
+pref.timezone.Asia.Muscat=Asia/Muscat
+pref.timezone.Asia.Nicosia=Asia/Nicosia
+pref.timezone.Asia.Novosibirsk=Asia/Novosibirsk
+pref.timezone.Asia.Omsk=Asia/Omsk
+pref.timezone.Asia.Oral=Asia/Oral
+pref.timezone.Asia.Phnom_Penh=Asia/Phnom Penh
+pref.timezone.Asia.Pontianak=Asia/Pontianak
+pref.timezone.Asia.Pyongyang=Asia/Pyongyang
+pref.timezone.Asia.Qatar=Asia/Qatar
+pref.timezone.Asia.Qyzylorda=Asia/Qyzylorda
+pref.timezone.Asia.Rangoon=Asia/Rangoon
+pref.timezone.Asia.Riyadh=Asia/Riyadh
+pref.timezone.Asia.Sakhalin=Asia/Sakhalin
+pref.timezone.Asia.Samarkand=Asia/Samarkand
+pref.timezone.Asia.Seoul=Asia/Seoul
+pref.timezone.Asia.Shanghai=Asia/Shanghai
+pref.timezone.Asia.Singapore=Asia/Singapura
+pref.timezone.Asia.Taipei=Asia/Taipei
+pref.timezone.Asia.Tashkent=Asia/Tashkent
+pref.timezone.Asia.Tbilisi=Asia/Tbilisi
+pref.timezone.Asia.Tehran=Asia/Tehran
+pref.timezone.Asia.Thimphu=Asia/Thimphu
+pref.timezone.Asia.Tokyo=Asia/Tokyo
+pref.timezone.Asia.Ulaanbaatar=Asia/Ulaanbaatar
+pref.timezone.Asia.Urumqi=Asia/Urumqi
+pref.timezone.Asia.Vientiane=Asia/Vientiane
+pref.timezone.Asia.Vladivostok=Asia/Vladivostok
+pref.timezone.Asia.Yakutsk=Asia/Yakutsk
+pref.timezone.Asia.Yekaterinburg=Asia/Yekaterinburg
+pref.timezone.Asia.Yerevan=Asia/Yerevan
+pref.timezone.Atlantic.Azores=Atlantic/Azores
+pref.timezone.Atlantic.Bermuda=Atlantik/Bermuda
+pref.timezone.Atlantic.Canary=Atlantik/Canary
+pref.timezone.Atlantic.Cape_Verde=Atlantik/Cape Verde
+pref.timezone.Atlantic.Faroe=Atlantik/Faroe
+pref.timezone.Atlantic.Madeira=Atlantik/Madeira
+pref.timezone.Atlantic.Reykjavik=Atlantik/Reykjavik
+pref.timezone.Atlantic.South_Georgia=Atlantik/South Georgia
+pref.timezone.Atlantic.St_Helena=Atlantik/St. Helena
+pref.timezone.Atlantic.Stanley=Atlantik/Stanley
+pref.timezone.Australia.Adelaide=Australia/Adelaide
+pref.timezone.Australia.Brisbane=Australia/Brisbane
+pref.timezone.Australia.Broken_Hill=Australia/Broken Hill
+pref.timezone.Australia.Currie=Australia/Currie
+pref.timezone.Australia.Darwin=Australia/Darwin
+pref.timezone.Australia.Eucla=Australia/Eucla
+pref.timezone.Australia.Hobart=Australia/Hobart
+pref.timezone.Australia.Lindeman=Australia/Lindeman
+pref.timezone.Australia.Lord_Howe=Australia/Lord Howe
+pref.timezone.Australia.Melbourne=Australia/Melbourne
+pref.timezone.Australia.Perth=Australia/Perth
+pref.timezone.Australia.Sydney=Australia/Sydney
+pref.timezone.Europe.Amsterdam=Eropah/Amsterdam
+pref.timezone.Europe.Andorra=Eropah/Andorra
+pref.timezone.Europe.Athens=Eropah/Athens
+pref.timezone.Europe.Belgrade=Eropah/Belgrade
+pref.timezone.Europe.Berlin=Eropah/Berlin
+pref.timezone.Europe.Bratislava=Eropah/Bratislava
+pref.timezone.Europe.Brussels=Eropah/Brussels
+pref.timezone.Europe.Bucharest=Eropah/Bucharest
+pref.timezone.Europe.Budapest=Eropah/Budapest
+pref.timezone.Europe.Chisinau=Eropah/Chisinau
+pref.timezone.Europe.Copenhagen=Eropah/Copenhagen
+pref.timezone.Europe.Dublin=Eropah/Dublin
+pref.timezone.Europe.Gibraltar=Eropah/Gibraltar
+pref.timezone.Europe.Guernsey=Eropah/Guernsey
+pref.timezone.Europe.Helsinki=Eropah/Helsinki
+pref.timezone.Europe.Isle_of_Man=Eropah/Isle of Man
+pref.timezone.Europe.Istanbul=Eropah/Istanbul
+pref.timezone.Europe.Jersey=Eropah/Jersey
+pref.timezone.Europe.Kaliningrad=Eropah/Kaliningrad
+pref.timezone.Europe.Kiev=Eropah/Kiev
+pref.timezone.Europe.Lisbon=Eropah/Lisbon
+pref.timezone.Europe.Ljubljana=Eropah/Ljubljana
+pref.timezone.Europe.London=Eropah/London
+pref.timezone.Europe.Luxembourg=Eropah/Luxembourg
+pref.timezone.Europe.Madrid=Eropah/Madrid
+pref.timezone.Europe.Malta=Eropah/Malta
+pref.timezone.Europe.Mariehamn=Eropah/Mariehamn
+pref.timezone.Europe.Minsk=Eropah/Minsk
+pref.timezone.Europe.Monaco=Eropah/Monaco
+pref.timezone.Europe.Moscow=Eropah/Moskow
+pref.timezone.Europe.Nicosia=Eropah/Nicosia
+pref.timezone.Europe.Oslo=Eropah/Oslo
+pref.timezone.Europe.Paris=Eropah/Paris
+pref.timezone.Europe.Podgorica=Eropah/Podgorica
+pref.timezone.Europe.Prague=Eropah/Prague
+pref.timezone.Europe.Riga=Eropah/Riga
+pref.timezone.Europe.Rome=Eropah/Rom
+pref.timezone.Europe.Samara=Eropah/Samara
+pref.timezone.Europe.San_Marino=Eropah/San Marino
+pref.timezone.Europe.Sarajevo=Eropah/Sarajevo
+pref.timezone.Europe.Simferopol=Eropah/Simferopol
+pref.timezone.Europe.Skopje=Eropah/Skopje
+pref.timezone.Europe.Sofia=Eropah/Sofia
+pref.timezone.Europe.Stockholm=Eropah/Stockholm
+pref.timezone.Europe.Tallinn=Eropah/Tallinn
+pref.timezone.Europe.Tirane=Eropah/Tirane
+pref.timezone.Europe.Uzhgorod=Eropah/Uzhgorod
+pref.timezone.Europe.Vaduz=Eropah/Vaduz
+pref.timezone.Europe.Vatican=Eropah/Vatican
+pref.timezone.Europe.Vienna=Eropah/Vienna
+pref.timezone.Europe.Vilnius=Eropah/Vilnius
+pref.timezone.Europe.Volgograd=Eropah/Volgograd
+pref.timezone.Europe.Warsaw=Eropah/Warsaw
+pref.timezone.Europe.Zagreb=Eropah/Zagreb
+pref.timezone.Europe.Zaporozhye=Eropah/Zaporozhye
+pref.timezone.Europe.Zurich=Eropah/Zurich
+pref.timezone.Indian.Antananarivo=India/Antananarivo
+pref.timezone.Indian.Chagos=India/Chagos
+pref.timezone.Indian.Christmas=India/Christmas
+pref.timezone.Indian.Cocos=India/Cocos
+pref.timezone.Indian.Comoro=India/Comoro
+pref.timezone.Indian.Kerguelen=India/Kerguelen
+pref.timezone.Indian.Mahe=India/Mahe
+pref.timezone.Indian.Maldives=India/Maldives
+pref.timezone.Indian.Mauritius=India/Mauritius
+pref.timezone.Indian.Mayotte=India/Mayotte
+pref.timezone.Indian.Reunion=India/Reunion
+pref.timezone.Pacific.Apia=Pasifik/Apia
+pref.timezone.Pacific.Auckland=Pasifik/Auckland
+pref.timezone.Pacific.Chatham=Pasifik/Chatham
+pref.timezone.Pacific.Easter=Pasifik/Easter
+pref.timezone.Pacific.Efate=Pasifik/Efate
+pref.timezone.Pacific.Enderbury=Pasifik/Enderbury
+pref.timezone.Pacific.Fakaofo=Pasifik/Fakaofo
+pref.timezone.Pacific.Fiji=Pasifik/Fiji
+pref.timezone.Pacific.Funafuti=Pasifik/Funafuti
+pref.timezone.Pacific.Galapagos=Pasifik/Galapagos
+pref.timezone.Pacific.Gambier=Pasifik/Gambier
+pref.timezone.Pacific.Guadalcanal=Pasifik/Guadalcanal
+pref.timezone.Pacific.Guam=Pasifik/Guam
+pref.timezone.Pacific.Honolulu=Pasifik/Honolulu
+pref.timezone.Pacific.Johnston=Pasifik/Johnston
+pref.timezone.Pacific.Kiritimati=Pasifik/Kiritimati
+pref.timezone.Pacific.Kosrae=Pasifik/Kosrae
+pref.timezone.Pacific.Kwajalein=Pasifik/Kwajalein
+pref.timezone.Pacific.Majuro=Pasifik/Majuro
+pref.timezone.Pacific.Marquesas=Pasifik/Marquesas
+pref.timezone.Pacific.Midway=Pasifik/Midway
+pref.timezone.Pacific.Nauru=Pasifik/Nauru
+pref.timezone.Pacific.Niue=Pasifik/Niue
+pref.timezone.Pacific.Norfolk=Pasifik/Norfolk
+pref.timezone.Pacific.Noumea=Pasifik/Noumea
+pref.timezone.Pacific.Pago_Pago=Pasifik/Pago Pago
+pref.timezone.Pacific.Palau=Pasifik/Palau
+pref.timezone.Pacific.Pitcairn=Pasifik/Pitcairn
+pref.timezone.Pacific.Ponape=Pasifik/Ponape
+pref.timezone.Pacific.Port_Moresby=Pasifik/Port Moresby
+pref.timezone.Pacific.Rarotonga=Pasifik/Rarotonga
+pref.timezone.Pacific.Saipan=Pasifik/Saipan
+pref.timezone.Pacific.Tahiti=Pasifik/Tahiti
+pref.timezone.Pacific.Tarawa=Pasifik/Tarawa
+pref.timezone.Pacific.Tongatapu=Pasifik/Tongatapu
+pref.timezone.Pacific.Truk=Pasifik/Truk
+pref.timezone.Pacific.Wake=Pasifik/Wake
+pref.timezone.Pacific.Wallis=Pasifik/Wallis
+
+# the following have been missing
+pref.timezone.America.Indiana.Tell_City=Amerika/Indiana/Tell City
+pref.timezone.America.Indiana.Winamac=Amerika/Indiana/Winamac
+pref.timezone.America.Marigot=Amerika/Marigot
+pref.timezone.America.Resolute=Amerika/Resolute
+pref.timezone.America.St_Barthelemy=Amerika/St. Barthelemy
+
+# added with 2008d:
+pref.timezone.America.Argentina.San_Luis=Amerika/Argentina/San Luis
+pref.timezone.America.Santarem=Amerika/Santarem
+pref.timezone.Asia.Ho_Chi_Minh=Asia/Ho Chi Minh
+pref.timezone.Asia.Kolkata=Asia/Kolkata
+
+# added with 2008i:
+pref.timezone.America.Argentina.Salta=Amerika/Argentina/Salta
+
+# added with 2010i
+pref.timezone.America.Matamoros=Amerika/Matamoros
+pref.timezone.America.Ojinaga=Amerika/Ojinaga
+pref.timezone.America.Santa_Isabel=Amerika/Santa Isabel
+pref.timezone.Antarctica.Macquarie=Antartika/Macquarie
+pref.timezone.Asia.Novokuznetsk=Asia/Novokuznetsk
+
+#added with 2011b
+pref.timezone.America.Bahia_Banderas=Amerika/Bahia Banderas
+pref.timezone.America.North_Dakota.Beulah=Amerika/North Dakota/Beulah
+pref.timezone.Pacific.Chuuk=Pasifik//Chuuk
+pref.timezone.Pacific.Pohnpei=Pasifik//Pohnpei
+
+#added with 2011n
+pref.timezone.Africa.Juba=Afrika/Juba
+pref.timezone.America.Kralendijk=Amerika/Kralendijk
+pref.timezone.America.Lower_Princes=Amerika/Lower Princes
+pref.timezone.America.Metlakatla=Amerika/Metlakatla
+pref.timezone.America.Sitka=Amerika/Sitka
+pref.timezone.Asia.Hebron=Asia/Hebron
+
+#added with 2013a
+pref.timezone.America.Creston=Amerika/Creston
+pref.timezone.Asia.Khandyga=Asia/Khandyga
+pref.timezone.Asia.Ust-Nera=Asia/Ust-Nera
+pref.timezone.Europe.Busingen=Eropah/Busingen
+
+#added with 2014b
+pref.timezone.Antarctica.Troll=Antartika/Troll
+
+#added with 2014j
+pref.timezone.Asia.Chita=Asia/Chita
+pref.timezone.Asia.Srednekolymsk=Asia/Srednekolymsk
+pref.timezone.Pacific.Bougainville=Pasifik/Bougainville
+
+#added with 2.2015g
+pref.timezone.America.Fort_Nelson=Amerika/Fort Nelson
+
+#added with 2.2016b
+pref.timezone.Europe.Ulyanovsk=Eropah/Ulyanovsk
+pref.timezone.Europe.Astrakhan=Eropah/Astrakhan
+pref.timezone.Asia.Barnaul=Asia/Barnaul
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=Asia/Yangon
+pref.timezone.Asia.Tomsk=Asia/Tomsk
+pref.timezone.Asia.Famagusta=Asia/Famagusta
+pref.timezone.Europe.Kirov=Eropah/Kirov
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=Eropah/Saratov
+pref.timezone.Asia.Atyrau=Asia/Atyrau
+
+#added with 2.2017b
+pref.timezone.America.Punta_Arenas=Amerika/Punta Arenas
diff --git a/calendar/chrome/lightning/lightning-toolbar.dtd b/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100644
index 00000000000..7561c5d7e0f
--- /dev/null
+++ b/calendar/chrome/lightning/lightning-toolbar.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/lightning/lightning.dtd b/calendar/chrome/lightning/lightning.dtd
new file mode 100644
index 00000000000..7a71327319f
--- /dev/null
+++ b/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/lightning/lightning.properties b/calendar/chrome/lightning/lightning.properties
new file mode 100644
index 00000000000..44f4539b7ba
--- /dev/null
+++ b/calendar/chrome/lightning/lightning.properties
@@ -0,0 +1,229 @@
+# 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/.
+
+# addon description:
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.name=Lightning
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.description=Integrasi Kalendar & Jadual untuk E-mel pelanggan anda
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.creator=Projek Kalendar Mozilla
+
+# Lightning branding
+brandShortName=Lightning
+
+# Task mode title
+taskModeApplicationTitle=Tugasan
+
+# Tab titles
+tabTitleCalendar=Kalendar
+tabTitleTasks=Tugasan
+
+# Html event display in message
+imipHtml.header=Jemputan Acara
+imipHtml.summary=Tajuk:
+imipHtml.location=Lokasi:
+imipHtml.when=Pada:
+imipHtml.organizer=Penganjur:
+imipHtml.description=Keterangan:
+# LOCALIZATION_NOTE(imipHtml.attachments): This is a label for one or more (additional) links to
+# documents or websites attached to this event.
+imipHtml.attachments=Lampiran:
+imipHtml.comment=Komen:
+imipHtml.attendees=Peserta:
+# LOCALIZATION_NOTE(imipHtml.url): This is a label for a reference to an (alternate) online
+# representation of the event (either directly human readable or not).
+imipHtml.url=Pautan Berkaitan:
+imipHtml.canceledOccurrences=Pengulangan Dibatalkan:
+imipHtml.modifiedOccurrences=Pengulangan Diubahsuai:
+imipHtml.newLocation=Lokasi Baru: %1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedFrom): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegator or a comma separated list of delegators
+imipHtml.attendeeDelegatedFrom=(mewakili %1$S)
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedTo): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+imipHtml.attendeeDelegatedTo=(mewakilkan %1$S)
+
+# LOCALIZATION_NOTE(imipHtml.attendee.combined): tooltip for itip icon in email invitation preview.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of imipHtml.attendeeRole2.*
+# %2$S - value of imipHtml.attendeePartStat2.*
+imipHtml.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.CHAIR): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.CHAIR=%1$S mempengerusikan acara.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.NON-PARTICIPANT=%1$S adalah bukan-peserta.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.OPT-PARTICIPANT=%1$S adalah peserta tambahan.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.REQ-PARTICIPANT=%1$S adalah peserta wajib.
+
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.ACCEPTED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.ACCEPTED=%1$S telah mengesahkan kehadiran.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DECLINED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.DECLINED=%1$S tidak akan hadir.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DELEGATED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# %2$S - single delegatee or comma separated list of delegatees
+# delegation is different from invitation forwarding - in case of the former the original attendee
+# is replaced, while on the latter the receiver may take part additionally
+imipHtml.attendeePartStat2.DELEGATED=%1$S telah mewakilkan kehadiran kepada %2$S.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.NEEDS-ACTION): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.NEEDS-ACTION=%1$S masih belum memberikan jawapan.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.TENTATIVE): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.TENTATIVE=%1$S telah mengesahkan kehadiran secara tentatif.
+
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.INDIVIDUAL): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing an individual attendee
+imipHtml.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.GROUP): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing a group (e.g. a distribution list)
+imipHtml.attendeeUserType2.GROUP=%1$S (kumpulan)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.RESOURCE): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing a resource (e.g. projector)
+imipHtml.attendeeUserType2.RESOURCE=%1$S (sumber)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.ROOM): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing a room
+imipHtml.attendeeUserType2.ROOM=%1$S (bilik)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing an attendee of unknown type
+imipHtml.attendeeUserType2.UNKNOWN=%1$S
+
+imipAddedItemToCal2=Acara ini telah dimasukkan ke dalam kalendar anda.
+imipCanceledItem2=Acara ini telah dihapuskan daripada kalendar anda.
+imipUpdatedItem2=Acara telah dikemaskini.
+imipBarCancelText=Mesej ini mengandungi pembatalan acara.
+imipBarCounterErrorText=Mesej ini mengandungi cadangan balasl kepada jemputan yang tidak boleh diproses.
+imipBarCounterPreviousVersionText=Mesej ini mengandungi cadangan balas kepada jemputan versi terdahulu.
+imipBarCounterText=Mesej ini mengandungi cadangan balas kepada jemputan.
+imipBarDisallowedCounterText=Mesej ini mengandungi cadangan balas walaupun anda tidak mengizinkan balasan untuk acara ini.
+imipBarDeclineCounterText=Mesej ini mengandungi jawapan kepada cadangan balasan anda.
+imipBarRefreshText=Mesej ini meminta kemaskini acara.
+imipBarPublishText=Mesej ini mengandungi acara.
+imipBarRequestText=Mesej ini mengandungi jemputan untuk menghadiri acara.
+imipBarSentText=Mesej ini mengandungi acara yang dihantar.
+imipBarSentButRemovedText=Mesej ini mengandungi acara yang dihantar keluar tapi sudah tiada lagi dalam kalendar anda.
+imipBarUpdateText=Mesej ini mengandungi kemaskini acara yang sedia ada.
+imipBarUpdateMultipleText=Mesej ini mengandungi kemaskini berbilang acara yang sedia ada.
+imipBarUpdateSeriesText=Mesej ini mengandungi kemaskini siri acara yang sedia ada.
+imipBarAlreadyProcessedText=Mesej ini mengandungi acara yang sudah diproses.
+imipBarProcessedNeedsAction=Mesej ini mengandungi acara yang anda masih belum beri respons.
+imipBarProcessedMultipleNeedsAction=Mesej ini mengandungi berbilang acara yang anda masih belum beri respons.
+imipBarProcessedSeriesNeedsAction=Mesej ini mengandungi siri acara yang anda masih belum beri respons.
+imipBarReplyText=Mesej ini mengandungi jawapan kepada jemputan.
+imipBarReplyToNotExistingItem=Mesej ini mengandungi jawapan yang merujuk kepada satu acara yang tiada dalam kalendar anda.
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - datetime of deletion
+imipBarReplyToRecentlyRemovedItem=Mesej ini mengandungi jawapan yang merujuk kepada satu acara yang telah dikeluarkan daripada kalendar anda pada %1$S.
+imipBarUnsupportedText=Mesej ini mengandungi acara dalam versi yang tidak dapat diproses oleh Lightning.
+imipBarProcessingFailed=Gagal memproses mesej. Status: %1$S.
+imipBarNotWritable=Kalendar boleh tulis tidak dikonfigurasi untuk jemputan, sila semak sifat kalendar.
+imipSendMail.title=Notifikasi E-mel
+imipSendMail.text=Anda mahu hantar E-mel notifikasi sekarang?
+imipNoIdentity=Tiada
+imipNoCalendarAvailable=Tiada kalender boleh tulis tersedia.
+
+itipReplySubject=Jawapan Jemputan Acara: %1$S
+
+itipReplySubject2=Jawapan Jemputan: %1$S
+itipReplyBodyAccept=%1$S telah bersetuju menghadiri acara anda.
+itipReplyBodyDecline=%1$S tidak akan menghadiri acara anda.
+itipReplySubjectAccept=Jawapan Jemputan Acara (Hadir): %1$S
+itipReplySubjectDecline=Jawapan Jemputan Acara (Tidak Hadir): %1$S
+itipReplySubjectTentative=Jawapan Jemputan Acara (Tentatif): %1$S
+itipRequestSubject=Jemputan Acara: %1$S
+itipRequestUpdatedSubject=Jemputan Acara Dikemaskini: %1$S
+itipReplySubjectAccept2=Diterima: %1$S
+itipReplySubjectDecline2=Jemputan Ditolak: %1$S
+itipReplySubjectTentative2=Tentatif: %1$S
+itipRequestSubject2=Jemputan: %1$S
+itipRequestUpdatedSubject2=Dikemaskini: %1$S
+itipRequestBody=%1$S telah menjemput anda menghadiri %2$S
+itipCancelSubject=Acara Dibatalkan: %1$S
+itipCancelSubject2=Dibatalkan: %1$S
+itipCancelBody=%1$S telah membatalkan acara ini: %2$S
+itipCounterBody=%1$S telah membuat cadangan balas untuk "%2$S":
+itipDeclineCounterBody=%1$S telah menolak cadangan balas anda untuk "%2$S".
+itipDeclineCounterSubject=Cadangan balas Ditolak: %1$S
+
+confirmProcessInvitation=Anda baru sahaja menghapuskan item ini, anda pasti mahu memproses jemputan ini?
+confirmProcessInvitationTitle=Proses Jemputan?
+
+invitationsLink.label=Jemputan: %1$S
+
+# LOCALIZATION_NOTE(binaryComponentKnown): This is shown when Lightning is
+# missing the binary component and knows how to calculate the expected version
+# number. To test, remove the binary component from the components/
+# subdirectory and start Lightning, or force install into a different
+# Thunderbird version. In the last part of the sentence it should be made clear
+# that the user can install e.g. 3.7, 3.7.1 or anything other 3.7.x version
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The current Lightning version
+# %3$S - The expected Lightning version
+binaryComponentKnown=Komponen binari yang diperlukan untuk %1$S tidak dapat dimuatkan, mungkin kerana salah kombinasi versi yang digunakan. Anda sudah pasang %1$S %2$S, tapi sepatutnya menggunakan versi daripada siri %3$S.
+
+# LOCALIZATION_NOTE(binaryComponentUnknown): This is shown when Lightning is
+# missing the binary component but can't calculate the expected version. This
+# happens in the rare case that Lightning is installed into something other
+# than Thunderbird or Seamonkey. You may link to a different page if you can
+# commit to keeping it up to date, I'd recommend staying with the English page.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The application brand name, e.g. Postbox
+# %3$S - The application version
+# %3$S - The current Lightning version
+binaryComponentUnknown=Komponen binari yang diperlukan untuk %1$S tidak dapat dimuatkan, mungkin kerana salah gabungan versi yang digunakan. Anda menggunakan %2$S %3$S bersama dengan %1$S %4$S. Sila semak https://developer.mozilla.org/en/Calendar/Calendar_Versions untuk maklumat lanjut.
+
+# LOCALIZATION_NOTE(binaryComponentTitle): The title for the dialog that
+# notifies about a version mismatch.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+binaryComponentTitle=Tiada padanan Versi %1$S
+
+# LOCALIZATION_NOTE(integrationLabel): Used by the notification bar shown when
+# Lightning is installed from the distribution folder. To trigger it, start a
+# new profile without Lightning in a previous Thunderbird version, then upgrade
+# to a Thunderbird that has Lightning packaged. See bug 1130852 for details.
+integrationLabel=%1$S kini mengandungi fungsi kalendar dengan mengintegrasikan ekstensi %2$S.
+integrationLearnMoreButton=Ketahui selanjutnya
+integrationLearnMoreAccessKey=s
+integrationOptOutButton=Nyahdayakan
+integrationOptOutAccessKey=N
+integrationKeepItButton=Kekalkan
+integrationKeepItAccessKey=K
+
+# LOCALIZATION_NOTE(integrationRestartLabel): At the current time its not yet
+# clear if we will be completely uninstalling Lightning or disabling it. Please
+# translate this string in a general manner, so that it makes sense for both
+# options.
+integrationRestartLabel=%1$S akan dibuang selepas anda mulakan semula %2$S. Anda boleh tambah semula pada bila-bila masa menggunakan Pengurus Add-ons.
+integrationRestartButton=Mula semula sekarang
+integrationRestartAccessKey=M
+integrationUndoButton=Batal
+integrationUndoAccessKey=B
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
+noIdentitySelectedNotification=Jika anda mahu menggunakan kalendar ini untuk menyimpan jemputan kepada atau daripada orang lain, anda perlu tetapkan identiti e-mel di bawah.
diff --git a/chat/accounts.dtd b/chat/accounts.dtd
new file mode 100644
index 00000000000..70a91001933
--- /dev/null
+++ b/chat/accounts.dtd
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chat/accounts.properties b/chat/accounts.properties
new file mode 100644
index 00000000000..001bcc56a45
--- /dev/null
+++ b/chat/accounts.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 (passwordPromptTitle, passwordPromptText):
+# %S is replaced with the name of the account
+passwordPromptTitle=Kata laluan untuk %S
+passwordPromptText=Sila masukkan kata laluan %S supaya anda boleh menyambungkannya.
+passwordPromptSaveCheckbox=Guna Pengurus Kata laluan untuk mengingati kata laluan ini.
diff --git a/chat/commands.properties b/chat/commands.properties
new file mode 100644
index 00000000000..2c2f2853179
--- /dev/null
+++ b/chat/commands.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 (commands):
+# %S is a comma separated list of command names.
+commands=Arahan: %S.\nGuna /help <arahan> untuk maklumat lanjut.
+# LOCALIZATION NOTE (noCommand, noHelp):
+# %S is the command name the user typed.
+noCommand=Tiada arahan '%S'.
+noHelp=Tiada mesej bantuan untuk arahan '%S', maaf!
+
+sayHelpString=say <mesej>: hantar mesej tanpa memproses arahan.
+rawHelpString=raw <mesej>: hantar mesej tanpa mengabaikan entiti HTML.
+helpHelpString=help<nama> papar mesej bantuan untuk arahan <nama>, atau senarai arahan jika digunakan tanpa parameter.
+
+# LOCALIZATION NOTE (statusCommand):
+# %1$S is replaced with a status command name
+# (one of "back", "away", "busy", "dnd", or "offline").
+# %2$S is replaced with the localized version of that status type
+# (one of the 5 strings below).
+statusCommand=%1$S <mesej status>: tetapkan status ke %2$S dengan mesej status pilihan.
+back=ada
+away=tiada
+busy=tiada
+dnd=tiada
+offline=luar talian
diff --git a/chat/contacts.properties b/chat/contacts.properties
new file mode 100644
index 00000000000..7b2ca7d67c2
--- /dev/null
+++ b/chat/contacts.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/.
+
+# LOCALIZATION NOTE (defaultGroup):
+# This is the name of the group that will automatically be created when adding a
+# buddy without specifying a group.
+defaultGroup=Kenalan
diff --git a/chat/conversations.properties b/chat/conversations.properties
new file mode 100644
index 00000000000..6cc020e8584
--- /dev/null
+++ b/chat/conversations.properties
@@ -0,0 +1,80 @@
+# 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 (targetChanged):
+# %1$S is the new conversation title (display name of the new target),
+# %2$S is the protocol name used for the new target.
+targetChanged=Perbualan akan diteruskan dengan %1$S, menggunakan %2$S.
+
+# LOCALIZATION NOTE (statusChanged):
+# %1$S is the display name of the contact.
+# %2$S is the new status type (a value from status.properties).
+statusChanged=Status %1$S kini menjadi %2$S.
+# LOCALIZATION NOTE (statusChangedWithStatusText):
+# %1$S is the display name of the contact.
+# %2$S is the new status type (a value from status.properties).
+# %3$S is the status text (eg. "I'm currently away from the computer").
+statusChangedWithStatusText=Status %1$S kini menjadi %2$S: %3$S.
+# LOCALIZATION NOTE (statusChangedFromUnknown[WithStatusText]):
+# special case of the previous 2 strings for when the status was
+# previously unknown. These 2 strings should not mislead the user
+# into thinking the person's status has just changed.
+statusChangedFromUnknown=Status %1$S adalah %2$S.
+statusChangedFromUnknownWithStatusText=Status %1$S adalah %2$S: %3$S.
+# LOCALIZATION NOTE (statusKnown[WithStatusText]):
+# special case of the previous 2 strings for when an account has just
+# been reconnected, so the status is now known. These 2 strings should not
+# mislead the user into thinking the person's status has just changed.
+statusKnown=Akaun anda telah disambungkan semula (status %1$S adalah %2$S).
+statusKnownWithStatusText=Akaun anda telah disambungkan semula (status %1$S adalah %2$S: %3$S).
+# LOCALIZATION NOTE (statusUnknown):
+# %S is the display name of the contact.
+statusUnknown=Akaun anda telah diputuskan sambungan (status %S tidak lagi diketahui).
+
+accountDisconnected=Akaun anda telah diputuskan sambungan.
+accountReconnected=Akaun anda telah disambungkan semula.
+
+# LOCALIZATION NOTE (autoReply):
+# %S is replaced by the text of a message that was sent as an automatic reply.
+autoReply=Auto-balas - %S
+
+# LOCALIZATION NOTE (noTopic):
+# Displayed instead of the topic when no topic is set.
+noTopic=Tiada mesej topik untuk bilik ini.
+
+# LOCALIZATION NOTE (topicSet):
+# %1$S is the conversation name, %2$S is the topic.
+topicSet=Topik untuk %1$S ialah: %2$S.
+# LOCALIZATION NOTE (topicNotSet):
+# %S is the conversation name.
+topicNotSet=Tiada topik untuk %S.
+# LOCALIZATION NOTE (topicChanged):
+# %1$S is the user who changed the topic, %2$S is the new topic.
+topicChanged=%1$S telah menukar topik menjadi : %2$S.
+# LOCALIZATION NOTE (topicCleared):
+# %1$S is the user who cleared the topic.
+topicCleared=%1$S telah membuang topik ini.
+
+# LOCALIZATION NOTE (nickSet):
+# This is displayed as a system message when a participant changes his/her
+# nickname in a conversation.
+# %1$S is the old nick.
+# %2$S is the new nick.
+nickSet=%1$S kini dikenali sebagai %2$S.
+# LOCALIZATION NOTE (nickSet.you):
+# This is displayed as a system message when your nickname is changed.
+# %S is your new nick.
+nickSet.you=Anda kini dikenali sebagai %S.
+
+# LOCALIZATION NOTE (messenger.conversations.selections.ellipsis):
+# ellipsis is used when copying a part of a message to show that the message was cut
+messenger.conversations.selections.ellipsis=[â¦]
+
+# LOCALIZATION NOTE (messenger.conversations.selections.{system,content,action}MessagesTemplate):
+# These 3 templates are used to format selected messages before copying them.
+# Do not translate the texts between % characters, but feel free to adjust
+# whitespace and separators to make them fit your locale.
+messenger.conversations.selections.systemMessagesTemplate=%time% - %message%
+messenger.conversations.selections.contentMessagesTemplate=%time% - %sender%: %message%
+messenger.conversations.selections.actionMessagesTemplate=%time% * %sender% %message%
diff --git a/chat/dateFormat.properties b/chat/dateFormat.properties
new file mode 100644
index 00000000000..ed99cdba5d1
--- /dev/null
+++ b/chat/dateFormat.properties
@@ -0,0 +1,62 @@
+# 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/.
+
+month.1.Mmm=Jan
+month.2.Mmm=Feb
+month.3.Mmm=Mac
+month.4.Mmm=Apr
+month.5.Mmm=Mei
+month.6.Mmm=Jun
+month.7.Mmm=Jul
+month.8.Mmm=Ogo
+month.9.Mmm=Sep
+month.10.Mmm=Okt
+month.11.Mmm=Nov
+month.12.Mmm=Dis
+
+month.1.name=Januari
+month.2.name=Februari
+month.3.name=Mac
+month.4.name=April
+month.5.name=Mei
+month.6.name=Jun
+month.7.name=Julai
+month.8.name=Ogos
+month.9.name=September
+month.10.name=Oktober
+month.11.name=November
+month.12.name=Disember
+
+day.1.name=Ahad
+day.2.name=Isnin
+day.3.name=Selasa
+day.4.name=Rabu
+day.5.name=Khamis
+day.6.name=Jumaat
+day.7.name=Sabtu
+
+day.1.Mmm=Aha
+day.2.Mmm=Isn
+day.3.Mmm=Sel
+day.4.Mmm=Rab
+day.5.Mmm=Kha
+day.6.Mmm=Jum
+day.7.Mmm=Sab
+
+day.1.short=Ah
+day.2.short=Is
+day.3.short=Se
+day.4.short=Ra
+day.5.short=Kh
+day.6.short=Ju
+day.7.short=Sa
+
+noon=Tengahari
+midnight=Tengah Malam
+
+AllDay=Sepanjang Hari
+
+# LOCALIZATION NOTE (finduri-MonthYear):
+# %1$S is the month name, %2$S is the year (4 digits format).
+finduri-MonthYear=%1$S %2$S
diff --git a/chat/facebook.properties b/chat/facebook.properties
new file mode 100644
index 00000000000..db9305fa309
--- /dev/null
+++ b/chat/facebook.properties
@@ -0,0 +1,6 @@
+# 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/.
+
+facebook.chat.name=Sembang Facebook
+facebook.disabled=Sembang Facebook tidak lagi disokong kerana Facebook menyahdayakan get laluan XMPP mereka.
diff --git a/chat/imtooltip.properties b/chat/imtooltip.properties
new file mode 100644
index 00000000000..5574469aa1c
--- /dev/null
+++ b/chat/imtooltip.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/.
+
+buddy.username=Nama pengguna
+buddy.account=Akaun
+contact.tags=Tag
diff --git a/chat/irc.properties b/chat/irc.properties
new file mode 100644
index 00000000000..25b60aad0af
--- /dev/null
+++ b/chat/irc.properties
@@ -0,0 +1,209 @@
+# 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 (irc.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring an IRC account.
+irc.usernameHint=gelaran
+
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if the account is
+# disconnected because of an error.
+connection.error.lost=Hilang sambungan dengan pelayan
+connection.error.timeOut=Sambungan tamat masa
+connection.error.invalidUsername=%S tidak boleh digunakan sebagai nama pengguna
+connection.error.invalidPassword=Kata laluan pelayan tidak sah
+connection.error.passwordRequired=Kata laluan diperlukan
+
+# LOCALIZATION NOTE (joinChat.*):
+# These show up on the join chat menu. An underscore is for the access key.
+joinChat.channel=_Saluran
+joinChat.password=_Kata laluan
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.server=Pelayan
+options.port=Port
+options.ssl=Guna SSL
+options.encoding=Set Aksara
+options.quitMessage=Mesej keluar
+options.partMessage=Mesej bahagian
+options.showServerTab=Papar mesej daripada pelayan
+options.alternateNicks=Nama gelaran alternatif
+
+# LOCALIZATION NOTE (ctcp.version):
+# %1$S is the nickname of the user whose version was requested.
+# %2$S is the version response from the client.
+ctcp.version=%1$S menggunakan "%2$S".
+# LOCALIZATION NOTE (ctcp.time):
+# %1$S is the nickname of the user whose time was requested.
+# %2$S is the time response.
+ctcp.time=Masa di tempat %1$S ialah %2$S.
+
+# LOCALZIATION NOTE (command.*):
+# These are the help messages for each command, the %S is the command name
+# Each command first gives the parameter it accepts and then a description of
+# the command.
+command.action=%S <action to perform>: Melaksanakan tindakan.
+command.ban=%S <nick!user@host>: Sekat pengguna yang sepadan dengan corak yang diberikan.
+command.ctcp=%S <nick> <msg>: Hantar mesej CTCP kepada gelaran.
+command.chanserv=%S <command>: Hantar arahan kepada ChanServ.
+command.deop=%S <nick1>[,<nick2>]*: Menghapuskan status operator saluran daripada seseorang. Anda hendaklah seorang operator untuk melakukan ini.
+command.devoice=%S <nick1>[,<nick2>]*: Menghapuskan status suara saluran daripada seseorang, yang menghalang mereka bercakap jika saluran ini dipengerusikan (+m). Anda hendaklah operator saluran untuk melakukan ini.
+command.invite2=%S <nick>[ <nick>]* [<channel>]: Jemput seorang atau lebih ramai pengguna menyertai anda dalam saluran semasa, atau menyertai saluran tertentu.
+command.join=%S <room1>[ <key1>][,<room2>[ <key2>]]*: Sertai satu atau lebih saluran, pilihan untuk menyediakan kunci setiap saluran, jika perlu.
+command.kick=%S <nick> [<message>]: Singkir seseorang daripada saluran. Anda hendaklah operator saluran untuk melakukan ini.
+command.list=%S: Memaparkan senarai bilik sembang di dalam rangkaian. Amaran, beberapa pelayan mungkin memutuskan sambungan anda semasa melakukan perkara ini.
+command.memoserv=%S <command>: Hantar arahan kepada MemoServ.
+command.modeUser2=%S <nick> [(+|-)<mode>]: Dapatkan, tetapkan atau buang tetapan mod pengguna.
+command.modeChannel2=%S [<channel>] [(+|-)<new mode> [<parameter>][,<parameter>]*]: Dapatkan, tetapkan atau buang tetapan mod saluran.
+command.msg=%S <nick> <message>: Hantar mesej peribadi kepada pengguna (bukannya dalam saluran).
+command.nick=%S <new nickname>: Tukar nama gelaran anda.
+command.nickserv=%S <command>: Hantar arahan kepada NickServ.
+command.notice=%S <target> <message>: Hantar notis kepada pengguna atau saluran.
+command.op=%S <nick1>[,<nick2>]*: Maklumkan status operator saluran kepada seseorang. Anda hendaklah operator saluran untuk melakukan ini.
+command.operserv=%S <command>: Hantar arahan kepada OperServ.
+command.part=%S [message]: Tinggalkan mesej saluran semasa dengan mesej pilihan.
+command.ping=%S [<nick>]: Tanyakan sela waktu yang dialami pengguna (atau pelayan jika tiada pengguna yang ditentukan).
+command.quit=%S <message>: Putuskan sambungan daripada pelayan dengan mesej pilihan.
+command.quote=%S <command>: Hantar arahan mentah kepada pelayan.
+command.time=%S: Memaparkan masa tempatan semasa pada pelayan IRC.
+command.topic=%S [<new topic>]: Tetapkan topik saluran ini.
+command.umode=%S (+|-)<new mode>: Tetapkan atau buang tetapan mod pengguna.
+command.version=%S <nick>: Tanyakan versi klien pengguna.
+command.voice=%S <nick1>[,<nick2>]*: Maklumkan status suara saluran kepada seseorang. Anda hendaklah operator saluran untuk melakukan ini.
+command.whois2=%S [<nick>]: Dapatkan maklumat pengguna.
+
+# LOCALIZATION NOTE (message.*):
+# These are shown as system messages in the conversation.
+# %1$S is the nick and %2$S is the nick and host of the user who joined.
+message.join=%1$S [%2$S] memasuki bilik.
+message.rejoined=Anda telah kembali ke dalam bilik.
+# %1$S is the nick of who kicked you.
+# %2$S is message.kicked.reason, if a kick message was given.
+message.kicked.you=Anda telah disingkirkan oleh %1$S%2$S.
+# %1$S is the nick that is kicked, %2$S the nick of the person who kicked
+# %1$S. %3$S is message.kicked.reason, if a kick message was given.
+message.kicked=%1$S telah disingkirkan oleh %2$S%3$S.
+# %S is the kick message
+message.kicked.reason=: %S
+# %1$S is the new mode, %2$S is the nickname of the user whose mode
+# was changed, and %3$S is who set the mode.
+message.usermode=Mod %1$S untuk %2$S ditetapkan oleh %3$S.
+# %1$S is the new channel mode and %2$S is who set the mode.
+message.channelmode=Mod saluran %1$S ditetapkan oleh %2$S.
+# %S is the user's mode.
+message.yourmode=Mod anda adalah %S.
+# Could not change the nickname. %S is the user's nick.
+message.nick.fail=Tidak boleh menggunakan nama gelaran yang dikehendaki. Nama gelaran anda masih %S.
+# The parameter is the message.parted.reason, if a part message is given.
+message.parted.you=Anda telah meninggalkan bilik (Bahagian%1$S).
+# %1$S is the user's nick, %2$S is message.parted.reason, if a part message is given.
+message.parted=%1$S telah meninggalkan bilik (Bahagian %2$S).
+# %S is the part message supplied by the user.
+message.parted.reason=: %S
+# %1$S is the user's nick, %2$S is message.quit2 if a quit message is given.
+message.quit=%1$S telah meninggalkan bilik (Keluar %2$S).
+# The parameter is the quit message given by the user.
+message.quit2=: %S
+# %1$S is the nickname of the user that invited us, %2$S is the conversation
+# name.
+message.inviteReceived=%1$S telah menjemput anda ke %2$S.
+# %1$S is the nickname of the invited user, %2$S is the conversation name
+# they were invited to.
+message.invited=%1$S telah berjaya dijemput ke %2$S.
+# %1$S is the nickname of the invited user, %2$S is the conversation name
+# they were invited to but are already in
+message.alreadyInChannel=%1$S sudah berada dalam %2$S.
+# %S is the nickname of the user who was summoned.
+message.summoned=%S telah dipanggil.
+# %S is the nickname of the user whose WHOIS information follows this message.
+message.whois=Maklumat WHOIS untuk %S:
+# %1$S is the nickname of the (offline) user whose WHOWAS information follows this message.
+message.whowas=%1$S berada di luar talian. Maklumat WHOWAS untuk %1$S:
+# %1$S is the entry description (from tooltip.*), %2$S is its value.
+message.whoisEntry=\ua0\ua0\ua0\ua0%1$S: %2$S
+# %S is the nickname that is not known to the server.
+message.unknownNick=%S adalah nama gelaran yang tidak diketahui.
+# %1$S is the nickname of the user who changed the mode and %2$S is the new
+# channel key (password).
+message.channelKeyAdded=%1$S menukar kata laluan saluran kepada %2$S.
+message.channelKeyRemoved=%S telah menghapuskan kata laluan saluran.
+# This will be followed by a list of ban masks.
+message.banMasks=Pengguna yang disambungkan dari lokasi berikut telah dilarang daripada %S:
+message.noBanMasks=Tiada lokasi yang dilarang untuk %S.
+message.banMaskAdded=Pengguna yang disambungkan dari lokasi yang sepadan dengan %1$S telah dilarang oleh %2$S.
+message.banMaskRemoved=Pengguna yang disambungkan dari lokasi yang sepadan dengan %1$S tidak lagi dilarang oleh %2$S.
+# LOCALIZATION NOTE (message.ping): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %1$S is the nickname of the user or the server that was pinged.
+# #2 is the delay (in milliseconds).
+message.ping=Balasan ping daripada %1$S dalam #2 mili-saat.
+
+
+# LOCALIZATION NOTE (error.*):
+# These are shown as error messages in the conversation or server tab.
+# %S is the channel name.
+error.noChannel=Tiada saluran: %S.
+error.tooManyChannels=Tidak boleh menyertai %S; anda telah menyertai terlalu banyak saluran.
+# %1$S is your new nick, %2$S is the kill message from the server.
+error.nickCollision=Nama gelaran sudah digunakan, tukar nama gelaran kepada %1$S [%2$S].
+error.erroneousNickname=%S adalah nama gelaran yang tidak diizinkan.
+error.banned=Anda telah dilarang daripada pelayan ini.
+error.bannedSoon=Anda akan tidak lama lagi dilarang daripada pelayan ini.
+error.mode.wrongUser=Anda tidak boleh menukar mod pengguna lain.
+# %S is the nickname or channel name that isn't available.
+error.noSuchNick=%S tidak atas talian.
+error.wasNoSuchNick=Tiada nama gelaran: %S
+error.noSuchChannel=Tiada saluran: %S.
+error.unavailable=%S tidak tersedia buat seketika.
+# %S is the channel name.
+error.channelBanned=Anda telah disekat daripada %S.
+error.cannotSendToChannel=Anda tidak boleh menghantar mesej kepada %S.
+error.channelFull=Saluran %S sudah penuh.
+error.inviteOnly=Anda mesti dijemput untuk menyertai %S.
+error.nonUniqueTarget=%S bukan user@host atau nama singkatan unik, atau anda cuba menyertai terlalu banyak saluran sekali gus.
+error.notChannelOp=Anda bukan operator saluran %S.
+error.notChannelOwner=Anda bukan pemilik saluran %S.
+error.wrongKey=Tidak dapat menyertai %S, kata laluan saluran tidak sah.
+error.sendMessageFailed=Ada ralat semasa menghantar mesej anda yang terakhir. Sila cuba lagi sebaik sahaja ada sambungan.
+# %1$S is the channel the user tried to join, %2$S is the channel
+# he was forwarded to.
+error.channelForward=Anda tidak boleh sertai %1$S, dan secara automatik dilencongkan ke %2$S.
+# %S is the mode that the user tried to set but was not recognized
+# by the server as a valid mode.
+error.unknownMode='%S' bukan mod pengguna yang sah dalam pelayan ini.
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the descriptions given in a tooltip with information received
+# from a whois response.
+# The human readable ("realname") description of the user.
+tooltip.realname=Nama
+tooltip.server=Disambungkan ke
+# The username and hostname that the user connects from (usually based on the
+# reverse DNS of the user's IP, but often mangled by the server to
+# protect users).
+tooltip.connectedFrom=Disambungkan daripada
+tooltip.registered=Berdaftar
+tooltip.registeredAs=Berdaftar sebagai
+tooltip.secure=Menggunakan sambungan selamat
+# The away message of the user
+tooltip.away=Tiada
+tooltip.ircOp=Operator IRC
+tooltip.bot=Bot
+tooltip.lastActivity=Aktiviti terakhir
+# %S is the timespan elapsed since the last activity.
+tooltip.timespan=%S yang lepas
+tooltip.channels=Sekarang dalam
+
+# %1$S is the server name, %2$S is some generic server information (usually a
+# location or the date the user was last seen).
+tooltip.serverValue=%1$S (%2$S)
+
+# LOCALIZATION NOTE (yes, no):
+# These are used to turn true/false values into a yes/no response.
+yes=Ya
+no=Tidak
diff --git a/chat/logger.properties b/chat/logger.properties
new file mode 100644
index 00000000000..61dd177f4a6
--- /dev/null
+++ b/chat/logger.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/.
+
+# LOCALIZATION NOTE (badLogfile):
+# %S is the filename of the log file.
+badLogfile=Fail log kosong atau rosak: %S
diff --git a/chat/matrix.properties b/chat/matrix.properties
new file mode 100644
index 00000000000..694ad7eb4e9
--- /dev/null
+++ b/chat/matrix.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 (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.connectServer=Pelayan
+options.connectPort=Port
+
+# LOCALIZATION NOTE (chatRoomField.*):
+# These are the name of fields displayed in the 'Join Chat' dialog
+# for Matrix accounts.
+# The _ character won't be displayed; it indicates the next
+# character of the string should be used as the access key for this
+# field.
+chatRoomField.room=_Bilik
diff --git a/chat/skype.properties b/chat/skype.properties
new file mode 100644
index 00000000000..65d2da93d11
--- /dev/null
+++ b/chat/skype.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 (connection.*):
+# These will show in the account manager to show progress during a connection.
+connecting.authenticating=Mengesahkan
+connecting.registrationToken=Mendapatkan token pendaftaran
+
+# LOCALIZATION NOTE (error.*):
+# These will show in the account manager if the account is disconnected
+# because of an error.
+error.auth=Gagal mengesahkan kepada pelayan
+error.registrationToken=Gagal mendapatkan Token Pendaftaran
diff --git a/chat/status.properties b/chat/status.properties
new file mode 100644
index 00000000000..3b325b0c0b5
--- /dev/null
+++ b/chat/status.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/.
+
+availableStatusType=Ada
+awayStatusType=Tiada
+unavailableStatusType=Tiada
+offlineStatusType=Luar talian
+invisibleStatusType=Halimunan
+idleStatusType=Melahu
+mobileStatusType=Mudah alih
+# LOCALIZATION NOTE (unknownStatusType):
+# the status of a buddy is unknown when it's in the list of a disconnected account
+unknownStatusType=Tidak diketahui
+
+# LOCALIZATION NOTE (statusWithStatusMessage):
+# Used to display the status of a buddy together with its status message.
+# %1$S is the status type, %2$S is the status message text.
+statusWithStatusMessage=%1$S - %2$S
+
+# LOCALIZATION NOTE (messenger.status.defaultIdleAwayMessage):
+# This will be the away message put automatically when the user is idle.
+messenger.status.defaultIdleAwayMessage=Tiada di hadapan komputer.
diff --git a/chat/twitter.properties b/chat/twitter.properties
new file mode 100644
index 00000000000..f65697f83ef
--- /dev/null
+++ b/chat/twitter.properties
@@ -0,0 +1,120 @@
+# 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 (twitter.protocolName)
+# This name is used whenever the name of the protocol is shown.
+twitter.protocolName=Twitter
+
+# LOCALIZATION NOTE (error.*):
+# These are errors that will be shown to the user in conversation.
+error.tooLong=Status melebihi 140 aksara.
+# LOCALIZATION NOTE (error.general, error.retweet, error.delete):
+# %1$S will be either the error string returned by the twitter server,
+# in English, inside parenthesis, or the empty string if we have no specific
+# message for the error.
+# %2$S is the message that caused the error.
+error.general=Ada ralat %1$S semasa menghantar: %2$S
+error.retweet=Ada ralat %1$S semasa menghantar semula tweet: %2$S
+error.delete=Ada ralat %1$S semasa menghapuskan: %2$S
+error.like=Ada ralat %1$S semasa menggemari: %2$S
+error.unlike=Ada ralat %1$S semasa tidak-menggemari: %2$S
+# LOCALIZATION NOTE (error.descriptionTooLong)
+# %S is the truncated string that was sent to the server.
+error.descriptionTooLong=Keterangan melebihi panjang maksimum (160 aksara), secara automatik diringkaskan: %S.
+
+# LOCALIZATION NOTE (timeline):
+# This is the title of the conversation tab, %S will be replaced by
+# @.
+timeline=Garis masa %S
+
+# LOCALIZATION NOTE (action.*):
+# This will be an action in the context menu of displayed tweets.
+action.copyLink=Salin Pautan ke Tweet
+action.retweet=Tweet semula
+action.reply=Balas
+action.delete=Buang
+# LOCALIZATION NOTE (action.follow, action.stopFollowing):
+# %S will be replaced by the screen name of a twitter user.
+action.follow=Ikuti %S
+action.stopFollowing=Berhenti ikuti %S
+action.like=Gemar
+action.unlike=Buang Menggemari
+
+# LOCALIZATION NOTE (event.follow, event.unfollow, event.followed):
+# This will be displayed in system messages inside the timeline conversation.
+# %S will be replaced by the screen name of a twitter user.
+event.follow=Anda kini mengikuti %S.
+event.unfollow=Anda kini tidak lagi mengikuti %S.
+event.followed=%S kini mengikuti anda.
+# LOCALIZATION NOTE (event.deleted):
+# %S will be replaced by the text of the deleted tweet.
+event.deleted=Anda telah menghapuskan tweet ini: "%S".
+
+# LOCALIZATION NOTE (replyingToStatusText):
+# This will be visible in the status bar of the conversation window
+# while the user is typing a reply to a tweet.
+# %S will be replaced by the text of the tweet the user is replying to.
+replyingToStatusText=Membalas: %S
+
+# LOCALIZATION NOTE (connection.*):
+# These will be displayed in the account manager in order to show the progress
+# of the connection.
+# (These will be displayed in account.connection.progress from
+# accounts.properties, which adds ⦠at the end, so do not include
+# periods at the end of these messages.)
+connection.initAuth=Memulakan proses pengesahan
+connection.requestAuth=Menunggu pengesahan anda
+connection.requestAccess=Memuktamadkan pengesahan
+connection.requestTimelines=Meminta garis masa pengguna
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.userMismatch=Nama pengguna tidak sepadan.
+connection.error.failedToken=Gagal mendapatkan permintaan token.
+connection.error.authCancelled=Anda membatalkan proses pengesahan.
+connection.error.authFailed=Gagal mendapatkan pengesahan.
+connection.error.noNetwork=Tiada sambungan rangkaian tersedia.
+
+# LOCALIZATION NOTE (authPrompt):
+# This is the prompt in the browser window that pops up to authorize us
+# to use a Twitter account. It is shown in the title bar of the authorization
+# window.
+authPrompt=Beri izin untuk menggunakan akaun Twitter anda
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.track=Kata kunci dikesan
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the Twitter information that will appear in the tooltip
+# for each participant on the home timeline.
+# LOCALIZATION NOTE (tooltip.created_at): the date the user joined.
+tooltip.created_at=Pengguna Sejak
+tooltip.location=Lokasi
+tooltip.lang=Bahasa
+tooltip.time_zone=Zon masa
+tooltip.url=Laman
+# LOCALIZATION NOTE (tooltip.protected):
+# whether the user's tweets are publicly visible.
+tooltip.protected=Perlindungan Tweets
+# LOCALIZATION NOTE (tooltip.following):
+# whether you are subscribed to the user's tweets.
+tooltip.following=Sedang Mengikuti
+tooltip.name=Nama
+tooltip.description=Keterangan
+# LOCALIZATION NOTE (tooltip.*_count):
+# Please see the right side of the official Twitter website UI.
+tooltip.friends_count=Mengikuti
+tooltip.statuses_count=Tweets
+tooltip.followers_count=Pengikut
+tooltip.listed_count=Disenaraikan
+
+# LOCALIZATION NOTE (yes, no):
+# These are used to turn true/false values into a yes/no response.
+yes=Ya
+no=Tidak
+
+command.follow=%S <username>[ <username>]*: Mula mengikuti pengguna.
+command.unfollow=%S <username>[ <username>]*: Berhenti mengikuti pengguna.
diff --git a/chat/xmpp.properties b/chat/xmpp.properties
new file mode 100644
index 00000000000..3bc4958e1e9
--- /dev/null
+++ b/chat/xmpp.properties
@@ -0,0 +1,274 @@
+# 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 (connection.*)
+# These will be displayed in the account manager in order to show the progress
+# of the connection.
+# (These will be displayed in account.connection.progress from
+# accounts.properties, which adds ⦠at the end, so do not include
+# periods at the end of these messages.)
+connection.initializingStream=Memulakan penstriman
+connection.initializingEncryption=Memulakan enkripsi
+connection.authenticating=Mengesahkan
+connection.gettingResource=Mendapatkan sumber
+connection.downloadingRoster=Memuat turun senarai kenalan
+connection.srvLookup=Mencari rekod SRV
+
+# LOCALIZATION NOTE (connection.error.*)
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.invalidUsername=Nama pengguna tidak sah (nama pengguna perlu mengandungi satu aksara ' @')
+connection.error.failedToCreateASocket=Gagal mencipta soket (Anda di luar talian?)
+connection.error.serverClosedConnection=Pelayan menutup sambungan
+connection.error.resetByPeer=Sambungan semula oleh rakan
+connection.error.timedOut=Sambungan tamat masa
+connection.error.receivedUnexpectedData=Menerima data tidak dijangka
+connection.error.incorrectResponse=Menerima respons yang tidak betul
+connection.error.startTLSRequired=Pelayan memerlukan enkripsi tapi anda menyahdayakannya
+connection.error.startTLSNotSupported=Pelayan tidak menyokong enkripsi tapi konfigurasi anda memerlukannya
+connection.error.failedToStartTLS=Gagal memulakan enkripsi
+connection.error.noAuthMec=Tiada mekanisma pengesahan yang disediakan oleh pelayan
+connection.error.noCompatibleAuthMec=Tiada mekanisma pengesahan yang disediakan oleh pelayan ini yang disokong
+connection.error.notSendingPasswordInClear=Pelayan hanya menyokong pengesahan yang menghantar kata laluan dalam teks jelas
+connection.error.authenticationFailure=Gagal pengesahan
+connection.error.notAuthorized=Tiada autoriti (Anda masukkan kata laluan yang salah?)
+connection.error.failedToGetAResource=Gagal mendapatkan sumber
+connection.error.failedMaxResourceLimit=Akaun ini disambungkan daripada terlalu banyak tempat sekali gus.
+connection.error.failedResourceNotValid=Sumber tidak sah.
+connection.error.XMPPNotSupported=Pelayan ini tidak menyokong XMPP
+
+# LOCALIZATION NOTE (conversation.error.notDelivered):
+# This is displayed in a conversation as an error message when a message
+# the user has sent wasn't delivered.
+# %S is replaced by the text of the message that wasn't delivered.
+conversation.error.notDelivered=Mesej ini tidak dapat dihantar: %S
+# This is displayed in a conversation as an error message when joining a MUC
+# fails.
+# %S is the name of the MUC.
+conversation.error.joinFailed=Tidak dapat menyertai: %S
+# This is displayed in a conversation as an error message when the user is
+# banned from a room.
+# %S is the name of the MUC room.
+conversation.error.joinForbidden=Tidak dapat menyertai %S kerana anda disekat dalam bilik ini.
+conversation.error.joinFailedNotAuthorized=Perlu pendaftaran: anda tiada autoriti untuk menyertai bilik ini.
+conversation.error.creationFailedNotAllowed=Akses terhad: anda tidak dibenarkan mencipta bilik.
+# This is displayed in a conversation as an error message when remote server
+# is not found.
+# %S is the name of MUC room.
+conversation.error.joinFailedRemoteServerNotFound=Tidak boleh menyertai bilik %S kerana hos pelayan bilik ini tidak dapat dihubungi.
+conversation.error.changeTopicFailedNotAuthorized=Anda tiada autoriti untuk menetapkan topik dalam bilik ini.
+# This is displayed in a conversation as an error message when the user sends
+# a message to a room that he is not in.
+# %1$S is the name of MUC room.
+# %2$S is the text of the message that wasn't delivered.
+conversation.error.sendFailedAsNotInRoom=Mesej tidak dapat dihantar kepada %1$S kerana anda tidak lagi berada dalam bilik: %2$S
+# This is displayed in a conversation as an error message when the user sends
+# a message to a room that the recipient is not in.
+# %1$S is the jid of the recipient.
+# %2$S is the text of the message that wasn't delivered.
+conversation.error.sendFailedAsRecipientNotInRoom=Mesej tidak dapat dihantar kepada %1$S kerana penerrima tidak lagi berada dalam bilik: %2$S
+# These are displayed in a conversation as a system error message.
+conversation.error.remoteServerNotFound=Tidak dapat menghubungi pelayan penerima.
+conversation.error.unknownSendError=Ada ralat yang tidak diketahui semasa menghantar mesej ini.
+# %S is the name of the message recipient.
+conversation.error.sendServiceUnavailable=Tidak boleh menghantar mesej kepada %S buat masa ini.
+# %S is the nick of participant that is not in room.
+conversation.error.nickNotInRoom=%S tiada dalam bilik.
+conversation.error.banCommandAnonymousRoom=Anda tidak boleh sekat peserta dari bilik anonimus. Cuba /kick sahaja.
+conversation.error.banKickCommandNotAllowed=Anda tidak ada keistimewaan yang diperlukan untuk menyingkirkan peserta ini daripada bilik.
+conversation.error.banKickCommandConflict=Maaf, anda tidak boleh singkirkan diri sendiri daripada bilik.
+conversation.error.changeNickFailedConflict=Tidak dapat menukar gelaran anda kepada %S kerana sudah digunakan.
+conversation.error.changeNickFailedNotAcceptable=Tidak dapat menukar gelaran anda kepada %S kerana sudah dikuncikan dalam bilik ini.
+conversation.error.inviteFailedForbidden=Anda tidak ada keistimewaan yang diperlukan untuk menjemput pengguna menyertai bilik ini.
+# %S is the jid of user that is invited.
+conversation.error.failedJIDNotFound=Tidak dapat menghubungi: %S.
+# %S is the jid that is invalid.
+conversation.error.invalidJID=%S adalah jid yang tidak sah (pengenal Jabber hendaklah dalam bentuk user@domain).
+conversation.error.commandFailedNotInRoom=Anda perlu sertai semula bilik untuk boleh menggunakan arahan ini.
+# %S is the name of the recipient.
+conversation.error.resourceNotAvailable=Anda perlu hubungi dahulu kerana %S mungkin disambungkan kepada lebih daripada satu klien.
+
+# LOCALIZATION NOTE (conversation.error.version.*):
+# %S is the name of the recipient.
+conversation.error.version.unknown=Klien %S tidak menyokong pertanyaan berkaitan versi perisian.
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the titles of lines of information that will appear in
+# the tooltip showing details about a contact or conversation.
+# LOCALIZATION NOTE (tooltip.status):
+# %S will be replaced by the XMPP resource identifier
+tooltip.status=Status (%S)
+tooltip.statusNoResource=Status
+tooltip.subscription=Langganan
+tooltip.fullName=Nama Penuh
+tooltip.nickname=Nama gelaran
+tooltip.email=E-mel
+tooltip.birthday=Tarikh lahir
+tooltip.userName=Nama pengguna
+tooltip.title=Gelaran
+tooltip.organization=Organisasi
+tooltip.locality=Lokaliti
+tooltip.country=Negara
+
+# LOCALIZATION NOTE (chatRoomField.*):
+# These are the name of fields displayed in the 'Join Chat' dialog
+# for XMPP accounts.
+# The _ character won't be displayed; it indicates the next
+# character of the string should be used as the access key for this
+# field.
+chatRoomField.room=_Bilik
+chatRoomField.server=_Pelayan
+chatRoomField.nick=_Gelaran
+chatRoomField.password=_Kata laluan
+
+# LOCALIZATION NOTE (conversation.muc.*):
+# These are displayed as a system message when a chatroom invitation is
+# received.
+# %1$S is the inviter.
+# %2$S is the room.
+# %3$S is the reason which is a message provided by the person sending the
+# invitation.
+conversation.muc.invitationWithReason2=%1$S telah menjemput anda menyertai %2$S: %3$S
+# %3$S is the password of the room.
+# %4$S is the reason which is a message provided by the person sending the
+# invitation.
+conversation.muc.invitationWithReason2.password=%1$S telah menjemput anda menyertai %2$S dengan kata laluan %3$S: %4$S
+conversation.muc.invitationWithoutReason=%1$S telah menjemput anda menyertai %2$S
+# %3$S is the password of the room.
+conversation.muc.invitationWithoutReason.password=%1$S telah menjemput anda menyertai %2$S dengan kata laluan %3$S
+
+# LOCALIZATION NOTE (conversation.muc.join):
+# This is displayed as a system message when a participant joins room.
+# %S is the nick of the participant.
+conversation.message.join=%S memasuki bilik.
+
+# LOCALIZATION NOTE (conversation.muc.rejoined):
+# This is displayed as a system message when a participant rejoins room after
+# parting it.
+conversation.message.rejoined=Anda telah kembali ke dalam bilik.
+
+# LOCALIZATION NOTE (conversation.message.parted.*):
+# These are displayed as a system message when a participant parts a room.
+# %S is the part message supplied by the user.
+conversation.message.parted.you=Anda telah meninggalkan bilik.
+conversation.message.parted.you.reason=Anda telah meninggalkan bilik: %S
+# %1$S is the participant that is leaving.
+# %2$S is the part message supplied by the participant.
+conversation.message.parted=%1$S telah meninggalkan bilik.
+conversation.message.parted.reason=%1$S telah meninggalkan bilik: %2$S
+
+# LOCALIZATION NOTE (conversation.message.invitationDeclined*):
+# %1$S is the invitee that declined the invitation.
+# %2$S is the decline message supplied by the invitee.
+conversation.message.invitationDeclined=%1$S telah menolak jemputan anda.
+conversation.message.invitationDeclined.reason=%1$S telah menolak jemputan anda: %2$S
+
+# LOCALIZATION NOTE (conversation.message.banned.*):
+# These are displayed as a system message when a participant is banned from
+# a room.
+# %1$S is the participant that is banned.
+# %2$S is the reason.
+# %3$S is the person who is banning.
+conversation.message.banned=%1$S telah disekat daripada bilik ini.
+conversation.message.banned.reason=%1$S telah disekat daripada bilik ini: %2$S
+# %1$S is the person who is banning.
+# %2$S is the participant that is banned.
+# %3$S is the reason.
+conversation.message.banned.actor=%1$S telah menyekat %2$S daripada bilik ini.
+conversation.message.banned.actor.reason=%1$S telah menyekat %2$S daripada bilik ini: %3$S
+conversation.message.banned.you=Anda telah disekat daripada bilik ini.
+# %1$S is the reason.
+conversation.message.banned.you.reason=Anda telah disekat daripada bilik ini: %1$S
+# %1$S is the person who is banning.
+# %2$S is the reason.
+conversation.message.banned.you.actor=%1$S telah menyekat anda daripada bilik ini.
+conversation.message.banned.you.actor.reason=%1$S telah menyekat anda daripada bilik ini: %2$S
+
+# LOCALIZATION NOTE (conversation.message.kicked.*):
+# These are displayed as a system message when a participant is kicked from
+# a room.
+# %1$S is the participant that is kicked.
+# %2$S is the reason.
+conversation.message.kicked=%1$S telah disingkirkan daripada bilik ini.
+conversation.message.kicked.reason=%1$S telah disingkirkan daripada bilik ini: %2$S
+# %1$S is the person who is kicking.
+# %2$S is the participant that is kicked.
+# %3$S is the reason.
+conversation.message.kicked.actor=%1$S telah menyingkirkan %2$S daripada bilik ini.
+conversation.message.kicked.actor.reason=%1$S telah menyingkirkan %2$S daripada bilik ini: %3$S
+conversation.message.kicked.you=Anda telah disingkirkan daripada bilik ini.
+# %1$S is the reason.
+conversation.message.kicked.you.reason=Anda telah disingkirkan daripada bilik ini: %1$S
+# %1$S is the person who is kicking.
+# %2$S is the reason.
+conversation.message.kicked.you.actor=%1$S telah menyingkirkan anda daripada bilik ini.
+conversation.message.kicked.you.actor.reason=%1$S telah menyingkirkan anda daripada bilik ini: %2$S
+
+# LOCALIZATION NOTE (conversation.message.removedNonMember.*):
+# These are displayed as a system message when a participant is removed from
+# a room because the room has been changed to members-only.
+# %1$S is the participant that is removed.
+# %2$S is the person who changed the room configuration.
+conversation.message.removedNonMember=%1$S telah disingkirkan daripada bilik kerana konfigurasinya telah diubah kepada anggota-sahaja.
+conversation.message.removedNonMember.actor=%1$S telah disingkirkan daripada bilik kerana %2$S telah mengubahnya kepada anggota-sahaja.
+conversation.message.removedNonMember.you=Anda telah disingkirkan daripada bilik kerana konfigurasinya telah diubah kepada anggota-sahaja.
+# %1$S is the person who changed the room configuration.
+conversation.message.removedNonMember.you.actor=Anda telah disingkirkan daripada bilik kerana %1$S telah mengubahnya kepada anggota-sahaja.
+
+# LOCALIZATION NOTE (conversation.message.MUCShutdown):
+# These are displayed as a system message when a participant is removed from
+# a room because of a system shutdown.
+conversation.message.mucShutdown=Anda telah disingkirkan daripada bilik kerana penutupan sistem.
+
+# LOCALIZATION NOTE (conversation.message.version*):
+# %1$S is the name of the user whose version was requested.
+# %2$S is the client name response from the client.
+# %3$S is the client version response from the client.
+# %4$S is the operating system(OS) response from the client.
+conversation.message.version=%1$S menggunakan "%2$S %3$S".
+conversation.message.versionWithOS=%1$S menggunakan "%2$S %3$S" dalam %4$S.
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.resource=Sumber
+options.priority=Prioriti
+options.connectionSecurity=Keselamatan sambungan
+options.connectionSecurity.requireEncryption=Perlu enkripsi
+options.connectionSecurity.opportunisticTLS=Guna enkripsi, jika tersedia
+options.connectionSecurity.allowUnencryptedAuth=Izinkan menghantar kata laluan tanpa enkripsi
+options.connectServer=Pelayan
+options.connectPort=Port
+options.domain=Domain
+
+# LOCALIZATION NOTE (*.protocolName)
+# This name is used whenever the name of the protocol is shown.
+gtalk.protocolName=Google Talk
+odnoklassniki.protocolName=Odnoklassniki
+
+# LOCALIZATION NOTE (gtalk.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Google Talk account.
+gtalk.usernameHint=alamat e-mel
+
+# LOCALIZATION NOTE (odnoklassniki.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Odnoklassniki account.
+odnoklassniki.usernameHint=ID Profil
+
+# LOCALZIATION NOTE (command.*):
+# These are the help messages for each command.
+command.join3=%S [<bilik>[@<pelayan>][/<nick>]] [<kata laluan>]: Sertai bilik, pilihan menyediakan pelayan yang berbeza, atau nama panggilan, atau kata laluan bilik.
+command.part2=%S [<message>]: Tinggalkan bilik semasa dengan mesej pilihan.
+command.topic=%S [<new topic>]: Tetapkan topik bilik ini.
+command.ban=%S <nick>[<message>]: Sekat seseorang daripada bilik. Anda hendaklah pentadbir bilik untuk melakukan ini.
+command.kick=%S <nick>[<message>]: Singkir seseorang daripada bilik. Anda hendaklah moderator bilik untuk melakukan ini.
+command.invite=%S <jid>[<message>]: Jemput pengguna menyertai bilik semasa dengan mesej pilihan.
+command.inviteto=%S <room jid>[<password>]: Jemput rakan perbualan anda menyertai bilik berserta kata laluan, jika perlu.
+command.me=%S <action to perform>: Melaksanakan tindakan.
+command.nick=%S <new nickname>: Tukar nama gelaran anda.
+command.msg=%S <nick> <message>: Hantar mesej peribadi kepada peserta dalam bilik.
+command.version=%S: Tanyakan maklumat berkaitan klien yang digunakan rakan perbualan anda.
diff --git a/chat/yahoo.properties b/chat/yahoo.properties
new file mode 100644
index 00000000000..4bc5431af1d
--- /dev/null
+++ b/chat/yahoo.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/.
+
+yahoo.disabled=Yahoo Messenger tidak lagi disokong kerana Yahoo menyahdayakan protokol legasi mereka.
diff --git a/devtools/client/VariablesView.dtd b/devtools/client/VariablesView.dtd
new file mode 100644
index 00000000000..319071fc1c1
--- /dev/null
+++ b/devtools/client/VariablesView.dtd
@@ -0,0 +1,12 @@
+
+
+
+
+
+
diff --git a/devtools/client/aboutdebugging.dtd b/devtools/client/aboutdebugging.dtd
new file mode 100644
index 00000000000..ec1f9b681b5
--- /dev/null
+++ b/devtools/client/aboutdebugging.dtd
@@ -0,0 +1,5 @@
+
+
+
diff --git a/devtools/client/aboutdebugging.properties b/devtools/client/aboutdebugging.properties
new file mode 100644
index 00000000000..8f2ccc892d7
--- /dev/null
+++ b/devtools/client/aboutdebugging.properties
@@ -0,0 +1,219 @@
+# 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 (debug):
+# This string is displayed as a label of the button that starts
+# debugging a service worker.
+debug = Nyahpepijat
+
+# LOCALIZATION NOTE (push):
+# This string is displayed as a label of the button that pushes a test payload
+# to a service worker.
+push = Tolak
+
+# LOCALIZATION NOTE (start):
+# This string is displayed as a label of the button that starts a service worker.
+start = Mula
+
+scope = Skop
+unregister = nyahdaftar
+
+pushService = Push Service
+
+# LOCALIZATION NOTE (fetch):
+# Fetch is an event type and should not be translated.
+fetch = Fetch
+
+# LOCALIZATION NOTE (listeningForFetchEvents):
+# This is used to display the state of the SW in regard to fetch events.
+listeningForFetchEvents = Listening for fetch events.
+
+# LOCALIZATION NOTE (notListeningForFetchEvents):
+# This is used to display the state of the SW in regard to fetch events.
+notListeningForFetchEvents = Not listening for fetch events.
+
+# LOCALIZATION NOTE (addons):
+# This string is displayed as a header of the about:debugging#addons page.
+addons = Add-ons
+
+# LOCALIZATION NOTE (addonDebugging.label):
+# This string is displayed next to a check box that enables the user to switch
+# addon debugging on/off.
+addonDebugging.label = Dayakan nyahpepijat add-on
+
+# LOCALIZATION NOTE (addonDebugging.tooltip):
+# This string is displayed in a tooltip that appears when hovering over a check
+# box that switches addon debugging on/off.
+addonDebugging.tooltip = Mengaktifkan pilihan ini akan membolehkan anda untuk menyahpepijat add-ons dan pelbagai bahagian lain pelayar chrome
+
+# LOCALIZATION NOTE (addonDebugging.learnMore):
+# This string is displayed as a link next to addonDebugging.label and leads the user to
+# the MDN documentation page for about:debugging.
+# (https://developer.mozilla.org/docs/Tools/about:debugging#Enabling_add-on_debugging)
+addonDebugging.learnMore = Ketahui selanjutnya
+
+# LOCALIZATION NOTE (loadTemporaryAddon):
+# This string is displayed as a label of a button that allows the user to
+# load additional add-ons.
+loadTemporaryAddon = Muatkan Add-on Sementara
+
+# LOCALIZATION NOTE (loadTemporaryAddon2):
+# This string is displayed as a label of a button that allows the user to
+# load additional add-ons.
+loadTemporaryAddon2 = Muatkan Add-on Sementaraâ¦
+
+# LOCALIZATION NOTE (addonInstallError):
+# This string is displayed when an error occurs while installing an addon.
+# %S will be replaced with the error message.
+addonInstallError = Ada ralat semasa pemasangan: %S
+
+# LOCALIZATION NOTE (retryTemporaryInstall):
+# This string is displayed as a label of a button that allows the user to
+# retry a failed installation of a temporary add-on.
+retryTemporaryInstall = Cuba lagi
+
+# LOCALIZATION NOTE (extensions):
+# This string is displayed as a header above the list of loaded add-ons.
+extensions = Ekstensi
+
+# LOCALIZATION NOTE (temporaryExtensions):
+# This string is displayed as a header above the list of temporarily loaded add-ons.
+temporaryExtensions = Sambungan Sementara
+
+# LOCALIZATION NOTE (systemExtensions):
+# This string is displayed as a header above the list of system add-ons.
+systemExtensions = Ekstensi Sistem
+
+# LOCALIZATION NOTE (internalUUID):
+# This string is displayed as a label for the internal UUID of an extension.
+# The UUID is generated for this profile on install.
+internalUUID = Dalaman UUID
+
+# LOCALIZATION NOTE (extensionID):
+# This string is displayed as a label for the ID of an extension. This is not the same as the internal UUID.
+extensionID = ID Ekstensi
+
+# LOCALIZATION NOTE (manifestURL):
+# This string is displayed as a link for the manifest of an extension,
+# accessible in a browser, such as moz-extension://[internalUUID]/manifest.json.
+manifestURL = Manifest URL
+
+# LOCALIZATION NOTE (webExtTip):
+# This string is displayed as a message below the list of temporarily loaded add-ons.
+# Web-ext is a command line tool for web-extensions developers.
+# See https://developer.mozilla.org/Add-ons/WebExtensions/Getting_started_with_web-ext
+webExtTip = Anda boleh gunakan web-ext untuk memuatkan WebExtensions sementara dari baris perintah.
+
+# LOCALIZATION NOTE (webExtTip.learnMore):
+# This string is displayed as a link next to webExtTip and leads the user to the MDN
+# documentation page for web-ext.
+# (https://developer.mozilla.org/Add-ons/WebExtensions/Getting_started_with_web-ext)
+webExtTip.learnMore = Ketahui selanjutnya
+
+# LOCALIZATION NOTE (temporaryID):
+# This string is displayed as a message about the add-on having a temporaryID.
+temporaryID = WebExtension mempunyai ID sementara.
+
+# LOCALIZATION NOTE (temporaryID.learnMore):
+# This string is displayed as a link next to the temporaryID message and leads
+# the user to MDN.
+temporaryID.learnMore = Ketahui selanjutnya
+
+# LOCALIZATION NOTE (legacyExtensionWarning):
+# This string is displayed as a warning message when loading a temporary legacy extension.
+legacyExtensionWarning = Ini ekstensi legasi, sila ambil perhatian bahawa ekstensi ini tidak lagi disokong. Sila baca dokumentasi pautan dan teruskan dengan berhati-hati.
+
+# LOCALIZATION NOTE (legacyExtensionWarning.learnMore):
+# This string is displayed as a link next to the legacyExtensionWarning message and leads
+# the user to https://wiki.mozilla.org/Add-ons/Future_of_Bootstrap.
+legacyExtensionWarning.learnMore = Ketahui selanjutnya
+
+# LOCALIZATION NOTE (selectAddonFromFile2):
+# This string is displayed as the title of the file picker that appears when
+# the user clicks the 'Load Temporary Add-on' button
+selectAddonFromFile2 = Pilih Fail atau Pakej Manifes (.xpi)
+
+# LOCALIZATION NOTE (reload):
+# This string is displayed as a label of the button that reloads a given addon.
+reload = Muat semula
+
+# LOCALIZATION NOTE (remove):
+# This string is displayed as a label of the button that will remove a given addon.
+remove = Buang
+
+# LOCALIZATION NOTE (location):
+# This string is displayed as a label for the filesystem location of an extension.
+location = Lokasi
+
+# LOCALIZATION NOTE (workers):
+# This string is displayed as a header of the about:debugging#workers page.
+workers = Workers
+
+serviceWorkers = Service Workers
+sharedWorkers = Shared Workers
+otherWorkers = Workers Lain
+
+# LOCALIZATION NOTE (running):
+# This string is displayed as the state of a service worker in RUNNING state.
+running = Berjalan
+
+# LOCALIZATION NOTE (stopped):
+# This string is displayed as the state of a service worker in STOPPED state.
+stopped = Dihentikan
+
+# LOCALIZATION NOTE (registering):
+# This string is displayed as the state of a service worker for which no service worker
+# registration could be found yet. Only active registrations are visible from
+# about:debugging, so such service workers are considered as registering.
+registering = Mendaftar
+
+# LOCALIZATION NOTE (tabs):
+# This string is displayed as a header of the about:debugging#tabs page.
+tabs = Tab
+
+# LOCALIZATION NOTE (pageNotFound):
+# This string is displayed as the main message at any error/invalid page.
+pageNotFound = Halaman tidak ditemui
+
+# LOCALIZATION NOTE (doesNotExist):
+# This string is displayed as an error message when navigating to an invalid page
+# %S will be replaced by the name of the page at run-time.
+doesNotExist = #%S tidak wujud!
+
+# LOCALIZATION NOTE (nothing):
+# This string is displayed when the list of workers is empty.
+nothing = Masih tiada.
+
+# LOCALIZATION NOTE (configurationIsNotCompatible.label):
+# This string is displayed in about:debugging#workers if the current configuration of the
+# browser is incompatible with service workers. More details at
+# https://developer.mozilla.org/en-US/docs/Tools/about%3Adebugging#Service_workers_not_compatible
+configurationIsNotCompatible.label = Konfigurasi pelayar anda tidak serasi dengan Service Workers.
+
+# LOCALIZATION NOTE (configurationIsNotCompatible.learnMore):
+# This string is displayed as a link next to configurationIsNotCompatible.label and leads
+# the user to the MDN documentation page for about:debugging, on the section explaining
+# why service workers might not be available.
+# (https://developer.mozilla.org/en-US/docs/Tools/about%3Adebugging#Service_workers_not_compatible)
+configurationIsNotCompatible.learnMore = Ketahui selanjutnya
+
+# LOCALIZATION NOTE (multiProcessWarningTitle):
+# This string is displayed as a warning message on top of the about:debugging#workers
+# page when multi-e10s is enabled
+multiProcessWarningTitle = Service Worker debugging is not compatible with multiple content processes at the moment.
+
+# LOCALIZATION NOTE (multiProcessWarningMessage2):
+# This string is displayed in the warning section for multi-e10s in
+# about:debugging#workers
+multiProcessWarningMessage2 = Ketetapan âdom.ipc.multiOptOutâ boleh diubahsuai untuk memaksa proses kandungan tunggal untuk versi terkini.
+
+# LOCALIZATION NOTE (multiProcessWarningUpdateLink2):
+# This string is the text content of a link in the warning section for multi-e10s in
+# about:debugging#workers. The link updates the pref and restarts the browser.
+multiProcessWarningUpdateLink2 = Tarik diri dari proses kandungan berganda
+
+# LOCALIZATION NOTE (multiProcessWarningConfirmUpdate2):
+# This string is displayed as a confirmation message when the user clicks on
+# the multiProcessWarningUpdateLink in about:debugging#workers
+multiProcessWarningConfirmUpdate2 = Tarik diri dari proses berganda?
diff --git a/devtools/client/accessibility.properties b/devtools/client/accessibility.properties
new file mode 100644
index 00000000000..3c0b641b27d
--- /dev/null
+++ b/devtools/client/accessibility.properties
@@ -0,0 +1,103 @@
+# 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 inside the Accessibility panel
+# which is available from the Web Developer sub-menu -> 'Accessibility'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (accessibility.role): A title text used for Accessibility
+# tree header column that represents accessible element role.
+accessibility.role=Peranan
+
+# LOCALIZATION NOTE (accessibility.name): A title text used for Accessibility
+# tree header column that represents accessible element name.
+accessibility.name=Nama
+
+# LOCALIZATION NOTE (accessibility.logo): A title text used for Accessibility
+# logo used on the accessibility panel landing page.
+accessibility.logo=Logo Aksesibiliti
+
+# LOCALIZATION NOTE (accessibility.properties): A title text used for header
+# for Accessibility details sidebar.
+accessibility.properties=Sifat
+
+# LOCALIZATION NOTE (accessibility.treeName): A title text used for
+# Accessibility tree (that represents accessible element name) container.
+accessibility.treeName=Pepohon Aksesibiliti
+
+# LOCALIZATION NOTE (accessibility.accessible.notAvailable): A title text
+# displayed when accessible sidebar panel does not have an accessible object to
+# display.
+accessibility.accessible.notAvailable=Tiada Maklumat Aksesibiliti
+
+# LOCALIZATION NOTE (accessibility.enable): A title text for Enable
+# accessibility button used to enable accessibility service.
+accessibility.enable=Aktifkan Ciri Aksesibiliti
+
+# LOCALIZATION NOTE (accessibility.enabling): A title text for Enable
+# accessibility button used when accessibility service is being enabled.
+accessibility.enabling=Mengaktifkan ciri aksesibilitiâ¦
+
+# LOCALIZATION NOTE (accessibility.disable): A title text for Disable
+# accessibility button used to disable accessibility service.
+accessibility.disable=Nyahaktifkan Ciri Aksesibiliti
+
+# LOCALIZATION NOTE (accessibility.disabling): A title text for Disable
+# accessibility button used when accessibility service is being
+# disabled.
+accessibility.disabling=Menyahaktifkan ciri aksesibilitiâ¦
+
+# LOCALIZATION NOTE (accessibility.pick): A title text for Picker button
+# button used to pick accessible objects from the page.
+accessibility.pick=Pilih objek yang boleh diakses dari halaman
+
+# LOCALIZATION NOTE (accessibility.disable.disabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can not
+# be disabled. It is the case when a user is using a 3rd party accessibility
+# tool such as screen reader.
+accessibility.disable.disabledTitle=Perkhidmatan aksesibiliti tidak boleh dinyahaktifkan. Digunakan di luar Alatan Pembangun.
+
+# LOCALIZATION NOTE (accessibility.disable.enabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can be
+# disabled.
+accessibility.disable.enabledTitle=Perkhidmatan aksesibiliti semua tab dan tetingkap akan dinyahaktifkan.
+
+# LOCALIZATION NOTE (accessibility.enable.disabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can not
+# be enabled.
+accessibility.enable.disabledTitle=Perkhidmatan aksesibiliti tidak boleh diaktifkan. Dinyahaktifkan melalui keutamaan privasi perkhidmatan aksesibiliti.
+
+# LOCALIZATION NOTE (accessibility.enable.enabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can be
+# enabled.
+accessibility.enable.enabledTitle=Perkhidmatan aksesibiliti semua tab dan tetingkap akan diaktifkan.
+
+# LOCALIZATION NOTE (accessibility.learnMore): A text that is used as is or as textual
+# description in places that link to accessibility inspector documentation.
+accessibility.learnMore=Ketahui selanjutnya
+
+# LOCALIZATION NOTE (accessibility.description.general): A title text used when
+# accessibility service description is provided before accessibility inspector
+# is enabled.
+accessibility.description.general=Ciri aksesibiliti dinyahaktifkan secara piawai kerana memberi kesan negatif kepada prestasi. Pertimbangkan untuk menyahaktifkan ciri aksesibiliti sebelum menggunakan panel Alatan Pembangun lain.
+
+# LOCALIZATION NOTE (accessibility.description.general.p1): A title text for the first
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.description.general.p1=Pemeriksa kebolehcapaian membolehkan anda memeriksa pokok akses halaman semasa, yang digunakan oleh pembaca skrin dan teknologi bantuan lain. %S
+
+# LOCALIZATION NOTE (accessibility.description.general.p2): A title text for the second
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled.
+accessibility.description.general.p2=Ciri kebolehcapaian boleh memberikan kesan kepada prestasi panel alatan pembangun lain dan perlu dinyahaktifkan apabila tidak digunakan.
+
+# LOCALIZATION NOTE (accessibility.description.oldVersion): A title text used
+# when accessibility service description is provided when a client is connected
+# to an older version of accessibility actor.
+accessibility.description.oldVersion=Anda telah disambungkan ke pelayan penyahpepijat yang terlalu usang. Untuk menggunakan panel Aksesibiliti, sila dapatkan sambungan ke pelayan penyahpepijat versi terbaru.
diff --git a/devtools/client/animationinspector.properties b/devtools/client/animationinspector.properties
new file mode 100644
index 00000000000..7ce17f286bd
--- /dev/null
+++ b/devtools/client/animationinspector.properties
@@ -0,0 +1,220 @@
+# 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 inside the Animation inspector
+# which is available as a sidebar panel in the Inspector.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (panel.invalidElementSelected):
+# This is the label shown in the panel when an invalid node is currently
+# selected in the inspector (i.e. a non-element node or a node that is not
+# animated).
+panel.invalidElementSelected=Tiada animasi dtemui untuk elemen semasa ini.
+
+# LOCALIZATION NOTE (panel.selectElement): This is the label shown in the panel
+# when an invalid node is currently selected in the inspector, to invite the
+# user to select a new node by clicking on the element-picker icon.
+panel.selectElement=Ambil elemen lain daripada halaman.
+
+# LOCALIZATION NOTE (panel.noAnimation):
+# This is the label shown in the panel when there are no displayable animations.
+# (e.g. In case of user selected a non-element node or a node that is not animated).
+panel.noAnimation=Tiada animasi ditemui untuk elemen semasa.\nPilih elemen lain dari dalam halaman.
+
+# LOCALIZATION NOTE (panel.allAnimations): This is the label shown at the bottom of
+# the panel, in a toolbar, to let the user know the toolbar applies to all
+# animations, not just the ones applying to the current element.
+panel.allAnimations=Kesemua animasi
+
+# LOCALIZATION NOTE (player.animationDurationLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation duration.
+player.animationDurationLabel=Tempoh:
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in a tooltip on animation player widget, in case the
+# duration of the animation is infinite.
+player.infiniteDurationText=â
+
+# LOCALIZATION NOTE (player.animationDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation delay.
+player.animationDelayLabel=Lengah:
+
+# LOCALIZATION NOTE (player.animationEndDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation endDelay.
+player.animationEndDelayLabel=Tamatkan lengah:
+
+# LOCALIZATION NOTE (player.animationRateLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation playback rate.
+player.animationRateLabel=Kadar main semula:
+
+# LOCALIZATION NOTE (player.animationIterationCountLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the number of times the animation is set to repeat.
+player.animationIterationCountLabel=Ulang semula:
+
+# LOCALIZATION NOTE (player.infiniteIterationCount):
+# In case the animation repeats infinitely, this string is displayed next to the
+# player.animationIterationCountLabel string, instead of a number.
+player.infiniteIterationCount=∞
+
+# LOCALIZATION NOTE (player.infiniteIterationCountText):
+# See player.infiniteIterationCount for a description of what this is.
+# Unlike player.infiniteIterationCount, this string isn't used in HTML, but in
+# a tooltip.
+player.infiniteIterationCountText=â
+
+# LOCALIZATION NOTE (player.animationIterationStartLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# iterationStart value.
+# %1$S will be replaced by the original iteration start value
+# %2$S will be replaced by the actual time of iteration start
+player.animationIterationStartLabel=Mulakan lelaran: %1$S (%2$Ss)
+
+# LOCALIZATION NOTE (player.animationIterationStartLabel2):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# iterationStart value.
+# %1$S will be replaced by the original iteration start value
+# %2$S will be replaced by the actual time of iteration start without time unit
+# e.g.
+# If iterationStart of animation is 0.5 and duration is 1 sec, the string will be
+# "Iteration start: 0.5 (0.5s)"
+player.animationIterationStartLabel2=Mula lelaran: %1$S (%2$S)
+
+# LOCALIZATION NOTE (player.animationOverallEasingLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the easing
+# that applies to a whole iteration of an animation as opposed to the
+# easing that applies between animation keyframes.
+player.animationOverallEasingLabel=Redaan keseluruhan:
+
+# LOCALIZATION NOTE (player.animationTimingFunctionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the
+# animation-timing-function for CSS Animations.
+player.animationTimingFunctionLabel=Fungsi pemasaan animasi:
+
+# LOCALIZATION NOTE (player.animationFillLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# fill mode value.
+player.animationFillLabel=Fill:
+
+# LOCALIZATION NOTE (player.animationDirectionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# direction value.
+player.animationDirectionLabel=Hala:
+
+# LOCALIZATION NOTE (player.timeLabel):
+# This string is displayed in each animation player widget, to indicate either
+# how long (in seconds) the animation lasts, or what is the animation's current
+# time (in seconds too);
+player.timeLabel=%Ss
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in animation player widget, in case the duration of the
+# animation is infinite.
+player.infiniteTimeLabel=â
+
+# LOCALIZATION NOTE (player.playbackRateLabel):
+# This string is displayed in each animation player widget, as the label of
+# drop-down list items that can be used to change the rate at which the
+# animation runs (1Ã being the default, 2Ã being twice as fast).
+player.playbackRateLabel=%SÃ
+
+# LOCALIZATION NOTE (player.runningOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that the
+# animation is running on the compositor thread.
+player.runningOnCompositorTooltip=Animasi sedang berjalan pada bebenang pengatur huruf
+
+# LOCALIZATION NOTE (player.allPropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is running on the compositor thread.
+player.allPropertiesOnCompositorTooltip=Semua sifat animasi dioptimumkan
+
+# LOCALIZATION NOTE (player.somePropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is not running on the compositor thread.
+player.somePropertiesOnCompositorTooltip=Sesetengah sifat animasi dioptimumkan
+
+# LOCALIZATION NOTE (timeline.rateSelectorTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# drop-down list that can be used to change the rate at which the animations
+# run.
+timeline.rateSelectorTooltip=Tetapkan kadar main semula animasi
+
+# LOCALIZATION NOTE (timeline.pausedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.pausedButtonTooltip=Sambung semula animasi
+
+# LOCALIZATION NOTE (timeline.resumedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.resumedButtonTooltip=Jedakan animasi
+
+# LOCALIZATION NOTE (timeline.rewindButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# rewind button that can be used to rewind the animations
+timeline.rewindButtonTooltip=Putar semula animasi
+
+# LOCALIZATION NOTE (timeline.timeGraduationLabel):
+# This string is displayed at the top of the animation panel, next to each time
+# graduation, to indicate what duration (in milliseconds) this graduation
+# corresponds to.
+timeline.timeGraduationLabel=%Sms
+
+# LOCALIZATION NOTE (timeline.cssanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.cssanimation.nameLabel=%S - Animasi CSS
+
+# LOCALIZATION NOTE (timeline.csstransition.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Transition in the timeline UI.
+# %S will be replaced by the name of the transition at run-time.
+timeline.csstransition.nameLabel=%S - CSS Transisi
+
+# LOCALIZATION NOTE (timeline.scriptanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a script-generated animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.scriptanimation.nameLabel=%S - Skrip Animasi
+
+# LOCALIZATION NOTE (timeline.scriptanimation.unnamedLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over an unnamed script-generated animation in the timeline UI.
+timeline.scriptanimation.unnamedLabel=Skrip Animasi
+
+# LOCALIZATION NOTE (timeline.unknown.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of an unknown animation type in the timeline UI.
+# This can happen if devtools couldn't figure out the type of the animation.
+# %S will be replaced by the name of the transition at run-time.
+timeline.unknown.nameLabel=%S
+
+# LOCALIZATION NOTE (detail.propertiesHeader.percentage):
+# This string is displayed on header label in .animated-properties-header.
+# %S represents the value in percentage with two decimal points, localized.
+# there are two "%" after %S to escape and display "%"
+detail.propertiesHeader.percentage=%S%%
+
+# LOCALIZATION NOTE (detail.headerTitle):
+# This string is displayed on header label in .animation-detail-header.
+detail.headerTitle=Sifat animasi untuk
+
+# LOCALIZATION NOTE (detail.header.closeLabel):
+# This string is displayed in a tooltip of close button for animated properties
+detail.header.closeLabel=Tutup panel sifat animasi
diff --git a/devtools/client/app-manager.properties b/devtools/client/app-manager.properties
new file mode 100644
index 00000000000..45a9ad75829
--- /dev/null
+++ b/devtools/client/app-manager.properties
@@ -0,0 +1,29 @@
+# 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/.
+
+validator.nonExistingFolder=Fail projek tidak wujud
+validator.expectProjectFolder=Fail projek berakhir menjadi fail
+validator.noManifestFile=Fail manifes diperlukan pada folder root projek, dinamakan samada âmanifest.webappâ untuk pakej aplikasi atau âmanifest.jsonâ untuk add-ons.
+validator.invalidManifestURL=Manifest URL tidak sah '%S'
+# LOCALIZATION NOTE (validator.invalidManifestJSON, validator.noAccessManifestURL):
+# %1$S is the error message, %2$S is the URI of the manifest.
+validator.invalidManifestJSON=Webapp manifest ini adalah JSON file tidak sah: %1$S at: %2$S
+validator.noAccessManifestURL=Tidak dapat membaca fail manifest: %1$S pada: %2$S
+# LOCALIZATION NOTE (validator.invalidHostedManifestURL): %1$S is the URI of
+# the manifest, %2$S is the error message.
+validator.invalidHostedManifestURL=URL manifes yang dihoskan tidak sah '%1$S': %2$S
+validator.invalidProjectType=Jenis projek yang tidak diketahui '%S'
+# LOCALIZATION NOTE (validator.missNameManifestProperty, validator.missIconsManifestProperty):
+# don't translate 'icons' and 'name'.
+validator.missNameManifestProperty=Kehilangan mandatori 'name' dalam Manifes.
+validator.missIconsManifestProperty=Kehilangan 'icons' dalam Manifes.
+validator.missIconMarketplace2=penyerahan apl ke Marketplace memerlukan ikon128px
+validator.invalidAppType=Jenis app yang tidak diketahui: '%S'.
+validator.invalidHostedPriviledges=Aplikasi yang dihoskan tidak boleh jenis '%S'.
+validator.noCertifiedSupport=aplikasi 'disahkan' tidak disokong sepenuhnya pada pengurus App.
+validator.nonAbsoluteLaunchPath=Laluan pelancaran mestilah laluan sebenar yang dimulakan dengan '/': '%S'
+validator.accessFailedLaunchPath=Tidak dapat mencapai app memulakan dokumen '%S'
+# LOCALIZATION NOTE (validator.accessFailedLaunchPathBadHttpCode): %1$S is the URI of
+# the launch document, %2$S is the http error code.
+validator.accessFailedLaunchPathBadHttpCode=Tidak dapat mengakses aplikasi pada permulaan dokumen '%1$S', terdapat kod HTTP %2$S
diff --git a/devtools/client/application.ftl b/devtools/client/application.ftl
new file mode 100644
index 00000000000..ebae40c9ab6
--- /dev/null
+++ b/devtools/client/application.ftl
@@ -0,0 +1,63 @@
+# 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 inside the Application panel which is available
+### by setting the preference `devtools-application-enabled` to true.
+
+
+### The correct localization of this file might be to keep it in English, or another
+### language commonly spoken among web developers. You want to make that choice consistent
+### across the developer tools. A good criteria is the language in which you'd find the
+### best documentation on web development on the web.
+
+# Header for the list of Service Workers displayed in the application panel for the current page.
+serviceworker-list-header = Service Workers
+# Text displayed next to the list of Service Workers to encourage users to check out
+# about:debugging to see all registered Service Workers.
+serviceworker-list-aboutdebugging = Buka about:debugging untuk Service Workers daripada domain lain
+# Text for the button to unregister a Service Worker. Displayed for active Service Workers.
+serviceworker-worker-unregister = Nyahdaftar
+# Text for the debug link displayed for an already started Service Worker. Clicking on the
+# link opens a new devtools toolbox for this service worker. The title attribute is only
+# displayed when the link is disabled.
+serviceworker-worker-debug = Nyahpepijat
+ .title = Hanya service workers semasa boleh dinyahpepijat
+# Text for the start link displayed for a registered but not running Service Worker.
+# Clicking on the link will attempt to start the service worker.
+serviceworker-worker-start = Mula
+# Text displayed for the updated time of the service worker. The